Подготовительный вариант описан тут: http://www.sytes.ru/index.php?rp=/knowledgebase/196/1----RAID-1----Centos7.html
После того, как у нас получилось перейти в окружение chroot - можно сказать. что половина дела сделана.
11.Получаем UUID для наших md-массивов и заменяем ими присутствующие в /etc/fstab UUID-ы:
UUID:
/dev/md0: UUID="8f07acb0-38c5-4a12-a636-3457b0a242d0" TYPE="ext4"
/dev/md1: UUID="22851961-18a0-43b7-a864-b22ee65301da" TYPE="ext4"
/dev/md2: UUID="8ab36f74-017f-478e-baf1-750838234db1" TYPE="swap"
1.Получаем UUID для наших md-массивов и заменяем ими присутствующие в /etc/fstab UUID-ы:
blkid | grep md >> /etc/fstab
UUID=22851961-18a0-43b7-a864-b22ee65301da / ext4 defaults 1 1
UUID=8f07acb0-38c5-4a12-a636-3457b0a242d0 /boot ext4 defaults 1 2
UUID=8ab36f74-017f-478e-baf1-750838234db1 swap swap defaults 0 0
12.Создаем конфиг для mdadm :
# mdadm --detail --scan > /etc/mdadm.conf
сat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=centos71.kamaok.org.ua:0 UUID=becf3635:e3608836:0a44f349:c3857549
ARRAY /dev/md1 metadata=1.2 name=centos71.kamaok.org.ua:1 UUID=8d673c0f:e7f66134:e457e6e4:b3b5ea57
ARRAY /dev/md2 metadata=1.2 name=centos71.kamaok.org.ua:2 UUID=de74ce22:e214af73:a81827bd:55283ead
13. Делаем новый initramfs, с нужными модулями
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.old
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.old
# dracut /boot/initramfs-$(uname -r).img $(uname -r)
# dracut /boot/initramfs-$(uname -r).img $(uname -r)
14. Передаем ядру опцию «rd.auto=1» явно через «GRUB», для этого, добавляем ее в «GRUB_CMDLINE_LINUX»:
nano /etc/default/grub
/etc/fstab
# nano /etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet rd.auto=1"
Необходимость передачи этой опции является то,что по какой-то причине initramfs созданый «dracut» не видит собранного raid и отказывается грузится.
15.Пересоздаем конфигурационный файл GRUB /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
Устанавливаем загрузчик на оба диска:
# grub2-install /dev/sdb
# grub2-install /dev/sda
16. Проверяем, что uuid md0 и опция «rd.auto=1» точно записались:
# less -N /boot/grub2/grub.cfg
nano /boot/grub2/grub.cfg
# nano /boot/grub2/grub.cfg
...............................
menuentry 'CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.13.1.el7.x86_64-advanced-22851961-18a0-43b7-a864-b22ee65301da' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod diskfilter
insmod mdraid1x
insmod ext2
set root='mduuid/becf3635e36088360a44f349c3857549'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/becf3635e36088360a44f349c3857549' 8f07acb0-38c5-4a12-a636-3457b0a242d0
else
search --no-floppy --fs-uuid --set=root 8f07acb0-38c5-4a12-a636-3457b0a242d0
fi
linux16 /vmlinuz-3.10.0-327.13.1.el7.x86_64 root=UUID=22851961-18a0-43b7-a864-b22ee65301da ro rhgb quiet rd.auto=1
initrd16 /initramfs-3.10.0-327.13.1.el7.x86_64.img
}
......................................
Еще важно проверить:
# grep md0 /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=centos71.kamaok.org.ua:0 UUID=becf3635:e3608836:0a44f349:c3857549
# blkid | grep md1
/dev/md1: UUID="22851961-18a0-43b7-a864-b22ee65301da" TYPE="ext4"
Проверяем, что используем md-массивы вместо диска sda:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md1 5.4G 1.1G 4.0G 22% /
devtmpfs 484M 0 484M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 487M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/md0 465M 119M 318M 28% /boot
tmpfs 99M 0 99M 0% /run/user/0
1
18.Изменение типа разделов на /dev/sda на Linux raid autodetect:
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): t
Partition number (1-3, default 3): 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'
Command (m for help): t
Partition number (1-3, default 3): 2
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'
Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): fd
Changed type of partition 'Linux swap / Solaris' to 'Linux raid autodetect'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
19.Добавление /dev/sda1, /dev/sda2 и /dev/sda3 в RAID-массив:
# mdadm --manage --add /dev/md0 /dev/sda1
# mdadm --manage --add /dev/md1 /dev/sda2
# mdadm --manage --add /dev/md2 /dev/sda3
Устанавливаем загрузчик на диск /dev/sda: