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

Обновлено: 04.07.2024

Доброго времени суток! Миграция физических серверов на VMware ESXi через VMware Converter Standalone дело довольно обычное и каждый системный администратор рано или поздно с этим столкнётся. Сейчас я вам покажу как можно перенести вашу физическую рабочую машину или сервер на гипервизор VMware ESXi при помощи Converter Standalone. А также постараюсь сразу же рассмотреть все возможные трудности при переносе.

Установка Converter Standalone

Для начала нам необходимо будет скачать и установить саму программу vCenter Converter Standalone.

О переносе систем на ESXi

Для переноса системы в виртуальную среду ESXi есть два типа: Powered off и Powered on.

  • Powered off
  • VMware Infrastructure virtual machine — инфраструктура на базе VMware (другая ESXi)
  • VMware Workstation or other VMware virtual machine — любая виртуальная машина от VMware
  • Hyper-V Server — с виндового гипервизора
  • Powered on
  • Remote Windows machine — удалённая машина на ОС Windwos
  • Remote Linux machine — удалённая машина на ОС Linux
  • This loacl machine — текущая система, на которой мы запустили Standalone

Powered off

В случае переноса с гипервизора на гипервизор тут всё очень просто и зачастую без сюрпризов. Выбираем источник (гипервизор с которого будем переносить виртуалку) и назначение (гипервизор куда будем переносить виртуалку), конфигурируем машину если это нужно и запускаем процедуру переноса. Соответственно вас программа будет спрашивать данные для подключения к гипервизорам. И не забываем, что предварительно нужно потушить переносимую виртуалку!

Powered on

Для начала не забываем запускать сам Converter Standalone от имени Администратора!

Перенос операционной системы в гипервизор ESXi при помощи This loacl machine

При нажатии Convert machine перед нами появляется окно настроек для конвертации машины/сервера на гипервизор ESXi. Сейчас нас интересует тип источника Powered on. А если конкретно , то This local machine (Эта локальная машина). Это значит, что мы будем переносить текущую систему из под которой и запустили Standalone Converter.

VMware vCenter Converter Standalone нужно запускать от имени Администратора!

source system: this local machine

Далее всё просто. Destination System это то, куда мы собираемся перенести нашу рабочую среду. Указываем VMware Infrastructure virtual machine и чуть ниже прописываем параметры для подключения к гипервизору (ip адрес, имя пользователя и пароль).

Destination System

Обзываем нашу систему.

Destination Virtual Machine

В Destination Location указываем в какое хранилище мы будем переносить систему. Отображаются для информации: объём хранилища, занимаемое и свободное место.

Destination location

А вот тут я бы остановился поподробнее. Так как у нас на гипервизоре место не резиновое, то его нужно экономить. В настройках Data to copy справа прожимаем кнопку Edit и проваливаемся в настройки наших томов.

options

Тут то мы и пошаманим немного. Для начала отсекаем все ненужные тома. В моём случае это был том D, так как все 232,32 Gb были абсолютно неиспользованные и раздувать ими образ виртуальной машины нет никакого желания. Идём дальше. Системный диск занимает 43,41 Gb, но к нему я сделаю +10 Gb. Так как совсем ужиматься тоже не стоит.

Select volumes

Дальше запускаем конвертацию и можем наблюдать в колонке Status прогресс конвертации/переноса вашей рабочей машины на гипервизор ESXi.

Start convertation job

Перенос операционной системы в гипервизор ESXi при помощи Remote Windows machine

Тут процедура точно такая же, только вместо Powered on выбираем Powered off и Remote Windows machine, а поскольку это машина удалённая, то нам нужно будет дополнительно прописать доступы к ней (ip адрес, имя пользователя и пароль). После того как соединение с машиной-источником установим нам будет предложено выбрать в диалоговом окне каким образом мы удалим с конвертируемой машины агента Standalone. Автоматически после переноса или самостоятельно своими ручками чуть позже.

Conver Standalone agent

Дальше процесс никак не отличается от клонирования локальной машины. Не вижу смысла повторять одно и тоже по нескольку раз.

Возможные проблемы

Рекомендую для начала проверить саму систему на наличие повреждений системных файлов. Запускаем командную строку от имени администратора и выполняем sfc:

Unable to contact the specified host

VMware vCenter Converter Standalone Unable to contact the specified host 'ip_address'. The host might not be available on the network, there might be a network configuration problem, or the management services on this host are not responding.

Зачастую это связано с тем, что на вашей системе или на удаленной ОС закрыты порты 443 и/или 80.

