Расширенная версия: я использую компьютер Red Hat Enterprise Linux 5 (REHL5) с программным обеспечением raid1 (mdadm).
Несколько дней назад я сделал резервную копию некоторых данных MySQL и внезапно больше не мог войти в систему. Я ввел имя пользователя для входа в систему, и он просто сидел там. Если нажата последовательность управления, они появятся на экране, но он никогда не войдет в систему. Он также не ответил на ctrl + alt + delete. Так что я резко отключился.
Я загрузил его обратно и контролировал массив raid1 через:
mdadm --detail /dev/md1
Этот массив содержит корневую точку монтирования.
Он начал повторную синхронизацию массива. Я не уверен, произошло ли это из-за аварии или просто потому, что я резко отключил питание. В любом случае я позволил этому закончить:
[f@mysqldatanode ~]# mdadm --detail /dev/md1
/dev/md1:
Version : 00.90.03
Creation Time : Thu Apr 19 15:28:52 2007
Raid Level : raid1
Array Size : 479893568 (457.66 GiB 491.41 GB)
Device Size : 479893568 (457.66 GiB 491.41 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent
Update Time : Fri Dec 25 10:03:50 2009
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
UUID : ab4849de:1f4f41c4:defd01e8:a4979ca6
Events : 0.78
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
Я просмотрел несколько журналов (/ var / log / messages *) и нашел несколько сообщений, подобных приведенному ниже, указывающих на неисправность жесткого диска:
Dec 21 11:39:47 localhost kernel: sd 0:0:1:0: SCSI error: return code = 0x08000002
Dec 21 11:39:47 localhost kernel: sdb: Current: sense key: Medium Error
Dec 21 11:39:47 localhost kernel: Additional sense: Unrecovered read error
Dec 21 11:39:47 localhost kernel: Info fld=0x3348912
Dec 21 11:39:47 localhost kernel: end_request: I/O error, dev sdb, sector 53774610
Dec 21 11:39:47 localhost kernel: raid1:md1: read error corrected (8 sectors at 53565760 on sdb2)
Dec 21 11:39:48 localhost kernel: raid1: sdb2: redirecting sector 53565648 to another mirror
Тогда я попытался найти плохие блоки, и он снова заблокировался тем же способом.
[f@mysqldatanode ~]# badblocks -s /dev/md1
Checking for bad blocks (read-only test): 0/ 479893568
Итак, как мне оценить работоспособность двух дисков? Поскольку рассматриваемый массив содержит корневую точку монтирования, нужно ли мне перемещать их на другую машину для их анализа?
Вы можете вывести из строя устройство / dev / sdb через mdadm (лучше всего убедитесь, что вы вывели из строя все устройство, то есть все mds, которые работают с ним), затем проверьте его на наличие ошибок, но из того, что вы описываете, вам, скорее всего, лучше просто заменить устройство .
У меня были устройства ide, которые регулярно выходили из строя, я продолжал повторно добавлять отклоненное устройство, пока, наконец, компьютер не начал зависать, как вы описываете. Замена вышедшего из строя устройства решила проблему.
В любом случае вам следует как можно скорее сделать резервную копию.
Ошибки чтения - обычное явление, но большинство из них диски исправляют сами. Некоторые диски лгут и сообщают о хорошем чтении в информации SMART, а некоторые сообщают правильное количество ошибок и количество восстановленных ECC. На некоторых дисках (в частности, перпендикулярных) могут быть миллионы ошибок чтения и восстановлено 99,99999% (или более) ECC.
Однако на этот раз / dev / sdb2 не удалось правильно прочитать 8 секторов.
Затем softraid просто восстанавливается путем извлечения недостающих секторов с другого диска и их перезаписи. Потом решила, что опять все нормально.
Это МОЖЕТ быть признаком неисправного диска, но это также может быть единственная ошибка mtbf, случайная частица пыли или что-то еще. Подождите и посмотрите, появятся ли новые ошибки, прежде чем выбросить этот диск.