Centos7 RAID 1 (UUID)

Файловые разделы пример

/dev/sda1 /boot 
/dev/sda2 swap 
/dev/sda3 /

Устанавливаем второй диск sdb и программный пакет raid

yum install mdadm

Убиваем предыдущие рейды, если такие были

mdadm -S /dev/mdx
mdadm --zero-superblock /dev/sdb[0-9]

Создадим идентичную схему разделов /dev/sda

sfdisk -d /dev/sda | sfdisk /dev/sdb --force

Смотрим

fdisk -l

Преобразовать новые разделы диска /dev/sdb на "Linux raid autodetect"

fdisk /dev/sdb ставим "t" и конвертируем все файловые разделы в "fd"

Смотрим

fdisk -l

Делаем raid level 1 пример

mdadm --create /dev/md1 --metadata=0.90 --bitmap=internal --bitmap-chunk=131072 --level 1 --raid-devices=2 missing /dev/sdb1
mdadm --create /dev/md0 --bitmap=internal --bitmap-chunk=131072 --level 1 --raid-devices=2 missing /dev/sdb3

Смотрим

cat /proc/mdstat

Форматируем получившийся /dev/mdx Режим фс на корень, на бут обычно ставим ту, что и была до рейда

mkfs.ext4 /dev/md0
mkfs.ext2 /dev/md1

Записываем наши разделы mdadm.conf

echo "DEVICE /dev/hd*[0-9] /dev/sd*[0-9] /dev/cciss/c0d[0-3]p[0-9]" > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf

Конфиг grub.

/etc/default/grub
Дописать в
GRUB_CMDLINE_LINUX
эти парметры
rd.auto rd.auto=1 selinux=0 rd.md.uuid=
rd.md.uuid= будет равно количеству созданных рейдов с их uuid, чтобы получить uuid md устройства, делаем так
mdadm --detail /dev/md* |grep UUID
          UUID : ed3ef3e5:a9548405:a34d6e2f:51135390
          UUID : b6c1ab67:60343320:983ed929:82bf5291
          UUID : d8b4af18:97e32f5e:e5eb19b4:c6ce05ab

вот тут 3и рейда видно, следовательно строка в конфиге груба будет такой
rd.auto rd.auto=1 selinux=0 rd.md.uuid=ed3ef3e5:a9548405:a34d6e2f:51135390 rd.md.uuid=b6c1ab67:60343320:983ed929:82bf5291
rd.md.uuid=d8b4af18:97e32f5e:e5eb19b4:c6ce05ab
эти параметры дописываются в GRUB_CMDLINE_LINUX а не заменяют все параметры в переменной. Обращу внимание что это НЕ равно blkid /dev/md? , тут uuid другой.

Далее отключаем selinux

sed -i"" 's#enforcing#disabled#g' /etc/sysconfig/selinux

Правим fstab, переводим указатели блочных устройств на их UUID (смотрим через blkid /dev/md0-9 )

Пример UUID=402f360d-b4d4-48d0-809e-f6f6725926fe /home2 .....

И теперь через chroot генерим правильные кониги груба и initramfs, точки монтирования могут быть другими. Монтируем новый корень, копируем в него текущий корень, монтируем бут уже в новый корень в диру /boot, копируем текущий бут в новый бут, подкидываем dev, proc и sysfs и chroot в новое окружение.

mount /dev/md0 /mnt; cp -dpRx / /mnt; mount /dev/md1 /mnt/boot; cp -dpRx /boot/* /mnt/boot/;
mount -o bind /dev /mnt/dev; mount -t proc none /mnt/proc; mount -t sysfs none /mnt/sys; mount --bind /run /mnt/run;

Заходим в chroot

chroot /mnt /bin/bash

Собственно генерация initramfs

dracut --mdadmconf --fstab --add="dm dmraid mdraid" --add-drivers="raid0 raid1" --force /boot/initramfs-$(uname -r).img $(uname -r) -M

В случае: dracut module 'dmraid' cannot be found or installed

dracut --mdadmconf --fstab --add="mdraid" --add-drivers="raid0 raid1" --force /boot/initramfs-$(uname -r).img $(uname -r)

Пишем корректный новый конфиг груба.

grub2-mkconfig -o /boot/grub2/grub.cfg

exit (вышли с chroot окружения в первоначальную ОС)

Удаляем текущий бут и закидываем в него сгенерированные файлы с нового бута.

rm -rf /boot/* ; cp -dpRx /mnt/boot/* /boot/
reboot

После ребута ОС загрузится с созданного рейда без основного диска (в текущем примере рейд будет на sdb и ОС будет работать с md устройств). Остается скопировать разметку с sdb на sda, добавить sda в рейд, после синка поставить груб на /dev/sda (первичный диск) в системе.

Первый добавлять раздел в массив надо boot

sfdisk -d /dev/sdb | sfdisk /dev/sda --force
mdadm --add /dev/md1 /dev/sda3
mdadm --add /dev/md0 /dev/sda2
grub2-install /dev/sda

После как добавили первичный диск в рейд, делаем свап:

Выключаем весь свап для разделов: swapoff -a Номер раздела swap смотреть (fdisk /dev/sd* 'p') Делаем свап разделы на наши диски mkswap /dev/sdb*, c*, d* Добавляем UUID(см blkid /dev/sda*), в (nano /etc/fstab)

swapon -a     # --вкл свап
reboot

results matching ""

    No results matching ""