- Установить CentOS используя стандартный инсталлятор на диск sda. При разбивке диска оставить немного места (хотя бы один юнит) в самом хвосте диска незанятым.
- Загрузиться с диска в Rescue режим. Систему не искать и не монтировать.
- Собрать рейд:
mdadm --create --level=1 --raid-devices=2 /dev/md_d0 /dev/sda missing - Воткнуть /dev/sdb в получившийся рейд, чтобы он ребилдился:
mdadm --add /dev/md_d0 /dev/sdb
Убедиться, проверив /proc/mdstat, что рейд стал ребилдиться. - Смонтировать руками систему в состояние, пригодное для chroot и сделать chroot:
mkdir /mnt/sysimage
mount /dev/md_d0p1 /mnt/sysimage
mount -o bind /dev /mnt/sysimage/dev
mount -o bind /selinux /mnt/sysimage/selinux
mount -t proc none /mnt/sysimage/proc
mount -t sysfs none /mnt/sysimage/sys
chroot /mnt/sysimage - Подготовить систему к тому, что она будет жить на рейде.
Сначала сделать /etc/mdadm.conf:
mdadm --examine --scan > /etc/mdadm.conf
В результирующем файле заменить /dev/md0 на /dev/md_d0
Отредактировать /etc/fstab, заменить там монтирование по LABEL на явное монтирование устройств типа /dev/md_d0p1, ...
Отредактировать /etc/grub.conf, заменить root=LABEL=... на root=/dev/md_d0p1 - Пропатчить mkinitrd, патч взять здесь:
cd /sbin
cp mkinitrd mkinitrd.dist
patch -p0 < /tmp/mkinitrd-md_d0.patch - Запрещаем обновлять mkinitrd, для этого в /etc/yum.conf дописываем exclude=mkinitrd*
- Делаем новый initrd:
cd /boot
mv initrd-2.6.18-128.el5.img initrd-2.6.18-128.el5.img.bak
mkinitrd /boot/initrd-2.6.18-128.el5.img 2.6.18-128.el5 - Проверяем /proc/mdstat, как только рейд собрался - можно нажимать Ctrl-D до упора, пока система не перезагрузится.
Готово. Теперь система будет грузиться с partitionable RAID1, отремонтировать который гораздо проще, чем обычный не partitionable RAID.