Zakupiłem 6 dysków WD Caviar Green do serwera w celu powiększenia przestrzeni backupowej. 4 mają pracować w software'owej macierzy RAID5 (linuksowy mdadm).
Po podłączeniu spartycjonowałem 4 dyski i zacząłem budowanie macierzy:
Niestety, macierz się nie zbudowała - pierwszy dysk został wyłączony i oznaczony jako uszkodzony. Uruchomiłem więc kilkakrotnie:
We wszystkich próbach testy zakończyły się błędem odczytu i wskazaniem tego samego numeru sektora LBA_of_first_error.
Odłączyłem więc uszkodzony dysk i podłączyłem w jego miejsce piąty. Skutek był ten sam, z tym że tym razem padł dysk w innym gnieździe (stąd wnioskuję, że to nie wina gniazda/kabla). Oto co mówi o nim SMART:
Zmartwiony awaryjnością tych dysków uruchomiłem pełny test SMART na wszystkich i jeszcze jeden został przez zdiagnozowany jako uszkodzony - uaktywnił się ten sam błąd.
W sumie więc połowa kupionych dysków jest uszkodzona. Czy to możliwe? A może da się ten błąd software'owo naprawić? Dodam, że serwer nie sprawiał dotąd żadnych problemów, zasilacz to redundantny CHIEFTEC 2*500W zasilany z aktywnego UPS-a. Ze wskazań UPS-a wynika, że cały serwer pobiera nie więcej niż 250W, więc zapas mocy powinien być spory. Budowałem też analogiczną macierz, chyba nawet na tych samych dyskach, i pracuje poprawnie na innym serwerze.
Dodam jeszcze log z kernela:
Co ciekawe
odczytuje poprawnie same zera z sektorów zarówno oznaczonych jako błędne przez SMART jak i przez kernel.
Po podłączeniu spartycjonowałem 4 dyski i zacząłem budowanie macierzy:
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1Niestety, macierz się nie zbudowała - pierwszy dysk został wyłączony i oznaczony jako uszkodzony. Uruchomiłem więc kilkakrotnie:
smartctl -t conveyance /dev/sdb
smartctl -t short /dev/sdbWe wszystkich próbach testy zakończyły się błędem odczytu i wskazaniem tego samego numeru sektora LBA_of_first_error.
Odłączyłem więc uszkodzony dysk i podłączyłem w jego miejsce piąty. Skutek był ten sam, z tym że tym razem padł dysk w innym gnieździe (stąd wnioskuję, że to nie wina gniazda/kabla). Oto co mówi o nim SMART:
# smartctl -a /dev/sdd
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: WDC WD30EZRX-00MMMB0
Serial Number: WD-WCAWZ2910393
Firmware Version: 80.00A80
User Capacity: 3,000,592,982,016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Thu Jan 10 21:14:23 2013 CET
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: (0x80) Offline data collection activity
was never started.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 121) The previous self-test completed having
the read element of the test failed.
Total time to complete Offline
data collection: (51000) 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: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 255) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x3035) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 253 157 021 Pre-fail Always - 4258
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 17
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 219
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 17
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 14
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 105
194 Temperature_Celsius 0x0022 124 120 000 Old_age Always - 28
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 193 1189794616
# 2 Short offline Completed: read failure 90% 193 1189794616
# 3 Conveyance offline Completed without error 00% 173 -
# 4 Conveyance offline Completed without error 00% 172 -
# 5 Short offline Completed without error 00% 172 -
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.Zmartwiony awaryjnością tych dysków uruchomiłem pełny test SMART na wszystkich i jeszcze jeden został przez zdiagnozowany jako uszkodzony - uaktywnił się ten sam błąd.
W sumie więc połowa kupionych dysków jest uszkodzona. Czy to możliwe? A może da się ten błąd software'owo naprawić? Dodam, że serwer nie sprawiał dotąd żadnych problemów, zasilacz to redundantny CHIEFTEC 2*500W zasilany z aktywnego UPS-a. Ze wskazań UPS-a wynika, że cały serwer pobiera nie więcej niż 250W, więc zapas mocy powinien być spory. Budowałem też analogiczną macierz, chyba nawet na tych samych dyskach, i pracuje poprawnie na innym serwerze.
Dodam jeszcze log z kernela:
3106 Jan 9 09:47:13 server_name kernel: [40136.073019] ata3.00: configured for UDMA/133
3107 Jan 9 09:47:13 server_name kernel: [40136.073088] ata3: EH complete
3108 Jan 9 09:47:16 server_name kernel: [40138.927324] ata3.00: configured for UDMA/133
3109 Jan 9 09:47:16 server_name kernel: [40138.927394] ata3: EH complete
3110 Jan 9 09:47:19 server_name kernel: [40141.789630] ata3.00: configured for UDMA/133
3111 Jan 9 09:47:19 server_name kernel: [40141.789702] ata3: EH complete
3112 Jan 9 09:47:22 server_name kernel: [40144.656542] ata3.00: configured for UDMA/133
3113 Jan 9 09:47:22 server_name kernel: [40144.656606] ata3: EH complete
3114 Jan 9 09:47:25 server_name kernel: [40147.523263] ata3.00: configured for UDMA/133
3115 Jan 9 09:47:25 server_name kernel: [40147.523332] ata3: EH complete
3116 Jan 9 09:47:28 server_name kernel: [40150.388490] ata3.00: configured for UDMA/133
3117 Jan 9 09:47:28 server_name kernel: [40150.388555] sd 3:0:0:0: [sdd] Unhandled sense code
3118 Jan 9 09:47:28 server_name kernel: [40150.388617] sd 3:0:0:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
3119 Jan 9 09:47:28 server_name kernel: [40150.388674] sd 3:0:0:0: [sdd] Sense Key : Medium Error [current] [descriptor]
3120 Jan 9 09:47:28 server_name kernel: [40150.388739] Descriptor sense data with sense descriptors (in hex):
3121 Jan 9 09:47:28 server_name kernel: [40150.388792] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 01
3122 Jan 9 09:47:28 server_name kernel: [40150.388907] 46 ea d3 38
3123 Jan 9 09:47:28 server_name kernel: [40150.388963] sd 3:0:0:0: [sdd] Add. Sense: Unrecovered read error - auto reallocate failed
3124 Jan 9 09:47:28 server_name kernel: [40150.389051] sd 3:0:0:0: [sdd] CDB: Read(16): 88 00 00 00 00 01 46 ea d3 10 00 00 00 f0 00 00
3125 Jan 9 09:47:28 server_name kernel: [40150.389242] raid5:md0: read error not correctable (sector 5484759864 on sdd1).
3126 Jan 9 09:47:28 server_name kernel: [40150.389420] raid5:md0: read error not correctable (sector 5484759872 on sdd1).
3127 Jan 9 09:47:28 server_name kernel: [40150.389502] raid5:md0: read error not correctable (sector 5484759880 on sdd1).
3128 Jan 9 09:47:28 server_name kernel: [40150.389584] raid5:md0: read error not correctable (sector 5484759888 on sdd1).
3129 Jan 9 09:47:28 server_name kernel: [40150.389667] raid5:md0: read error not correctable (sector 5484759896 on sdd1).
3130 Jan 9 09:47:28 server_name kernel: [40150.389750] raid5:md0: read error not correctable (sector 5484759904 on sdd1).
3131 Jan 9 09:47:28 server_name kernel: [40150.389843] raid5:md0: read error not correctable (sector 5484759912 on sdd1).
3132 Jan 9 09:47:28 server_name kernel: [40150.389930] raid5:md0: read error not correctable (sector 5484759920 on sdd1).
3133 Jan 9 09:47:28 server_name kernel: [40150.390017] raid5:md0: read error not correctable (sector 5484759928 on sdd1).
3134 Jan 9 09:47:28 server_name kernel: [40150.390103] raid5:md0: read error not correctable (sector 5484759936 on sdd1).
3135 Jan 9 09:47:28 server_name kernel: [40150.390194] ata3: EH complete
3136 Jan 9 09:47:28 server_name kernel: [40150.834062] md: md0: recovery done.
3137 Jan 9 09:47:28 server_name kernel: [40150.919421] RAID5 conf printout:
3138 Jan 9 09:47:28 server_name kernel: [40150.919504] --- rd:4 wd:2
3139 Jan 9 09:47:28 server_name kernel: [40150.919544] disk 0, o:1, dev:sdb1
3140 Jan 9 09:47:28 server_name kernel: [40150.919586] disk 1, o:1, dev:sdc1
3141 Jan 9 09:47:28 server_name kernel: [40150.919628] disk 2, o:0, dev:sdd1
3142 Jan 9 09:47:28 server_name kernel: [40150.919670] disk 3, o:1, dev:sde1
3143 Jan 9 09:47:28 server_name kernel: [40150.958545] RAID5 conf printout:
3144 Jan 9 09:47:28 server_name kernel: [40150.958590] --- rd:4 wd:2
3145 Jan 9 09:47:28 server_name kernel: [40150.958634] disk 0, o:1, dev:sdb1
3146 Jan 9 09:47:28 server_name kernel: [40150.958675] disk 1, o:1, dev:sdc1
3147 Jan 9 09:47:28 server_name kernel: [40150.958716] disk 2, o:0, dev:sdd1
3148 Jan 9 09:47:28 server_name kernel: [40150.958761] RAID5 conf printout:
3149 Jan 9 09:47:28 server_name kernel: [40150.958802] --- rd:4 wd:2
3150 Jan 9 09:47:28 server_name kernel: [40150.958840] disk 0, o:1, dev:sdb1
3151 Jan 9 09:47:28 server_name kernel: [40150.958882] disk 1, o:1, dev:sdc1
3152 Jan 9 09:47:28 server_name kernel: [40150.958923] disk 2, o:0, dev:sdd1
3153 Jan 9 09:47:28 server_name kernel: [40150.990532] RAID5 conf printout:
3154 Jan 9 09:47:28 server_name kernel: [40150.990577] --- rd:4 wd:2
3155 Jan 9 09:47:28 server_name kernel: [40150.990620] disk 0, o:1, dev:sdb1
3156 Jan 9 09:47:28 server_name kernel: [40150.990662] disk 1, o:1, dev:sdc1Co ciekawe
hdparm --read-sectorodczytuje poprawnie same zera z sektorów zarówno oznaczonych jako błędne przez SMART jak i przez kernel.