Не, ну почему я всё время наступаю на грабли??
На сервере, где живёт мой блог (и кучка других сайтов) немножко попортились диски. Ясное дело, диски не вечные, рано или поздно они все помирают, тем более, что тут они уже много лет работали круглосуточно. Хорошо, что я с самого начала собрал их в RAID1. Места стало вдвое меньше, но в общем хватало. Зато надёжность повысилась. Не будь там этого зеркала, сейчас бы много данных пропало.
Короче, когда это обнаружилось, я послал хостеру (Hetzner) запрос на замену первого диска. Они поставили новый буквально через пару часов.
Загрузил сервер по сети (это у Hetzner’а очень удобно организовано: на веб-сайте можно выбрать операционную систему для загрузки по сети, а также послать в сервер Ctrl-Alt-Del или аппаратный Reset, не обращаясь в службу техподдержки). Новый диск оказался на треть больше, чем старый, поэтому я решил не цеплять его к старому RAID’у, а сделать новый. Казалось бы, ничего сложного в этом нет. Создал раздел почти на весь диск, потом попробовал создать на нём новый RAID1, и тут mdadm выдал предупреждение, что его суперблоки версий 1.* не все загрузчики понимают, так что может быть стоит использовать версию 0.90. Посмотрел на старый диск, там была версия 0.90. Значит, имеющийся grub её точно понимает.
Ну и создал RAID по имени md2 с опцией --metadata=0.90, потом на нём physical volume под LVM, volume group, и пачку logical volumes, как на старых дисках, только чуть покрупнее, раз диск побольше. Отформатировал новые файловые системы, скопировал содержимое со старого диска, зашёл туда через chroot, подправил fstab и mdadm.conf, перегенерировал загрузочный образ и grub.cfg, установил grub на новый диск. Казалось бы, всё готово, должно работать. Перезагрузил сервер, а он не отзывается даже на пинги. Значит, что-то не склалось..
Загрузился снова по сети, и тут.. pvdisplay нового тома не видит, только старый. Попробовал ему явно указать на /dev/md2, а он говорит, что не может его прочитать. Запустил fdisk -l /dev/md2, а он говорит, что этот md2 нулевого размера, ни одного сектора там нет. Ну, думаю, что-то там сломалось, наверное, надо пересоздать. Запустил mdadm --remove /dev/md2, а он внезапно заявляет, что mdadm: error opening /dev/md2: No such file or directory.
Оригинал этой записи в личном блоге.