sm1ly
@sm1ly
beardman

How to boot centos 7 from software raid?

доброго времени суток, господа.
вопрос такой.
есть бекап центоси 7. в виде tar czvf backup.tar.gz /
есть live cd центоси 7. 2 винта в сервере.
разбиваю винты. 1 раздел по 370гб. маркирую как fd (linux raid autodetect)
собираю рейд
mdadm --create --level 1 /dev/md0 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1

все собирается, все отлично.

форматируем
mkfs.ext4 /dev/md0

маунтим
/mount /dev/md0 /mnt/cnt

распаковываем туда архив.
маунтим необходимые разделы.
mount --bind /dev/ /mnt/cnt/dev/
mount --bind /proc/ /mnt/cnt/proc/
mount --bind /sys/ /mnt/cnt/sys/
и заходим в систему
chroot /mnt/cnt/ /bin/bash

тут и начинаются вопросы.
я переписал fstab (писал и UUID и /dev/md0)
mdadm --detail --scan > /etc/mdadm.conf

mv initramfs-3.10.0-229.7.2.rt56.141.6.el7.centos.x86_64.img initramfs-3.10.0-229.7.2.rt56.141.6.el7.centos.x86_64.img.baq
dracut /boot/initramfs-3.10.0-229.7.2.rt56.141.6.el7.centos.x86_64.img

потом grub2-mkconfig -o /boot/grub2/grub.conf

вот как он это видит:
menuentry 'CentOS Linux 7 (Core), with Linux 3.10.0-229.el7.x86_64' --class rhel fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-1059f673-bc2c-457a-b40c-19ef73554bfc' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod diskfilter
insmod mdraid09
insmod ext2
set root='mduuid/a2e6f8dbfff8a57904894333532a878b'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/a2e6f8dbfff8a57904894333532a878b' 1059f673-bc2c-457a-b40c-19ef73554bfc
else
search --no-floppy --fs-uuid --set=root 1059f673-bc2c-457a-b40c-19ef73554bfc
fi
linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=1059f673-bc2c-457a-b40c-19ef73554bfc ro crashkernel=auto rhgb net.ifnames=0
initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img
}

вроде мд модуль должен подгружаться.
дальше я устанавливаю загрузчик на оба винта
grub2-install --recheck /dev/sda
grub2-install --recheck /dev/sdb

так же пробовал писать в grub rd.auto=1 или rd.md.uuid=UUID который выдает mdadm.

но после всех этих манипуляций я получаю что мол не могу бутануться, /dev/disk/by-uuid/ does not exist. и выкидывает в dracut rescue.

как починить?
  • Вопрос задан
  • 1665 просмотров
Решения вопроса 1
sm1ly
@sm1ly Автор вопроса
beardman
решение следующее.
в моменте где dracut генерит initramfs - сгенерить на стоковом ядре с обязательным указанием ядра, т.е. :
dracut /boot/initramfs-$(uname -r).img $(uname -r)
забутаться в него и оттуда уже пересобрать нормально rt ядро.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@azazelpw
Linux SA
Простой способ.
boot-repair-disk-64bit.iso
загугли. сделаешь LiveCD.
Ответ написан
Комментировать
у меня другой вопрос, вы не пробовали сделать больше разделов рейд 1, больше чем три. У меня при перезагрузке метит два раздела как инактив и вываливается в эмердженси мод. Победить не удалось.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы