Есть простой и быстрой способ перенести виртуальную машину esxi с хоста на хост используя ssh.
Чтобы мигрировать vm с хоста на хост первое что нам понадобится — это включить SSH доступ на обоих узлах.
Для этого заходим в VMware vSphere Client или веб интерфейс, если версия esxi 6.0 и выше, и включаем в разделе Manage — Services службу TSM-SSH.
На хосте назначения нужно создать каталог на datastore в который мы переместим файлы vm. Лучше сделать через клиент vmware или веб интерфейс.
Далее на исходном хосте нужно проверить разрешение firewall.
Заходим по ssh на хост с нашей vm и проверяем правило брандмауэра:
esxcli network firewall ruleset list --ruleset-id sshClient
Если написано false, то разрешаем подключение клиента ssh:
esxcli network firewall ruleset set --ruleset-id sshClient --enabled=true
Далее используем команду ls для отображения списка файлов виртуальной машины:
ls -l /vmfs/volumes/datastore1/veeam/
Нас интересуют 3 файла с расширениями:
*.vmx — главный конфигурационный файл
*.vmdk — файл с описанием параметров виртуального диска
*-vmdk — диск с данными виртуальной машины
Более подробное описание файлов виртуальной машины здесь.
И непосредственно команды для копирования файлов vm на другой хост, у меня получилось:
gzip -1 </vmfs/volumes/datastore1/veeam/veeam.vmx | ssh root@192.168.0.157 gunzip ">" /vmfs/volumes/bkp/veeam/veeam.vmx
gzip -1 </vmfs/volumes/datastore1/veeam/veeam.vmdk | ssh root@192.168.0.157 gunzip ">" /vmfs/volumes/bkp/veeam/veeam.vmdk
gzip -1 </vmfs/volumes/datastore1/veeam/veeam-flat.vmdk | ssh root@192.168.0.157 gunzip ">" /vmfs/volumes/bkp/veeam/veeam-flat.vmdk
После выполнения первой команды целевой хост запросит принятие сертификата и ввод пароля. Прошу заметить, что копирование может занять достаточно долгое время.
После копирования файлов нужно добавить виртуальную машину в клиенте vmware, используя пункт Register an existing virtual machine.
В случае, если конфигурация оборудования изменилась, то после добавления vm нужно будет поправить ее настройки.
На этом перенос виртуальной машины esxi на другой хост закончен. Думаю было не сложно 🙂
А как скопировать файлы без использования gzip?
PS это просто супер информация, я столько раз таскал файлы через локальный комп что не счесть! Автор спасибо!
cd /vmfs/volumes/datastore1/veeam
scp *vm* server2:dir2/ — все *.vmx, *.vmdk, *-vmdk файлы в удалённый каталог dir2/
сам счас перегоняю так
или весь каталог рекурсивно —
scp -r /vmfs/volumes/datastore1/veeam server2:/vmfs/volumes/datastore2/
тогда потом почистить *.log, *.nvram, *.vswp, …