А также причиной может быть фаервол или встроенный Windows Defender. На время миграции машины на гипервизор попробуйте отключить защиту.

Permission to perform this operation was denied

Permission to perform this operation was denied

Тут говорится, что нехватает прав. Но почему? Я ведь и так администратор, в чём дело? Мы знаем, что Standalone был запушен от имени администратора, да и к удаленной системе мы также подключаемся к учётной записи администратора. Так вот. Причиной такого поведения может послужить UAC (контроль учётных записей).

Permission to perform this operation was denied

Insufficient permissions to connect to admin$

ошибка Insufficient permissions to connect to admin$

Решение. Способ 1

Открываем в реестре regedit следующую ветку:

Открываем и редактируем реестр

Там необходимо создать параметр DWORD 32-bit LocalAccountTokenFilterPolicy и присвоить ему параметр 1. После сохранения перезагрузите ОС для применения изменений.

Решение. Способ 2

Также в каких-то случаях помогает следующая процедура: Открываем групповые политики gpedit.msc и переходим в раздел

Открываем и редактируем групповые политики

И нас в этом разделе интересует политика Сетевой доступ: модель общего доступа и безопасности для локальных учетных записей. Политику необходимо изменить на Обычная - локальные пользователи удостоверяются как они сами. После сохранения перезагрузите ОС для применения изменений.

Решение. Способ 3

Открываем оснастку общих папок fsmgmt.msc и смотрим что папка ADMIN$ присутствует в списке общих ресурсов. Если её нет — возвращаем. По итогу у вас должен открываться каталог:

fsmgmt.msc проверяем доступ в оснастке общих папок

Решение. Способ 4

Установить Convertor agent на машине, которую собираетесь переносить на гипервизор.

Установка convertor agent

Ошибка в процессе переноса Error code: 225

В процессе переноса виртуальной машины я получил следующую ошибку где-то на 50%.

FAILED: An error occurred during conversion: 'File-level volume clone error failed with sourcevolume id \WindowsBitmapDriverVolumeId=[. ] and target volume id 44=494. Error code: 225 '

Данную ошибку я решил путем отключения встроенного защитника Windows через стандартное приложение "Настройки".

Понадобилось нам установить ESXi на Blade HP BL35p. Но почему-то при установке ESXi не может обнаружить установленный там жесткий диск. Причем на HP BL20p ставится без проблем, а вот на 35й никак не хочет — выдает ошибку:

Unable to find a supported device

Была еще одна возможность использования USB устройств. На передней панели сервера есть специальный разъем, куда подсоединяется хитрый кабель с выходами на PS/2 мышь, клавиатуру, монитор и 2 USB порта. Но такое решение больше подходит для временного подключения, а не для штатной работы.

Вариант с образом dd для flash

неудача с dd на партицию
неудача с dd на отдельный диск
dd образ уже содержит несколько разделов

Немного поискав и поразмыслив я отказался от этого способа (запись образа dd из дистрибутива прямо на диск), т. к. не знал, что нужно сделать, чтобы сервер понял как ему грузиться в этом случае.

Загрузка ESXi по сети с использованием PXE

Успешный вариант с переносом разделов с BL20p


Я подумал, что все это просто организуется как для флешки, так и для PXE загрузки. Можно добавлять записи для своих драйверов устройств при помощи манипуляций с файлом oem.tgz. Значит мне нужен просто нормальный Live Cd и сервер, на который уже установился ESXi.
Поэтому я установил ESXi на резервный BL20p, где не возникает никаких проблем. Скачал ubuntu-8.10-desktop-i386.iso
карта партиций только что установленного ESXi

Загрузился в Убунту посмотрел на диск с ESXi. Увидел такую картину:

И мне почти все стало понятно :)
раздел /dev/cciss/c0d0p4 у нас загрузочный, дополнительный раздел (extended) /dev/cciss/c0d0p1 со своими подразделами (p5, p6, p7, p8) содержит в себе все необходимое для работы ESXi.
Остаются еще два основных раздела:
/dev/cciss/c0d0p2 — здесь лежит файл подкачки (uwswap)
/dev/cciss/c0d0p3 — это хранилище, под которое при установке выделяется все оставшееся место.

перенос основной части
копирование содержимого партиции2
манипуляции с партицией3 (возможно, что это делать не обязательно)

После перезагрузки ESXi работает как ни в чем не бывало. Ура! Все получилось! :)

создание Storage из VI Client

