Один из дисков моего сервера вышел из строя, поэтому я удалил неисправный диск из всех трех соответствующих массивов, заменил его, а затем добавил новый диск в массивы. Два массива работали отлично. Третий добавил диск обратно в качестве запасного, и есть странная «удаленная» запись в mdadm
подробности.
Я пробовал оба
mdadm /dev/md2 --remove failed
и
mdadm /dev/md2 --remove detached
как было предложено Вот и Вот, ни на что не жаловались, но ни на что не повлияло.
Кто-нибудь знает, как я могу избавиться от этой записи и правильно добавить диск? (В идеале без повторной синхронизации в третий раз мне уже приходилось делать это дважды, и это занимает несколько часов. Но если это то, что нужно, то это то, что нужно.) Новый диск /dev/sda
, соответствующий раздел /dev/sda3
.
Вот подробности о массиве:
# mdadm --detail /dev/md2 /dev/md2: Version : 0.90 Creation Time : Wed Oct 26 12:27:49 2011 Raid Level : raid1 Array Size : 729952192 (696.14 GiB 747.47 GB) Used Dev Size : 729952192 (696.14 GiB 747.47 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 2 Persistence : Superblock is persistent Update Time : Tue Nov 12 17:48:53 2013 State : clean, degraded Active Devices : 1 Working Devices : 2 Failed Devices : 0 Spare Devices : 1 UUID : 2fdbf68c:d572d905:776c2c25:004bd7b2 (local to host blah) Events : 0.34665 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 19 1 active sync /dev/sdb3 2 8 3 - spare /dev/sda3
Если актуально, то это 64-битный сервер. Обычно он работает под управлением Ubuntu, но сейчас я нахожусь в «спасательной» ОС центра обработки данных, а именно в Debian 7 (хрипит). «Удаленная» запись была там в последний раз, когда я был в Ubuntu (в настоящее время она не загружается с диска), поэтому я не думаю, что это не какой-то конфликт Ubuntu / Debian (и они, конечно, близко Связанный).
Обновить:
Проведя обширные тесты с тестовыми устройствами на локальной машине, я просто получаю аномальное поведение от mdadm
с этим массивом. Например, с /dev/sda3
снова удалили из массива, я сделал следующее:
mdadm /dev/md2 --grow --force --raid-devices=1
И это избавило меня от "удаленного" устройства, оставив меня только с /dev/sdb3
. Затем я нанёс ядерный удар /dev/sda3
(записал в него файловую систему, чтобы на нем больше не было raid fs), затем:
mdadm /dev/md2 --grow --raid-devices=2
... который дал мне массив с /dev/sdb3
в слоте 0 и «удален» в слоте 1, как и следовало ожидать. затем
mdadm /dev/md2 --add /dev/sda3
... добавил - снова как запасной. (Еще 3,5 часа на ветер.)
Итак, с восстановленным запасным элементом в массиве, учитывая, что mdadm
страница руководства говорит
ИЗМЕНЕНИЯ НА RAID-УСТРОЙСТВАХ
...
При увеличении количества устройств все имеющиеся «горячие» резервы активируются немедленно.
... Я увеличил массив до трех устройств, чтобы попробовать активировать "запасные":
mdadm /dev/md2 --grow --raid-devices=3
Что я получил? Два «снятые» устройства и запасные. И все же, когда я делаю это с тестовым массивом, я не получаю такого поведения.
Так что я атаковал /dev/sda3
снова использовал его для создания нового массива и копирую данные из старого массива в новый:
rsync -r -t -v --exclude 'lost+found' --progress /mnt/oldarray/* /mnt/newarray
Это, конечно, займет часы. Надеюсь, когда я закончу, я смогу полностью остановить старый массив, нанести ядерный удар /dev/sdb3
, и добавьте его в новый массив. Надеюсь, его не добавят в качестве запасного!
Что ж, все обычные варианты (перечисленные в моем вопросе) не сработали, у меня не было выбора, кроме как:
удалять /dev/sda3
из массива
Ядерная бомба
Создать новый деградированный массив, содержащий его и пустой слот
rsync
файлы из старого массива в новый
Остановите старый массив
Ядерная бомба /dev/sdb3
Добавить /dev/sdb3
в новый массив
Сначала он говорил: «Запасной, перестраиваемый», но как только он был восстановлен, он был добавлен в массив как активный диск.
Конечно, это означало иметь дело с побочными эффектами изменения массива (а поскольку это была корневая файловая система, это было настоящей головной болью).
Насколько я могу судить, что-то было повреждено в определении предыдущего массива, потому что:
A) Добавление диска должно было работать(тм) как это было с двумя другими,
и
Б) В противном случае должно работать сжатие и увеличение массива.