На старом гипервизоре ESXi, который поднимался «чисто коклацать» разместилась одна довольно важная система. Наступил момент, когда сам гипервизор уже пора было разбирать, но что же делать с виртуалкой? Перенесём её на другой, уже production, гипервизор
Самым простым и правильным вариантом мне кажется является утилита OVFTool от VMWare
Скачать её можно тут (последняя версия на момент публикации статьи)
После установки (использую windows систему так как VMWare vSphere Client есть только под неё) переходим в каталог с утилитой
cd "C:\Program Files (x86)\VMware\VMware OVF Tool"
и пробуем совершить перенос
ovftool.exe -ds="datastore1" vi://user1@currenthost.example.com/VMName vi://user2@newhost.example.com Accept SSL fingerprint (FF:F7:8C:A5:5B:6A:37:1D:79:7E:04:98:E8:A0:11:11:11:11:11:11) for host currenthost.example.com as source type. Fingerprint will be added to the known host file Write 'yes' or 'no' yes Enter login information for source vi://currenthost.example.com/ Username: user1 Password: ************ Opening VI source: vi://user1@currenthost.example.com:443/VMName Accept SSL fingerprint (C4:2F:77:F2:CC:F5:27:D1:57:49:A0:F9:39:ED:11:11:11:11:11:11) for host newhost.example.com as target type. Fingerprint will be added to the known host file Write 'yes' or 'no' yes Enter login information for target vi://newhost.example.com/ Username: user2 Password: ************ Opening VI target: vi://user2@newhost.example.com:443/ Error: - The task was canceled by a user. Completed with errors
Так как это первое подключение, то мы должны принять SSL отпечатки с обеих хостов
Подтверждаем это вводом команды yes в обоих случаях
Вводим пароль для административной учетки на каждом гипервизоре (скрыт звёздочками)
Система производит первоначальную проверку и выдаёт сообщение об ошибке
Error: - The task was canceled by a user. Completed with errors
Совсем не очевидно, но эта ошибка означает что у нас подключены ISO/USB устройства к виртуальной машине.
Действительно так
Отключаем их (достаточно выбрать опцию Client Device) и сохраняем
и пробуем ещё раз
Снова получаем ошибку но уже вида
Error: No network mapping specified. OVF networks: SubnetSwitch. Target networks: TargetSubnetSwitch VM Network Completed with errors
Понятно, отличаются названия созданных на гипервизорах сетях
Для того что бы задать имя подсети на целевом гипервизоре используем ключ -nw
Команда преобретает вид
ovftool.exe -ds="datastore1" -nw="TargetSubnetSwitch" vi://user1@currenthost.example.com/VMName vi://user2@newhost.example.com Deploying to VI: vi://user2@newhost.example.com Progress: 2%
перенос начался
Transfer Completed Completed successfully
Готово, виртуалка на новом гипервизоре