Массовая миграция из ESXi в Proxmox

VirtualBox, QEMU, ESX/ESXi и прочия
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
beren
проходил мимо
Сообщения: 8
Зарегистрирован: 2019-04-29 16:42:58

Массовая миграция из ESXi в Proxmox

Непрочитанное сообщение beren » 2019-05-06 10:10:32

Добрый день.

Пишу скрипт для массовой миграции из ESXi в Proxmox.

Идея такая скопировать по scp на Proxmox файлы flat.vmdk из ESXi, сконвертировать их и записать с помощью dd на диски в Proxmox.

Код: Выделить всё

#!/bin/bash
while read VMDK;
do
scp root@10.50.10.154:$VMDK /dev/vg_ibm_01-1/TEST_VM_DISKS
done < DISKS
exit
find /dev/vg_ibm_01-1/TEST_VM_DISKS -iname *-flat.vmdk -exec qemu-img convert {} /dev/vg_ibm_01-1/TEST_VM_DISKS/Converted/{}.raw
\;
Но:
1) Возникает ошибка qemu-img: /dev/vg_ibm_01-1/TEST_VM_DISKS/Converted//dev/vg_ibm_01-1/TEST_VM_DISKS/TEST_CentOS-flat.vmdk.raw: error while converting raw: Could not create file: No such file or directory
2) И я не понимаю как сделать соответствие для dd чтобы нужный диск копировался в нужный. По идее нужно дальше dd if=Converted/2.raw of=/dev/vg_ibm_01-1/vm-202-disk-0 . То есть нужно чтобы raw записался в диск Proxmox.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

guest
проходил мимо

Массовая миграция из ESXi в Proxmox

Непрочитанное сообщение guest » 2019-05-06 13:04:23

скрипт у Вас неверно работает, проверяйте его, ниже пример конвертации:

# qemu-img convert -f vmdk /path/vmname.vmdk -O qcow2 /path/vmname.qcow2

ну а в скрипте должны быть указаны full path name как к утилитами, так
и к файлам.

beren
проходил мимо
Сообщения: 8
Зарегистрирован: 2019-04-29 16:42:58

Массовая миграция из ESXi в Proxmox

Непрочитанное сообщение beren » 2019-05-06 13:10:25

Спасибо за ответ.

Ошибка ушла , но конвертируется только первый файл

Код: Выделить всё

#!/bin/bash
while read VMDK
do
scp root@10.50.10.154:$VMDK /dev/vg_ibm_01-1/TEST_VM_DISKS
done < ESXI
find /dev/vg_ibm_01-1/TEST_VM_DISKS  -iname *-flat.vmdk -exec qemu-img convert {} {}.raw \;
while read RAW
do
dd if=`find /dev/vg_ibm_01-1/TEST_VM_DISKS  -iname *.raw` of=$RAW
done < PROXMOX
exit
Плюс я тут добавил часть кода с dd. Но ошибка такая dd: unrecognized operand ‘/dev/vg_ibm_01-1/TEST_VM_DISKS/TEST_CentOS-flat.vmdk.raw’
Как бы так сделать, чтобы я брал конвертированные файлы raw и с помощью dd копировал их в диски из файла ?

guest
проходил мимо

Массовая миграция из ESXi в Proxmox

Непрочитанное сообщение guest » 2019-05-06 13:55:12

Вы меня не услышали или услышали частично.

1. Зачем Вам 'dd'?
2. Скрипт кривой, find вложен в dd, переменные не проверяете...
3. Я понимаю что Вы хотите быстро, но в результате, получается криво.
--
прим: vmdk возможны нескольких ревизий, если память не изменяет, с
какими-то qemu-img работает сразу из vmdk в qcow2, а с какими-то
через конвертацию vmdk в raw, а затем из raw в qcow2.
Кроме того, в VMWare есть утилита которая "поджимает" vmdk, что
правильно сделать перед конвертацией.

Теперь скрипт, Вы по scp скачиваете в Proxmox и затем конвертируете,
код возврата от scp не проверяете, chksums не проверяете,
списки не составляете, используете find как аргумент в dd...

Быстро не должно быть плохо и а бы как, sorry.

Если у Вас ESXi и Proxmox в одной локалке, почему бы не
отдать хранилище ESXi в Proxmox по NFS и скрипт будет удобней,
ну это уже техника.