SATA HDD ошибки
У меня есть один сервер с WDC WD3202ABYS ... Есть 100 виртуальных хостов. Сервер работает около 5 лет, и за этот период у меня есть 4 диска. Все по той же причине: ошибка sata. Последний:
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x5
ata2.00: cmd 35/00:60:57:7b:b6/00:01:06:00:00/e0 tag 0 dma 180224 out
res 51/10:60:57:7b:b6/10:01:06:00:00/e0 Emask 0x81 (invalid argument)
ata2.00: status: { DRDY ERR }
ata2.00: error: { IDNF }
ata2.00: configured for UDMA/133
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current [descriptor]: sense key: Aborted Command
Add. Sense: Recorded entity not found
Descriptor sense data with sense descriptors (in hex):
72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00
06 b6 7b 57
end_request: I/O error, dev sdb, sector 112622423
Buffer I/O error on device dm-8, logical block 14077747
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077748
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077749
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077750
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077751
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077756
lost page write due to I/O error on dm-8
ata2: EH complete
SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x5
ata2.00: cmd 35/00:90:17:30:b7/00:02:08:00:00/e0 tag 0 dma 335872 out
res 51/10:90:17:30:b7/10:02:08:00:00/e0 Emask 0x81 (invalid argument)
ata2.00: status: { DRDY ERR }
ata2.00: error: { IDNF }
ata2.00: configured for UDMA/133
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current [descriptor]: sense key: Aborted Command
Add. Sense: Recorded entity not found
Descriptor sense data with sense descriptors (in hex):
72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00
08 b7 30 17
end_request: I/O error, dev sdb, sector 146223127
printk: 34 messages suppressed.
Buffer I/O error on device dm-8, logical block 18277835
Похоже, какая-то программная ошибка...
но вскоре после этого (может быть, когда я запустил fsck) следующая ошибка:
EXT3-fs error (device dm-8): ext3_put_super: Couldn't clean up the journal
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/01:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x1 (device error)
ata2.00: status: { DRDY ERR }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
Возможно ли, что эти ошибки также являются "программными" ... Я имею в виду, что этому жесткому диску всего 9000 часов... где нет дополнительной нагрузки на жесткий диск... температура составляет 29 по Цельсию... Нужно ли заменить жесткий диск? или проверить диск достаточно?
EXT3-fs error (device dm-8): ext3_put_super: Couldn't clean up the journal
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/01:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x1 (device error)
ata2.00: status: { DRDY ERR }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
Как узнать причину?
Вот ошибки от смарта:
Error 36 occurred at disk power-on lifetime: 9160 hours (381 days + 16 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 22 09 80 e3 Error: UNC at LBA = 0x03800922 = 58722594
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 1f 09 80 03 0a 47d+13:38:13.534 READ DMA
ec 00 00 00 00 00 00 0a 47d+13:38:13.530 IDENTIFY DEVICE
ef 03 46 00 00 00 00 0a 47d+13:38:13.528 SET FEATURES [Set transfer mode]
Хорошо. Возможен ли следующий сценарий: 1. Диск был на 9000 без fsck. 2. Есть некоторые ошибки. 3. В dmesg есть такие ошибки, как:
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x5
ata2.00: cmd 35/00:60:57:7b:b6/00:01:06:00:00/e0 tag 0 dma 180224 out
res 51/10:60:57:7b:b6/10:01:06:00:00/e0 Emask 0x81 (invalid argument)
ata2.00: status: { DRDY ERR }
ata2.00: error: { IDNF }
ata2.00: configured for UDMA/133
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current [descriptor]: sense key: Aborted Command
Add. Sense: Recorded entity not found
- И такие ошибки, как ошибка inode и так далее...
- Я попытался размонтировать этот раздел, и ошибка произошла от жесткого диска, как он не может найти такой inode и так далее...?
Если так.. я не понимаю. Нужно ли менять диск каждый год? Просто чтобы предотвратить эту ошибку? У кого-то есть такая же проблема? Не только с одним диском...
4 ответа
По моему опыту, ошибки, которые вы видите, на самом деле являются аппаратными ошибками, отраженными в программном обеспечении. Сообщение "Потеря записи страницы из-за ошибки ввода-вывода" - это то, что я видел с плохими жесткими дисками, и оно ведет себя подобно тому, как вы описали его при попытке fsck. Это почти наверняка настоящая аппаратная ошибка.
Вы должны проверить вывод smartctl, чтобы увидеть, что он говорит, может быть проблемой.
smartctl --attributes /dev/sdb
Это даст вам вывод, похожий на этот:
=== НАЧАЛО ПРОЧИТАЙТЕ УМНЫЙ РАЗДЕЛ ДАННЫХ === Номер версии структуры данных атрибутов SMART: 16 Специфичные SMART-атрибуты поставщика с пороговыми значениями: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE ОБНОВЛЕНО WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0003 212 186 021 Pre-fail Всегда - 4358 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 97 5 Reallocated_Sector_Ct 0x0033 200 200 140 Пред-сбой Всегда - 0 7 Seek_Error_Rate 0x000f 200 200 051 Pre-fail Всегда - 0 9 Power_On_Hours 0x0032 066 066 000 Old_age Always - 25420 10 Spin_Retry_Count 0x0013 100 253 051 Pre-fail Всегда - 0 11 Calibration_Retry_Count 0x0013 100 253 051 Pre-fail Всегда - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 86 194 Temperature_Celsius 0x0022 104 001 000 Old_age Always - 46 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0 198 Offline_Неисправимый 0x0010 200 200 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0009 200 200 051 Пред сбой в автономном режиме - 0
Вывод может быть загадочным, но тот, на который я бы обратил пристальное внимание, был бы Reallocated_Sector_Ct, так как он говорит вам, что HD имеет для известных плохих секторов. Команда 'smartctl -a' даст намного больше данных. На плохом HD, который у меня был некоторое время назад, нижней частью этого вывода является "SMART Error Log", в котором было несколько записей.
У вас была неисправимая ошибка чтения.
Error: UNC at LBA = 0x03800922 = 58722594
Данные, которые были в этом блоке, теперь потеряны.
Вам следует:
- использовать зеркало в первую очередь. Корпоративные диски на самом деле предназначены для того, чтобы находиться за зеркалом, и они скорее вернут ошибку чтения, чем будут очень стараться получить данные.
- восстановить потерянные данные из резервных копий
У вас нет НИКАКОГО ПРИЧИНЫ, чтобы не использовать RAID (особенно если вы размещаете веб-сайт для клиентов!) - ОС не такая большая, вам не нужен выделенный диск для нее в системе с двумя дисками.
Вы используете контроллер RAID? Какой тип контроллера вы используете?
Одна из вещей (и разочаровывающая, и поучительная) - это растущая сегментация, которую производители жестких дисков внедряют на рынок SATA. В настоящее время существуют накопители для "малого предприятия /RAID" и "для одного компьютера". SAS, кажется, подталкивают к рынку "высокопроизводительных предприятий".
Ваша модель # - это серия дисков W3 RE3, разработанная для установки RAID. Мне сказали, что это означает, между прочим, что диск будет "сдаваться" раньше (т.е. в течение 3-4 секунд) при попытке исправить ошибки, вместо того, чтобы повторять попытки снова и снова в течение более длительного периода времени. При более раннем отказе отчет об ошибке передается на контроллер RAID, поэтому он может использовать другой диск для восстановления. Если вместо этого диск ожидает дольше, RAID-контроллер выгонит диск из массива за не отвечающий.
Неудачи все же должны быть редкими, и не один раз в год. Возможно, это еще один аспект вашей настройки? (У меня был неприятный бой с кабелем SATA, теперь он установлен над моей дверью как предупреждение для других кабелей...)
У меня был очень плохой опыт работы с дисками Western Digital. Более половины моих дисков пришлось заменить по гарантии из-за полного отказа или неисправных секторов.
После покупки только дисков WD около 8 лет я больше не хочу тратить на них деньги. Я понятия не имею, какому накопителю WD я могу доверять; мой опыт пока говорит "ни один из них".
Вы заменили оригинальный диск 4 раза; Вы купили все пять дисков одновременно? Купить новый, чтобы заменить каждый, когда это не удалось? Вернуть диск по гарантии на замену? Как и когда вы приобрели пять дисков и какие модели они были? По моему опыту, партии накопителей WD часто плохие и выходят из строя одновременно.