Это кажется близко к тому, что Вы хотите:
bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"
Это - фундаментальная проблема с RAID5 — сбойные блоки на восстанавливают, уничтожитель.
Oct 2 15:08:51 it kernel: [1686185.573233] md/raid:md0: device xvdc operational as raid disk 0
Oct 2 15:08:51 it kernel: [1686185.580020] md/raid:md0: device xvde operational as raid disk 2
Oct 2 15:08:51 it kernel: [1686185.588307] md/raid:md0: device xvdd operational as raid disk 1
Oct 2 15:08:51 it kernel: [1686185.595745] md/raid:md0: allocated 4312kB
Oct 2 15:08:51 it kernel: [1686185.600729] md/raid:md0: raid level 5 active with 3 out of 4 devices, algorithm 2
Oct 2 15:08:51 it kernel: [1686185.608928] md0: detected capacity change from 0 to 2705221484544
⋮
Массив был собран, ухудшен. Это было собрано с xvdc, xvde, и xvdd. По-видимому, существует горячее резервирование:
Oct 2 15:08:51 it kernel: [1686185.615772] md: recovery of RAID array md0
Oct 2 15:08:51 it kernel: [1686185.621150] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
Oct 2 15:08:51 it kernel: [1686185.627626] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
Oct 2 15:08:51 it kernel: [1686185.634024] md0: unknown partition table
Oct 2 15:08:51 it kernel: [1686185.645882] md: using 128k window, over a total of 880605952k.
Сообщение 'таблицы разделов' не связано. Другие сообщения говорят Вам, что md пытается сделать восстановление, вероятно, на горячем резервировании (который мог бы быть устройством, которое перестало работать прежде, если Вы делали попытку к remove/re-add его).
⋮
Oct 2 15:24:19 it kernel: [1687112.817845] end_request: I/O error, dev xvde, sector 881423360
Oct 2 15:24:19 it kernel: [1687112.820517] raid5_end_read_request: 1 callbacks suppressed
Oct 2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423360 on xvde).
Oct 2 15:24:19 it kernel: [1687112.821837] md/raid:md0: Disk failure on xvde, disabling device.
Oct 2 15:24:19 it kernel: [1687112.821837] md/raid:md0: Operation continuing on 2 devices.
И это здесь - md, пытающийся считать сектор из xvde (одно из оставления тремя устройствами). Это приводит к сбою [поврежденный сектор, вероятно], и md (так как массив ухудшается), не может восстановиться. Это таким образом вышибает диск из массива, и с двойным отказом диска, Ваш RAID5 мертв.
Я не уверен, почему то, что это было маркированным как запчасть — это странно (хотя, я предполагаю, что обычно смотрю на /proc/mdstat
, таким образом, возможно, это, как mdadm маркирует его). Кроме того, я думал, что более новые ядра намного больше не решились выгонять для сбойных блоков — но возможно Вы выполняете что-то более старое?
Хорошие резервные копии. Это всегда - важная часть любой стратегии поддержать данные.
Удостоверьтесь, что массив обычно вычищается для сбойных блоков. Ваша ОС может уже включать задание крона для этого. Вы делаете это путем повторения также repair
или check
кому: /sys/block/md0/md/sync_action
. "Восстановление" также восстановит любые обнаруженные ошибки четности (например, бит четности не соответствует данным по дискам).
# echo repair > /sys/block/md0/md/sync_action
#
С прогрессом можно наблюдать cat /proc/mdstat
, или различные файлы в этом sysfs каталог. (Можно найти несколько актуальную документацию при Набеге Linux Wiki mdstat статья.
Примечание: На более старых ядрах — не уверенный точная версия — проверка не может зафиксировать сбойные блоки.
Одна заключительная опция состоит в том, чтобы переключиться на RAID6. Это потребует другого диска (можно выполнить четыре - или даже RAID6 с тремя дисками, Вы, вероятно, не хотите к). С достаточно новыми ядрами сбойные блоки фиксируются на лету, если это возможно. RAID6 может пережить два отказа диска, поэтому когда один диск перестал работать, он может все еще пережить сбойный блок — и таким образом он будет и планировать сбойный блок и продолжать восстанавливание.
Я предполагаю, что Вы создаете свой массив RAID5 как это:
$ mdadm --create /dev/md0 --level=5 --raid-devices=4 \
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Который не является точно, что Вы хотите. Скорее необходимо добавить диски как это:
$ mdadm --create /dev/md0 --level=5 --raid-devices=4 \
/dev/sda1 /dev/sdb1 /dev/sdc1
$ mdadm --add /dev/md0 /dev/sdd1
Или можно использовать mdadm
опция добавить запчасти как это:
$ mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 \
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Последний диск в списке будет запчастью.
выборка из mdadm страницы справочника
-n, --raid-devices=
Specify the number of active devices in the array. This, plus the
number of spare devices (see below) must equal the number of
component-devices (including "missing" devices) that are listed on
the command line for --create. Setting a value of 1 is probably a
mistake and so requires that --force be specified first. A value
of 1 will then be allowed for linear, multipath, RAID0 and RAID1.
It is never allowed for RAID4, RAID5 or RAID6. This number can only
be changed using --grow for RAID1, RAID4, RAID5 and RAID6 arrays, and
only on kernels which provide the necessary support.
-x, --spare-devices=
Specify the number of spare (eXtra) devices in the initial array.
Spares can also be added and removed later. The number of component
devices listed on the command line must equal the number of RAID devices
plus the number of spare devices.
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf --chunk=128K
– Mei
08.10.2013, 01:02
blkid
с этого сервера?
– slm♦
08.10.2013, 01:32
repair
илиverify
. Также, если возможная банка Вы через дамп/proc/mdstat
? Я видел его, но это могло бы помочь другим, которые сталкиваются с этим Вопросы и ответы. – slm♦ 08.10.2013, 21:49