Проблема
Уход зарубежных вендоров и ужесточение лицензионной политики заставляют системных администраторов искать альтернативы VMware vSphere. Proxmox VE открытая платформа виртуализации на базе KVM и LXC становится всё популярнее в корпоративной среде, но сам процесс переезда вызывает массу вопросов. Перенести десятки и сотни виртуальных машин с ESXi на Proxmox без потери данных, с минимизацией простоя и без покупки дорогих средств миграции это задача, требующая чёткой методики. Неправильный подход грозит несовместимостью дисковых форматов, сбоем загрузки ВМ после конвертации и потерей сетевых настроек. Миграция с VMware на Proxmox должна быть тщательно спланирована, и в этой статье мы разберём проверенный алгоритм ручного переноса, опираясь на официальные источники и документацию сообщества.
Решение
Будем использовать встроенную утилиту qemu-img для конвертации виртуальных дисков из формата VMDK в QCOW2, а затем создавать и запускать виртуальные машины на Proxmox вручную. Это гарантирует контроль над каждым этапом. Такой подход описан в официальном руководстве Proxmox VE Migration Guide и в документации QEMU по работе с образами дисков. Он универсален для любых версий ESXi (6.5, 6.7, 7.0, 8.0) и Proxmox VE (7.x и 8.x). Если нужна «бесшовная» миграция с минимальным простоем, рассмотрим гибридный подход. Синхронизация дисков и живая миграция через резервную копию. В любом случае, предварительное планирование и тестирование на копии данных обязательны.
Пошаговая инструкция
Шаг 1. Предварительные действия на стороне VMware
Перед началом миграции подготовьте виртуальную машину.
Удалите VMware Tools из гостевой ОС (особенно на Windows). После миграции на KVM рекомендуется установить агент qemu-guest-agent на Linux и virtio драйверы на Windows. Для Windows также замените драйвер контроллера SCSI на стандартный Intel AHCI через утилиту MergeIDE или вручную. Иначе ВМ не загрузится после переноса.
Выключите виртуальную машину корректно из гостевой ОС.
Экспортируйте диски. Скачайте VMDK файлы. Есть несколько способов.
Скачать через vSphere Client (Datastore Browser) прямо на рабочую станцию администратора.
Скопировать через SCP на промежуточный Linux сервер. scp root@esxi:/vmfs/volumes/datastore1/VM/VM.vmdk /tmp/ (требуется включить SSH на ESXi).
Задокументируйте конфигурацию исходной ВМ. Количество CPU, объём памяти, порядок загрузки, MAC адреса сетевых адаптеров. В vSphere это можно выгрузить через PowerCLI.
text
Get-VM -Name "VMName" | Select-Object Name,MemoryMB,NumCpu,NetworkAdapters
Шаг 2. Конвертация диска VMDK в формат QCOW2
На сервере Proxmox (или на любом Linux хосте с установленным пакетом qemu-utils) выполните конвертацию.
Установите необходимый пакет.
text
apt install qemu-utils -y
Переместите файл VMDK на сервер Proxmox через SCP или временную шару Samba или NFS. Предположим, диск находится в /mnt/migration/disk.vmdk.
Выполните конвертацию.
text
qemu-img convert -f vmdk -O qcow2 /mnt/migration/disk.vmdk /mnt/migration/disk.qcow2
Ключ -f vmdk указывает исходный формат, -O qcow2 целевой. Процесс может занять от нескольких минут до часов в зависимости от размера диска. Для ускорения можно использовать сжатие.
text
qemu-img convert -f vmdk -O qcow2 -c /mnt/migration/disk.vmdk /mnt/migration/disk.qcow2
Для тонких дисков (thin provision) используйте опцию -o preallocation=metadata или предварительно преобразуйте VMDK в raw и потом в qcow2 с опциями тонкого провижининга.
Шаг 3. Создание виртуальной машины на Proxmox
Теперь создадим новую ВМ, воссоздав конфигурацию старой.
Зайдите в веб-интерфейс Proxmox VE, выберите целевой узел, нажмите «Создать ВМ» (Create VM).
На вкладке General задайте имя и ID.
OS. Выберите «Do not use any media» (образ загрузочного диска уже будет прикреплён). Гостевая ОС соответствующая вашей системе (Linux или Windows версии).
System. Оставьте графическую карту «Default», SCSI контроллер «VirtIO SCSI» (рекомендуется для производительности). Если на исходной ВМ был SATA диск и вы не меняли драйверы на virtio, временно выберите SATA, чтобы система загрузилась. Позже после установки VirtIO драйверов можно переключить.
Hard Disk. На этом этапе добавьте импортированный диск.
Удалите созданный по умолчанию пустой диск (кнопка Detach → Remove).
В командной строке хоста Proxmox переместите qcow2 файл в хранилище ВМ.
text
mv /mnt/migration/disk.qcow2 /var/lib/vz/images/<VMID>/vm-<VMID>-disk-0.qcow2
Затем в веб-интерфейсе на вкладке Hardware выберите Add → Hard Disk, выберите SCSI (или SATA) и укажите путь к существующему диску.
CPU и Memory. Задайте значения, аналогичные исходной ВМ.
Network. Добавьте сетевой адаптер с моделью VirtIO (для Linux) или Intel E1000 (для Windows без драйверов VirtIO). Скопируйте MAC адрес исходной ВМ, если внутри гостевой ОС настроены статические IP, чтобы избежать смены сетевых параметров.
Options. Проверьте порядок загрузки. Первым должен стоять ваш диск. Опцию QEMU Agent включите, если планируете установить агент.
Нажмите Finish и запустите ВМ. Проверьте, загружается ли ОС.
Шаг 4. Пост-миграционные действия
После успешной загрузки гостевой ОС выполните следующие действия.
Установите гостевые агенты и драйверы.
Linux. apt install qemu-guest-agent -y.
Windows. Установите VirtIO Drivers ISO, загрузив ISO образ из хранилища и прикрепив его к виртуальному CD ROM. Установите драйверы для сети, SCSI контроллера, Balloon драйвер и qemu-ga. После этого можно переключить SCSI контроллер и сетевой адаптер на VirtIO в свойствах ВМ (потребуется перезагрузка).
Активируйте QEMU Agent в свойствах ВМ (Options → QEMU Agent → Enabled). Это позволит корректно завершать работу и получать информацию из гостевой ОС.
Измените IP адрес, если сеть изменилась. Проверьте доступность ВМ по сети.
Создайте резервную копию средствами Proxmox (Datacenter → Backup) сразу после успешной миграции.
Шаг 5. Альтернативный метод. Импорт OVF или OVA
Если экспортировать ВМ из VMware в формат OVF (Open Virtualization Format), можно импортировать её на Proxmox с помощью утилиты qm importovf.
Экспортируйте ВМ в OVF или OVA через vSphere Client (пункт «Export OVF Template»). Перенесите файлы .ovf и .vmdk (или единый .ova) на сервер Proxmox.
Выполните команду импорта.
text
qm importovf <VMID> /path/to/file.ovf <target_storage>
Где <target_storage> это имя хранилища (local-lvm, local-zfs и т.д.). Этот метод сохраняет конфигурацию, но всё равно требует пост-миграционной установки драйверов.
Устранение распространённых проблем
СимптомВероятная причинаРешениеВМ не загружается после конвертации, ошибка «Boot device not found»Неправильный порядок загрузки или SCSI контроллер не поддерживается без драйверовПереключите тип контроллера на SATA или IDE на время первой загрузки. Установите VirtIO драйверы, затем переключите обратно.Windows вылетает в BSOD (0x0000007B)Драйвер контроллера VMware несовместим с KVMПеред миграцией замените драйвер SCSI на стандартный AHCI через утилиту MergeIDE, либо в Proxmox временно выберите IDE контроллер для первой загрузки.Сетевая карта не определяется (Windows)Отсутствуют драйверы VirtIO netУстановите VirtIO Drivers ISO (добавьте CD ROM с драйверами) и укажите драйвер вручную в Диспетчере устройств.Медленная производительность дискаИспользуется эмуляция SATA вместо VirtIO SCSIУстановите VirtIO драйверы в гостевой ОС и переключите тип контроллера на VirtIO SCSI.Ошибка «TASK ERROR: storage does not support this format» при импортеНеправильно указано хранилище или формат не поддерживаетсяДля LVM-Thin или ZFS используйте чистый импорт через qm disk import, а не простое копирование. Например: qm disk import <VMID> disk.qcow2 local-lvm.После миграции изменился MAC адрес сети, потерян сетевой доступProxmox сгенерировал новый MACПеред первым запуском ВМ вручную задайте оригинальный MAC адрес в свойствах сетевого адаптера.
Миграция с VMware на Proxmox это проект, который при правильном подходе выполняется без потери данных и с минимальным временем простоя. Ключевые моменты перечислены ниже.
Подготовка ВМ на стороне VMware (удаление VMware Tools, замена драйверов).
Аккуратная конвертация дисков через qemu-img.
Пост-миграционная установка VirtIO драйверов.
Использование OVF экспорта упрощает процесс для сложных конфигураций. После переноса критически важно сразу настроить резервное копирование и проверить стабильность работы. Опыт показывает, что большинство проблем с загрузкой решается временным переключением контроллера диска на SATA или IDE до момента установки VirtIO драйверов. Следуя этой инструкции, вы сможете безболезненно перевести парк виртуальных машин с VMware на открытую платформу Proxmox.