LINUX.ORG.RU

Переезд CentOS asterisk+freepbx LVM на raid1 проблемы

 , ,


0

1

Всем привет! Нужна помощь. Есть сабж на 1 диск. Сейчас прогоняю на VB, точно также на рабочей машине, только с другим по объему диском.

Вот исходные данные:

sda                   8:0    0  20G  0 disk
├─sda1                8:1    0   1G  0 part /boot
└─sda2                8:2    0  19G  0 part
  ├─s7_freepbx-root 253:0    0  17G  0 lvm  /
  └─s7_freepbx-swap 253:1    0   2G  0 lvm
sdb                   8:16   0  20G  0 disk

Переезжать будет на sdb, raid1. Размечаю диск на 2 массива, md0 для boot, md1 для /

mdadm --create /dev/md0 \
--level=1 \
--raid-devices=2 \
/dev/sdb1 missing
mdadm --create /dev/md1 \
--level=1 \
--raid-devices=2 \
/dev/sdb2 missing

Массив будет деградированный, потом добавлю в него старый диск с которого переезд. cat /proc/mdstat показывает 2 массива. Все ок. Переезжаем pvcreate /dev/md1 vgextend s7_freepbx /dev/md1 pvmove /dev/sda2 /dev/md1 vgreduce s7_freepbx /dev/sda2

и получилось так

NAME                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0   20G  0 disk
├─sda1                  8:1    0    1G  0 part  /boot
└─sda2                  8:2    0   19G  0 part
sdb                     8:16   0   20G  0 disk
├─sdb1                  8:17   0    1G  0 part
│ └─md0                 9:0    0 1022M  0 raid1
└─sdb2                  8:18   0   19G  0 part
  └─md1                 9:1    0   19G  0 raid1
    └─s7_freepbx-root 253:0    0   17G  0 lvm   /

Создаю ФС для md0 mkfs.xfs /dev/md0

Копирую старый boot rsync -avH /boot/ /mnt/mdboot/

Записываю UUID boot и / в fstab.

Ставлю GRUB grub2-install /dev/sdb grub2-mkconfig -o /boot/grub2/grub.cfg

Пересобираю initramfs dracut -f -v

Отключаю старый диск. При загрузке GRUB показывается, начинается загрузка. Но потом dracut и все.

ls /dev/sd* показывает только /dev/sda /dev/sda1 …

Где моя ошибка, что делать? Что не учёл ?



Последнее исправление: alvian (всего исправлений: 1)

ls /dev/sd* показывает только /dev/sda /dev/sda1 …

Так ты отключил старый диск, поэтому единственный оставшийся стал sda. А что ты там ожидал увидеть?

cat /proc/mdstat что показывает?

Если что, как устроен dracut я не знаю.

Ставлю GRUB grub2-install /dev/sdb grub2-mkconfig -o /boot/grub2/grub.cfg

Ты записываешь новый конфиг в старый /boot ?

И оформляй цитаты из консоли блоком кода нормально, а то читать сложно.

www.linux.org.ru/help/lorcode.md

www.linux.org.ru/help/markdown.md

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

Так ты отключил старый диск, поэтому единственный оставшийся стал sda. А что ты там ожидал увидеть?

То, что он sda стал это все ок. Я в любом случае по UUID указывал boot и /

alvian
() автор топика
Ответ на: комментарий от firkax

Ты записываешь новый конфиг в старый /boot ? Я копировал содержимое boot с sda1 → md0.

Пересоздавал initramfs командой dracut -f … /boot/initramfs-$(uname -r).img.

Проверял и редактировал /boot/grub2/grub.cfg.

То есть на md0 сейчас лежит обновлённый boot, который включает: ядро, initramfs, grub.cfg. Старый диск sda1 больше не участвует в загрузке. Я его отключил и в загрузке новый sda.

Проблема, похоже, с dracut на старте — не в том, что конфиг старый, а в том, что initramfs ещё не содержит нужные модули для mdraid и LVM, поэтому не может найти root LV.

т.е. у меня dracut видит только sda, но не видит массивы, мне их инициализировать нужно - тогда появляются. И тоже самое с LVM. Похоже я где-то это не указываю (

alvian
() автор топика
Последнее исправление: alvian (всего исправлений: 2)
Ответ на: комментарий от alvian

Пересоздавал initramfs командой dracut -f … /boot/initramfs-$(uname -r).img.

Проверял и редактировал /boot/grub2/grub.cfg.

Ты это всё делал на старойсистеме где в /boot был смонтирован старый sda.

firkax ★★★★★
()
Ответ на: комментарий от bigbit

Я делал, забыл написать в теме.

mkdir -p /mnt/newboot
mount /dev/md1 /mnt/newboot
rsync -avH /boot/ /mnt/newboot/

Создал новый initramfs

dracut -f --mdadmconf --add "mdraid lvm" /boot/initramfs-$(uname -r).img
[root@freepbx ~]# ls -lh /boot/initramfs-$(uname -r).img
-rw------- 1 root root 21M Mar  8 18:27 /boot/initramfs-3.10.0-1127.19.1.el7.x86_64.img

Затем GRUB

grub2-mkconfig -o /boot/grub2/grub.cfg
lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0   20G  0 disk
├─sda1                  8:1    0    1G  0 part
└─sda2                  8:2    0   19G  0 part
sdb                     8:16   0   20G  0 disk
├─sdb1                  8:17   0    1G  0 part
│ └─md1                 9:1    0 1022M  0 raid1 /boot
└─sdb2                  8:18   0   19G  0 part
  └─md0                 9:0    0   19G  0 raid1
    └─s7_freepbx-root 253:0    0   17G  0 lvm   /

То, что md1 md0 изменились - это новая установка.

alvian
() автор топика
Ответ на: комментарий от router

И ещё

  1. xfs для grub’а не очень хороший выбор, лучше ext

  2. если ты делаешь /boot на mdadm, то метаданные должны быть 0.9 или 1.0, а по дефолту будет собран 1.2

3. но скорее всего дело не в этом. А в том, что у тебя 2 диска с установленным на нем загрузчиком

У тебя в virtual box’е идет загрузка со старого диска. Там из mbr (да пусть даже gpt) стартует СТАРЫЙ grub и грузит СТАРЫЙ initrd(initramfs?). Ну и как бы вот

upd. а, отключил. тогда этот вариант не подходит

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)