Остается только сконфигурировать наш сервер.
Настраиваю из консоли ip адрес нового сервера. Захожу на него с помощью VMWare Infrastructure Client. В настройках вижу, что на этом сервере есть хранилище на 13,3 Гб и еще около 40 Гб неиспользуемого пространства, т. к. здесь установлен винчестер на 60Гб.
Удаляю существующее хранилище на 13,3 Гб, потом создаю новое из неразмеченного пространства в 55 Гб.

Здесь есть одна опасность. Когда создается новое хранилище у меня по умолчанию предлагается использовать весь диск. Хотя там и выскакивает предупреждение, что все данные будут уничтожены, я в полной уверенности, что работаю с неразмеченной частью диска успешно организовал хранилище поверх самого ESXi, который продолжал функционировать до следующей перезагрузки. Только тогда я понял, что был неправ, уничтожив все на диске :)

Пришлось повторить описанную выше процедуру переноса сервера.

Заключение

Когда весь путь пройден, все кажется настолько простым и очевидным, что просто диву даешься чего я так мучился в начале :)
Вдруг кто-то окажется в начале этого пути и не все будет ему очевидным. Может быть мое описание ему хоть немного поможет :)

Есть два хоста ESXi 4.1 в одной сети, нужно перетащить с одного на другой кучу машин. Вопрос: как это проще всего сделать?

С ESXi никогда раньше не работал серьёзно, в гугл пойду, но запрос подскажите.


А в чем сложность использовать штатные экспорт и импорт?


Ткните пальцем, где вы нашли в ESXi (vSphere Client) экспорт/импорт?

апгрей до vsphere и live migration :)

Апгрейдить необязательно — можно поставить evaluation на 60 (вроде) дней.


Апгрейд не вариант. А нельзя прицепить датастор с соседнего хоста?

Если локальный датастор, то нет (такое есть только в 5-й, да и то с ограничениями). Но в vsphere есть storage vmotion.


1) купить лицензию. Для живой миграции должен быть общий storage.

2) без лицензии, перенос ВМ с выключением:

через vc клиент разрешить подключение к хостам по ssh. Т.е. на источнике разрешить ssh server и ssh client, на приёмнике - ssh server

заходишь по ssh на esxi-источник

через vc клиент гасишь ВМ, затем remove from inventory

по ssh копируешь на другой esxi

Подключаешься vc клиентом к esxi-приёмнику, browse datastore, ищешь вм, на .vmx файл мышкой, add to inventory


Если локальный датастор, то нет (такое есть только в 5-й, да и то с ограничениями).

это и есть svmotion, только теперь он так не называется ;)

Но в vsphere есть storage vmotion.

Чтобы от svmotion был профит, всё равно нужен общий datastore. Хотя бы нищебродские iscsi или nfs


Veeam FastSCP
VMware converter

это и есть svmotion, только теперь он так не называется

Не, там что-то отдаленно напоминающее drbd сделали.

Чтобы от svmotion был профит, всё равно нужен общий datastore.

Storage vmotion перемещает файлы машин с одного датастора на другой, причем тут общий, честно говоря, не понял.

date

14.02.2020

directory

VMWare, Виртуализация

comments

комментариев 10

Технология vMotion позволяет перенести запущенную виртуальную машины VMWare с одного физического хоста ESXi на другой без прерывания ее работы и остановки сервисов. В этой статье мы рассмотрим особенности технологии VMWare vMotion: как работает vMotion, какие виды vMotion бывают, как настроить vMotion в VMWare vSphere и как вручную смигрировать виртуальную машину между хостами ESXi или хранилищами с помощью vMotion. Рассмотрим основные способы оптимизации vMotion и решения проблем.

Аналогичная технология Microsoft для миграции ВМ между хостами Hyper-V называется Hyper-V Live Migration

vmware vmotion faq

Как работает VMWare vMotion?

  1. Сервер управления VMWare vCenter;
  2. Наличие общего хранилища (подключенного через Fibre Channel, iSCSI или NAS), на котором хранятся файлы виртуальной машины. Благодаря общему хранилищу в SAN сети несколько физических ESXi серверов могут получать доступ к файлам одной ВМ;
  3. Наличие общей быстрой сети ( не менее 1 Гб Ethernet) между исходным и целевым хостом ESXi. При миграции у ВМ сохраняется ее оригинальный MAC адрес, а vMotion оповещает маршрутизатор о том, что местоположение данного MAC адреса изменилось. В результате активные сетевые соединения не теряются;
  4. Совместимость процессоров на хостах, или включённая опция Enhanced vMotion Compatibility (EVC)

