Несколько раз добавлял зеркало gmirror для единственного диска во FreeBSD. Даже данные не надо мигрировать – все достаточно просто и документировано.
А вот в Ubuntu 9.10 как то не заладилось, убил практически целый день. Из толковых инструкций, что удалось найти, понравилась вот эта. Многа букав! Инструкция в готовом виде, к сожалению, не подошла.
Основные моменты:
- Я подключал два диска (основной с системой и чистый для зеркала) одновременно и грузился в Rescue Mode с CD.
- Создавая массив, я указывал sdXY от чистого диска.
- Данные копировались командой cd target; dump -0 -f – /dev/source| restore rf – (по привычке, но надо поставить пакет dump).
- Во все конфигурационные файлы вписывалось /dev/mdX вместо /dev/sdXY.
- Swap я тоже размещаю на зеркале.
В общем то, загрузившись в режим восстановления, создать массивы на чистом диске и скопирнуть туда данные относительно несложно. Далее нужно поправить /etc/fstab, /etc/mdadm/mdadm.conf, запустить grub и просетапиться в MBR.
Как всегда сложности начинаются при попытке загрузиться с этого диска. Меня все время загружало в grub>.
Находясь в grub> можно загрузить систему такими командами:
kernel /boot/vmli<tab-autocomplete> root=/dev/md0initrd /boot/init<tab-autocomplete>boot
Механизм работы grub на 9.10+ для меня до сих пор является загадкой. Совершенно не представляю откуда оно берет настройки, в частности имя загрузочного устройства (md0 vs sdb1).
Попав в шелл решил проблему таким способом.
apt-get purge grub-common grub-pcapt-get install grub-common grub-pc
Оно само раздуплилось какой диск является корнем и правильно прописало его в /boot/grub/grub.cfg (который генерируется автоматически).
После этого старый диск был отключен, а диск с MD был сделан основным, старый же переразбит и добавлен как вторая часть зеркала (это есть в инструкции).
Так же в процессе экспериментов (по-моему в Rescue Mode) запускалась команда
apt-get install mdadmupdate-initramfs -u
Без них, скорее всего, в initramfs не были бы добавлены модули поддержки MD RAID. Мрак, но заработало.