Миграция виртуальных машин VMware Workstation на Proxmox

Перенос виртуальных машин VMware Workstation 16 на Proxmox VE 9.2

Перенос виртуальных машин VMware Workstation 16 на Proxmox VE 9.2 возможен, но не напрямую (в отличие от ESXi). VMware Workstation не экспортирует VMs напрямую в формате, совместимом с Proxmox. Нужно экспортировать как OVF + VMDK или работать с сырыми файлами .vmx/.vmdk.

Proxmox VE 9.2 отлично поддерживает импорт OVF и QEMU/KVM, поэтому процесс довольно простой и надёжный. Я дам самый надёжный и популярный способ (OVF + qm importovf), а также альтернативу.

Важные подготовительные шаги

  • Остановите все VMs в VMware Workstation.
  • Установите на Proxmox VE 9.2:Bash
    apt update && apt install qemu-utils -y
  • Убедитесь, что в .vmx файлах стоят правильные версии QEMU (рекомендуется обновить Proxmox до последнего патча).
  • Сделайте полную резервную копию данных перед миграцией.

Метод 1: Экспорт OVF + импорт в Proxmox (рекомендуемый)

Это самый чистый способ — сохраняется конфигурация VM, диски и BIOS/UEFI.

Шаг 1: Экспорт из VMware Workstation

  • В VMware Workstation:
    • Правой кнопкой на VM → Export (или в меню File).
    • Выберите Export as OVF (не OVA — она создаётся как архив, а Proxmox импортирует именно .ovf).
    • Укажите папку для экспорта (например, /tmp/vm-export).
  • Процесс займёт время в зависимости от размера диска.

Шаг 2: Перенос файлов на Proxmox

Скопируйте папку с экспортом на Proxmox (через SCP, rsync или USB):

Bash
scp -r /tmp/vm-export root@proxmox-ip:/tmp/

Шаг 3: Импорт в Proxmox VE 9.2

Bash
qm importovf 300 /tmp/vm-export/MyVM.ovf local-lvm
  • 300 — свободный VM ID.
  • local-lvm — целевое хранилище (можно local-zfs, ceph, nas и т.д.).
  • Команда создаст VM с ID 300, импортирует диски (конвертирует VMDK в qcow2) и настроит конфиг.

Шаг 4: Дополнительная настройка (если нужно)

  • Проверьте конфиг: qm config 300.
  • Добавьте/замените сетевой адаптер: qm set 300 --net0 virtio,bridge=vmbr0.
  • Измените диск-контроллер на VirtIO SCSI (рекомендуется): qm set 300 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-300-disk-0.
  • Установите QEMU Guest Agent (для гостя) и VirtIO-драйверы в гостевой ОС.

VM готова! Запустите и проверьте.

Метод 2: Прямая работа с .vmdk файлами (альтернатива)

Если OVF не нужен или не получается.

  • В VMware Workstation правой кнопкой на VM → Export как OVA (или вручную скопируйте .vmdk + .vmx).
  • Перенесите файлы на Proxmox.
  • Скопируйте .vmdk в директорию VM (например, /var/lib/vz/images/300).
  • Конвертируйте диск:Bash
    qemu-img convert -f vmdk -O qcow2 /var/lib/vz/images/300/MyVM.vmdk /var/lib/vz/images/300/vm-300-disk-0.qcow2
  • Создайте VM:Bash
    qm create 300 --name MyVM --memory 4096 --cores 2 --net0 virtio,bridge=vmbr0
  • Импортируйте диск:Bash
    qm importdisk 300 /var/lib/vz/images/300/vm-300-disk-0.qcow2 local-lvm
  • Прикрепите:Bash
    qm set 300 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-300-disk-0

После миграции (обязательно!)

  • Установите QEMU Guest Agent в гостевой ОС (Linux) или VirtIO-драйверы + QEMU Guest Agent (Windows).
  • Удалите VMware Tools, если остались.
  • Протестируйте производительность, сетевые настройки и бэкапы.
  • Для Windows-гостей: настройте загрузку BIOS/UEFI точно так же, как в VMware.

Дополнительные советы

  • Множественные VM — повторяйте шаги для каждой (или напишите скрипт).
  • Снапшоты в VMware — сначала консолидируйте (VMware → Manage → Consolidate disks).
  • Проблемы с загрузкой — чаще всего из-за контроллера SCSI или отсутствия VirtIO-драйверов.
  • Живая миграция — в Proxmox 9.2 она возможна, но для Workstation проще сделать offline.