Как происходит vMotion? Сначала на целевом хосте создается теневой клон исходной ВМ с такой-же конфигурацией из vmx файла. Эта ВМ-клон видит все файлы ВМ на общем хранилище. Содержимое оперативной памяти и состояние запущенной ВМ передается по сети между исходным и целевым хостом ESXi. vMotion делает снапшот состояния памяти ВМ, копирует его на целевой сервер по сети. vMotion при этом отслеживает изменения в страницах памяти, а затем до-копирует модифицированные сегменты памяти (это может происходить в несколько этапов, каждый раз копируется все меньший объем данных и за меньшее время).

В какой-то момент состояние исходной ВМ замораживается, выполняется копированию изменённых сегментов памяти и команд процессора, и ВМ запускается на целевом ESXi. Весь процесс для 1/10 Гб Ethernet сети для средних размеров ВМ занимает несколько секунд.

Виды VMware vMotion

VMWare под названием vMotion понимает целый стек различных технологий, позволяющих переместить на лету запущенные ВМ между серверами, дисковыми массивами, городами или между наземной и облачной инфраструктурой.

  • Классический vMotion – миграция запущенной ВМ между серверами ESXi;
  • Storage vMotion – онлайн перенос файлов виртуальной машины между хранилищами (дисковыми массивами);
  • Shared-Nothing vMotion – миграция ВМ между серверами ESXi по сети без использования общего хранилища (требуется L2 сеть);
  • Long Distance vMotion – перенос ВМ между удаленными сайтами (максимальная задержка Round Trip Time до 150 мс, в том числе в L3-сетях). Появился в версии vSphere 6.0;
  • Encrypted vSphere vMotion – возможность шифрования ВМ при передачи по сети (доступно в vSphere 6.5);
  • Cross-Cloud Cold и Hot Migration – онлайн и офлайн миграция между наземной и облачной инфраструктурой;

Особенности VMware Storage vMotion

Как мы уже сказали, технология Storage VMotion позволяет переместить файлы запущенной виртуальной машины (виртуальные диски и файлы конфигурации) на другое VMFS/NFS хранилище (LUN, дисковый массива) без остановки ВМ.

Требования для успешного выполнения Storage VMotion:

  • Диски VM должны иметь тип persistent или RDM;
  • Не поддерживается миграция ВМ, во время установки VMware Tools;
  • При миграции нужно учитывать версию VMFS на хранилище. Например, нельзя перенести диск размером более 2 Тб с VMFS5 на VMFS3;
  • Наличие лицензии на хосте ESXi;
  • Хост, на котором запущена ВМ должен иметь доступ к исходному и целевому хранилищу;
  • При копировании для диска виртуальной машины используется технология Changed Block Tracking, которая позволяет отслеживать измененные блоки данных и до-копировать их.

Enhanced vMotion Compatibility (EVC) в VMWare

Режим Enhanced vMotion Compatibility (EVC) для кластеров VMware HA/DRS используется, если кластер построен на хостах с процессорами разных поколений (но не разных производителей!!). При включении EVC для кластера, гипервизор начинает маскировать инструкции CPU, которые поддерживаются не на всех хостах. При включении EVC все функции процессоров хостов ESXi в кластере начинают соответствовать некому базовому минимальному набору инструкций CPU, который задал администратора vSphere в настройках.

Таким образом благодаря EVC вы можете мигрировать ВМ между хостами с разными наборами инструкций процессора.

Нельзя смешивать в одном кластере vSphere хосты с разными вендорами процессоров, например, Intel и AMD. EVC позволяет добиться совместимости между процессорами только одного вендора.

Вы можете включить VMWare EVC на уровне кластера. Перейдите в раздел Configure -> Configuration -> VMWare EVC и нажмите кнопку Edit.

Enhanced vMotion Compatibility (EVC) в VMware ESXi

При включении EVC для кластера вам нужно выбрать режим EVC (для AMD или Intel) и выбрать в выпадающем списке минимальное поколение процессоров вендора, которые имеются в вашем кластере.

включить EVC для Intel процессоров

VMWare рекомендует всегда включать EVC, независимо от того какие хосты у вас в кластере. Так вам будет проще при расширении кластера. Есть даже отдельный документ, где доказывается, что даже если ваши ВМ не будут использовать весть набор инструкций, на производительность это не скажется.

