LINUX.ORG.RU
решено ФорумAdmin

Proxmox миграция на VMWare

 , , , ,


0

2

Нужно мигрировать виртуаки с Proxmox (lxc) на VMWare.
На хосте Debian GNU/Linux 9.5
Виртуалка Debian GNU/Linux 8.10

#uname -a
Linux et03 4.15.18-4-pve #1 SMP PVE 4.15.18-23 (Thu, 30 Aug 2018 13:04:08 +0200) x86_64 GNU/Linux


Восстанавливаю из бэкапа (делается регулярно по vzdump 111 --compress lzo --node px --storage vz --mode snapshot --remove 0)

cd /tmp
dd if=/dev/zero of=disk.img count=$((20000*16*63))
losetup -f -P --show /tmp/disk.img
cfdisk /dev/loop2
mkfs.ext4 /dev/loop2p1
mount /dev/loop2p1 /mnt
echo "(hd0) /dev/loop2" > /mnt/device.map
grub-install --no-floppy --grub-mkdevicemap=/mnt/device.map --modules="biosdisk part_msdos ext2 configfile normal multiboot" --root-directory=/mnt /dev/loop2
lzop -d /vz/dump/vzdump-lxc-111-2018_11_27-13_30_03.tar.lzo
cd  /mnt
tar xvf /vz/dump/vzdump-lxc-111-2018_11_27-13_30_03.tar
mount -o bind /proc    /mnt/proc
mount -o bind /dev     /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys     /mnt/sys
mount -o bind /run     /mnt/run
chroot /mnt
ln -s /usr/share/initramfs-tools/scripts/ /

cat > /etc/initramfs-tools/modules << EOF
piix
ata_piix
mptspi
e1000
ata_generic
EOF

cat >> /etc/inittab << EOF
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
EOF

cat > /etc/fstab << EOF
/dev/sda1 / ext4 errors=remount-ro 0 1
EOF

apt-get update
apt-get --no-install-recommends install linux-image-4.9-amd64 grub2 apt-utils systemd mingetty
apt-get remove lvm2
update-grub
update-initramfs -k all -u
exit
umount /mnt/proc
umount /mnt/dev
umount /mnt/dev/pts
umount /mnt/sys
umount /mnt/run
umount /mnt
losetup -d /dev/loop2
qemu-img convert -f raw -O vmdk /tmp/disk.img  /tmp/et03.vmdk

В дебиане 8 последнее ядро linux-image-4.9 (против 4.15 на proxmox)
После этого создаю виртуалку в ESX 4.1 (other linux 64) и подсовываю этот диск.
При попытке загрузиться сваливаюсь в busybox (initramfs) тк не находит рут.
lsmod - пусто и modprobe ata_generic пишет модуль не найден

В какую сторону копать?


Ответ на: комментарий от DeeZ

И что такого ценного в этом контейнере чтоб, так извращатся? Если просто создать норм вирт машину и в эту вирт манину перекинуть все данные sql-dump, скрипты просто переносим, web ну тут все просто. Как по мне lxc это просто контейнер с данными, и его не стоит переносить прям вот так как Вы хотите. ПЕРЕНЕСИТЕ только данные из контейнера в вирт машину.

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

Я по сути rsync и делаю просто вытаскиваю из бэкапа из тара. Но не взлетает. Есть подозрение что в контейнере что то удалено, в конфигах прописано «не использовать» изза чего виртуалка не стартует. Вот и хочу понять что.

DeeZ ()
Ответ на: комментарий от pvvking

И что такого ценного в этом контейнере чтоб, так извращатся?

Если бы вопрос был в 1 вм то да. Но тут пол сотни и «лучше пол дня потерять потом за 5 минут долететь». По этому сейчас скриптую задачу.

DeeZ ()

За дебиан не уверен, но предполагаю, что он собирает в initramfs только загруженные в данный момент модули. И ata_generic в них не входит. Соответственно в конфиге инитрамфс нужно зафорсить добавление этого модуля и пересобрать.

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

Но тут пол сотни и «лучше пол дня потерять потом за 5 минут долететь». По этому сейчас скриптую задачу.

Это шутка (у вас она куплена ... ну вы поняли что и за чем). А теперь опять вопрос? Если у вас 50+ lxc контейнеров то вам точно хватит ресурсов? Итог: (беру по максимому КЛАСТЕР esx-КУПЛЕННЫЙ + NAS) и все это на вас повесили. Я вам сочувствую с поставленной задачей. Ну а по факту могу сказать что многие наоборот wmvare -> (proxmox,kvm,...) у вас точно все в порядке с пониманием вопроса, или вы просто менеджер который тыкать мышкой умеет, и vmware (выход из данной ситуации), там та мышкой почти все можно НО ВЫ ЕЕ КУПИЛИ или так на 50+ vm развернете.
ps. если бы вы спосили lxc->Нормальная_VM_не_важна_виртуализация то может быть и ... У меня все

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

Оу, я извиняюсь, просмотрел что ядро поставлено.

Как и граб.

Соответственно в конфиге инитрамфс нужно зафорсить добавление этого модуля и пересобрать.

cat > /etc/initramfs-tools/modules << EOF
piix
ata_piix
mptspi
e1000
ata_generic
EOF
....
update-initramfs -k all -u

или вы просто менеджер который тыкать мышкой умеет

Если найдете менеджера который умеет мышкой и понимает код из первого сообщения - дайти знать. Мне поставлена задача заспиртовать. Задавать вопросы «зачем» не в моей компетенции.

DeeZ ()
Ответ на: комментарий от DeeZ

Ок.
Все что могу сказать тогда по опыту только ручное (да можно) замастырить скрипт, но только под один lxc, и его тянуть к одному контейнеру но так как у вас задача стоит OVER +50 то тут думаю только ручками + ночью с кофе (ну или кто что предпочитает)
НО ВОПРОС за чем с (фри на бабосы) переползать.
Так чтоб мож пригодилось, почему бесплатное хуже платного (купленного)

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

он собирает в initramfs только загруженные в данный момент модули. И ata_generic в них не входит.

Они загружены

#lsmod | grep
ata_generic
ata_piix
libata

В конфиге модули указаны (выше листинг), но в самом ините их нет

#lsinitramfs /initrd.img | grep ata
#

DeeZ ()
Ответ на: комментарий от DeeZ

Взял vmliniz и initrd версии 4.9.0-8.amd64 c live от Debian 9.6. Загрузился с ним, обновил Initrd, удалил ненужное.

update-initramfs -k 4.9.0-0.bpo-amd64 -u -v
update-initramfs -k 4.9.0-8.amd64 -d
update-grub

В таком виде все заработало. Но почему на хосте proxmox генерировался пустой (без модулей) initramfs?

DeeZ ()
Ответ на: комментарий от DeeZ

Почти половина их того что в первом сообщении - не нужно. Никакие конфиги править не нужно.У меня просто сломался пакет kmod. Для миграции достаточно 3 пакета: grub,linux-image и kmod

DeeZ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.