Ich habe gerade heute Morgen in mein RAID-Array eingecheckt und habe Folgendes erhalten:
$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdc7[0]
238340224 blocks [2/1] [U_]
md0 : active raid1 sdc6[0]
244139648 blocks [2/1] [U_]
md127 : active raid1 sdc3[0]
390628416 blocks [2/1] [U_]
unused devices: <none>
$
Was meiner Meinung nach bedeutet, dass eine Festplatte meines Arrays tot ist, stimmt das?
Wie mache ich in Zukunft die richtige Fehlerbehebung? Mein /etc/mdadm/mdadm.conf
sieht aus wie:
$ cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
ARRAY /dev/md127 UUID=124cd4a5:2965955f:cd707cc0:bc3f8165
ARRAY /dev/md0 UUID=91e560f1:4e51d8eb:cd707cc0:bc3f8165
ARRAY /dev/md1 UUID=0abe503f:401d8d09:cd707cc0:bc3f8165
Wie finde ich heraus, welches physische Laufwerk defekt ist und ersetzt werden muss?
Vielen Dank
EDIT1
# mdadm --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Tue Sep 1 19:15:33 2009
Raid Level : raid1
Array Size : 244139648 (232.83 GiB 250.00 GB)
Used Dev Size : 244139648 (232.83 GiB 250.00 GB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Sep 21 07:11:24 2015
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
UUID : 91e560f1:4e51d8eb:cd707cc0:bc3f8165
Events : 0.76017
Number Major Minor RaidDevice State
0 8 38 0 active sync /dev/sdc6
1 0 0 1 removed
root@regDesktopHome:~#
Warum sollte es sagen Failed Devices : 0
?
EDIT2
Eröffnung Gparted, ich kann mir beide ansehen, /dev/sdb
und /dev/sdc
das waren meine beiden RAID
Laufwerke. Mdadm glaubt /dev.sdb
jedoch, aus irgendeinem Grund entfernt worden zu sein ... das ist seltsam. Ich habe versucht, eine Partition auf `` / dev / sdb` zu mounten und habe Folgendes erhalten
$sudo mount /dev/sdb7 test
[sudo] password for ron:
mount: unknown filesystem type 'linux_raid_member'
das sieht alles richtig aus. Wie kann ich mein RAID-Array wieder in Ordnung bringen?
BEARBEITEN 3
Ich bin gelaufen smartctl -a /dev/sdc
und smartctl -a /dev/sdb
habe es auch getan badblocks /dev/sdc
und badblocks /dev/sdb
obwohl sdc
es 100% sauber zu sein scheint , habe ich sdb
einige schlechte Blöcke zurückgegeben:
# badblocks /dev/sdb
16130668
16130669
16130670
16130671
Wäre das möglicherweise die Ursache für den Fehler, den ich sehe? Gibt es eine Möglichkeit, diese fehlerhaften Blöcke zu reparieren / zu ignorieren, oder sollte ich stattdessen das Laufwerk ersetzen?
BEARBEITEN 4
# smartctl --all /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-62-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.12
Device Model: ST31000528AS
Serial Number: 6VP0308B
LU WWN Device Id: 5 000c50 013d3ae45
Firmware Version: CC34
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 2.6, 3.0 Gb/s
Local Time is: Sat Sep 26 11:35:02 2015 PDT
==> WARNING: A firmware update for this drive may be available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/213891en
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 600) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 195) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 114 099 006 Pre-fail Always - 78420742
3 Spin_Up_Time 0x0003 095 095 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 099 099 020 Old_age Always - 1240
5 Reallocated_Sector_Ct 0x0033 099 099 036 Pre-fail Always - 60
7 Seek_Error_Rate 0x000f 082 060 030 Pre-fail Always - 199357441
9 Power_On_Hours 0x0032 052 052 000 Old_age Always - 42401
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 099 037 020 Old_age Always - 1240
183 Runtime_Bad_Block 0x0000 098 098 000 Old_age Offline - 2
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 094 094 000 Old_age Always - 6
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 050 050 000 Old_age Always - 50
190 Airflow_Temperature_Cel 0x0022 062 046 045 Old_age Always - 38 (Min/Max 30/38)
194 Temperature_Celsius 0x0022 038 054 000 Old_age Always - 38 (0 17 0 0 0)
195 Hardware_ECC_Recovered 0x001a 030 012 000 Old_age Always - 78420742
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 1
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 73332271657814
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 2822963046
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 2361465529
SMART Error Log Version: 1
ATA Error Count: 6 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 6 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 d9 44 ec 01 Error: UNC at LBA = 0x01ec44d9 = 32261337
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 08 d8 44 ec 41 00 09:26:28.967 READ FPDMA QUEUED
27 00 00 00 00 00 e0 00 09:26:28.941 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 00 09:26:28.940 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 09:26:28.928 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 09:26:28.901 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
Error 5 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 d9 44 ec 01 Error: UNC at LBA = 0x01ec44d9 = 32261337
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 08 d8 44 ec 41 00 09:26:26.095 READ FPDMA QUEUED
27 00 00 00 00 00 e0 00 09:26:26.069 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 00 09:26:26.068 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 09:26:26.055 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 09:26:26.029 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
Error 4 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 d9 44 ec 01 Error: UNC at LBA = 0x01ec44d9 = 32261337
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 08 d8 44 ec 41 00 09:26:23.222 READ FPDMA QUEUED
27 00 00 00 00 00 e0 00 09:26:23.195 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 00 09:26:23.194 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 09:26:23.182 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 09:26:23.137 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
Error 3 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 d9 44 ec 01 Error: UNC at LBA = 0x01ec44d9 = 32261337
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 08 d8 44 ec 41 00 09:26:20.351 READ FPDMA QUEUED
60 00 80 e8 44 ec 41 00 09:26:20.350 READ FPDMA QUEUED
27 00 00 00 00 00 e0 00 09:26:20.324 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 00 09:26:20.323 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 09:26:20.311 SET FEATURES [Set transfer mode]
Error 2 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 d9 44 ec 01 Error: UNC at LBA = 0x01ec44d9 = 32261337
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 80 e8 44 ec 41 00 09:26:17.478 READ FPDMA QUEUED
60 00 40 a8 44 ec 41 00 09:26:17.478 READ FPDMA QUEUED
60 00 20 88 44 ec 41 00 09:26:17.476 READ FPDMA QUEUED
60 00 08 80 44 ec 41 00 09:26:17.453 READ FPDMA QUEUED
27 00 00 00 00 00 e0 00 09:26:17.427 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
#
BEARBEITEN 5
Mir wurde klar, dass nach dem Ausstecken jetzt der /dev/sdb
vorherige /dev/sdc
ist /dev/sdb
. Ich habe damit bestätigt, smartctl -a /dev/sdb
dass sich die Seriennummer nach dem Booten mit der fehlerhaften Festplatte geändert hat. Ich habe Pech und das Laufwerk hat keine Garantie mehr , daher besorge ich mir ein neues Ersatzlaufwerk.
mdadm --manage ... --add ...
, was Halfgaar vorgeschlagen hat?Antworten:
Da das defekte Laufwerk (mit F gekennzeichnet) in der Ausgabe von
cat /proc/mdstat
nicht angezeigt wird, haben Sie den Server gestartet, seit das Array beeinträchtigt wurde.Informationen erhalten Sie mit
mdadm --detail /dev/md0
. Das wird Ihnen wahrscheinlich sagen, welches andere Laufwerk darin sein sollte.So antworten Sie auf Ihre Bearbeitung:
Ich würde
/dev/sdb
zuerst analysieren . Verwenden Siesmartctl -a
diese Option , um (insbesondere) die Anzahl der neu zugewiesenen Sektoren und das Fehlerprotokoll zu überprüfen. Machen Sie einen Selbsttest mitsmartctl -t long /dev/sdb
. Verwendungbadblocks
usw.Dann:
/dev/sdb
, kopieren Sie die Partitionstabelle von/dev/sdc
. Wenn sie nicht GPT sind, können Sie verwendensfdisk -d /dev/sdc | sfdisk /dev/sdb
. Wenn es sich um GPT handelt, können Siegdisk
die Partitionstabelle in einer Datei speichern und dann laden. Es ist unter erweiterten Funktionen versteckt./dev/sdb
möchten, möchten Sie möglicherweisemdadm --zero-superblock
auf allen vorhandenen Partitionen ausgeführt werden.mdadm --manage /dev/md0 --add /dev/sdb6
und das gleiche fürmd1
undsdb7
Es ist unnötig zu erwähnen, dass einige Befehle Ihre Daten löschen, wenn Sie Ihre Laufwerke verwechseln. Also, sei sicher was ist
sdc
undsdb
...Bearbeiten: Über fehlerhafte Blöcke: Wenn ein Tool auf Software-Ebene fehlerhafte Blöcke erkennt, ist das Laufwerk kaputt. Normalerweise verbergen Festplatten sie, indem sie sie beim Schreiben transparent neu zuweisen. Google für "Neuzuweisung des Festplattensektors". Ihre
smartctl -a
Ausgabe sollte neu zugewiesene Sektoren für anzeigensdb
. Also ja, Ihrsdb
wurde aus dem Array geworfen und Sie müssen es ersetzen.Bearbeiten: über die
smartctl -a
Ausgabe. Es gibt zwei Dinge, die von vorrangiger Bedeutung sind:smartd
, dass es für Sie überwacht wird.Power on hours
. Es gibt harmlose Dinge, die zu SMART-Fehlerprotokolleinträgen führen können, z. B. falsche ATA-Befehle. In diesem Fall ist es jedoch wahrscheinlich, dass sie zusammenhängen, da Sie ein verschlechtertes Array haben.Um festzustellen, welche Festplatte sich in Ihrem System befindet; Zum Beispiel
dmesg |grep -i sdb
wird es helfen. Sie haben wahrscheinlich drei Festplatten in Ihrem System undsdb
diejenige auf Ihrem zweiten SATA-Controller, die je nach Null- oder Eins-Basis als 1 oder 2 bezeichnet werden kann.Da Sie wahrscheinlich von booten
sda
, können Siesdb
die oben beschriebenen Vorgänge einfach ersetzen und ausführen. Wenn Ihr Boot-Laufwerk defekt ist, hoffen Sie, dass Sie:Neulich wollte ein Dell-Server nicht von
sdb
einem Leerzeichen ausgehensda
. Das hat einige Überzeugungs- und Improvisationsarbeiten gekostet.Manchmal müssen Sie Namen wie
ata1.01
echte Gerätenamen übersetzen. Zum Beispiel führen fehlerhafte Datenträger zu Kernelfehlern, die "ATA-Ausnahme auf ata1.01" oder entsprechende Wörter sagen. Lesen Sie dazu diese Antwort . (Ich habe unser zentrales Protokollierungssystem so konfiguriert, dass ich vor diesen Kernelfehlern gewarnt werde, da diese ein zuverlässiger Hinweis auf einen ausstehenden Festplattenfehler sind.)quelle
smartctl
Ausgabe zu geben .--add