В VMware vSphere 6.7 появились технологии миграции между облаком и on-prem (Cross-Cloud Cold и Hot Migration). Для реализации ВМ в облако теперь можно включать в настройках ВМ Per-VM EVC (доступно в vSphere 6.7 с Hardware Version 14).

Можно получить базовые уровни EVC выставлены для ВМ в кластере из PowerCLI:

Чтобы получить максимально поддерживаемый режим EVC на:
Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode

Как включить vMotion в VMWare vSphere?

Рассмотрим, как включить vMotion на примере VMWare vSphere 6.7. Для использования vMotion достаточно лицензии Essentials Plus .

vMotion включается на уровне VMkernel виртуального коммутатора хоста ESXi. Выберите хост, перейдите на вкладку Configure -> Networking -> VMkernel adapters.

Выберите ваш VMkernel интерфейс и откройте его свойства (Edit).


В свойствах vmk порта в секции Enabled Service включите опцию vMotion.

включить vMotion на vmkernel интерфейсе

В моем примере HA кластер VMWare уже создан и используется vSphere Distributed Switch (VDS).

vMotion: как мигрировать ВМ между серверами

Чтобы с помощью vMotion перенести запущенную ВМ между двумя ESXi хостами, запустите vSphere Client, щелкните по ВМ и выберите Migrate.

запустить mvotion в vmware

Выберите тип миграции, который вы хотите использовать:

Я выбрал первый вариант.

Мастер миграции предложит выбрать хост, кластер, resourse pool или vApp, в который нужно перенести данную виртуальную машину. Выберите хост. Если vMotion настроен правильно, и не обнаружено конфликтов, в секции Compatibility будет указано: Compatibility checks succeeded.

выбор esxi хоста, на который нужно смигрировать виртуальную машину, проверка совместимости

Мастер миграции ВМ предложит выбрать в какую сети нужно поместить vNIC сетевой ВМ при миграции. Если вы хотите, чтобы ВМ была доступна после миграции, она должна быть помещена в тот же самый сегмент (VLAN), как и на исходном хосте. Если у вас используется стандартный vSphere Switch, нужно создать одинаковые группы портов (Port Group) на всех ESXi хостах. При использовании VDS, группы портов на всех хостах кластера одинаковые.

выбор сети ВМ при vmotion

На последнем этапе нужно выбрать приоритет задачи миграции vMotion. По-умолчанию используется наивысший приоритете (Schedule vMotion with high priority). Я всегда использую именно его.

Schedule vMotion with high priority - приоритет vMotion

Осталось нажать Next -> Finish и запустится процедура миграции ВМ на другой хост. За статусом миграции можно следить в панели Recent Tasks (задание Relocate virtual machine). В моем случае процесс миграции ВМ с помощью vMotion по 10 Гб Ethernet занял около 3 секунд.

Убедитесь, что ваша ВМ теперь запущена на другом хосте ESXi.

Relocate virtual machine - выполнена vmotion ВМ

Можно переместить запущенную ВМ на другой хост с помощью PowerShell командлета Move-VM из PowerCLI. Например, мы хотим перенести все ВМ с хоста esxi-1 на esxi-2:

Get-VMHost esxi-1|Get-Vm| Move-VM –Destination (Get-VMHost esxi-2)

Почему не работает vMotion?

Перечислим основные причины, из-за которых vMotion может завершаться с ошибкой или миграция ВМ выполняться очень медленно:

При ошибках миграции ваша ВМ не выключается, не прекращает работу и по прежнему запущена на исходном хосте.

Как ускорить/оптимизировать vMotion для быстрой миграции ВМ?

Вы можете ускорить миграцию ваших виртуальных машин несколькими способами.

  • В первую очередь желательно использовать максимально производительную сеть между ESXi хостами. Нужно использовать как минимум 10 Gb, а лучше 25Gb сеть (сетевой адаптер вашего ESXi сервера и физический коммутатор должны поддерживать этот режим).
  • Использовать разные физические интерфейсы для трафика vMotion;
  • При миграции vMotion используются потоки. Для одного интерфейса VMkernel, для которого включен vMotion, создается один поток. При этом этот поток может использовать только одно ядро процессора.

Чтобы предоставить для процессов vMotion более одного ядра CPU, нужно создать несколько VMkernel интерфейсов с включенной опцией vMotion и привязать их к одному NIC интерфейсу. Один поток vMotion имеет среднюю пропускную способность около 15 GbE, соответственно, чтобы загрузить сеть 100 GbE вам нужно 6 потоков.

Читайте также: