Как перенести виртуальную машину ESXI на другой хост по ssh

Есть простой и быстрой способ перенести виртуальную машину 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

перенос vm esxi по ssh

После выполнения первой команды целевой хост запросит принятие сертификата и ввод пароля. Прошу заметить, что копирование может занять достаточно долгое время.

После копирования файлов нужно добавить виртуальную машину в клиенте vmware, используя пункт Register an existing virtual machine.

В случае, если конфигурация оборудования изменилась, то после добавления vm нужно будет поправить ее настройки.

На этом перенос виртуальной машины esxi на другой хост закончен. Думаю было не сложно 🙂

2 комментария к “Как перенести виртуальную машину ESXI на другой хост по ssh”

  1. А как скопировать файлы без использования 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, …

      Ответить

Оставьте комментарий