Чи можна використовувати віртуальну машину VMware в KVM?


Головний претендент на заміну комерційної системи віртуалізації VMware - це гипервизор KVM, який підтримується сучасними ядрами Linux. Будь-який сучасний дистрибутив Linux в тій чи іншій мірі дозволить скористатися системою віртуалізації KVM. Переді мною якось поставили завдання: чи можна запустити або конвертувати одну гостьову операційну систему з однієї системи віртуалізації в іншу?

У KVM активно використовується для побудови віртуальної середовища такий компонент як QEMU. QEMU вміє працювати з файлами vmdk або конвертувати їх в свій формат. Файли vmdk є віртуальні жорсткі диски віртуальних машин VMware, які можна безпосередньо використовувати в QEMU АЛЕ:

  • Підтримуються тільки образи VMware 3, 4 і 6 версії.
  • В VMware тип віртуального диска повинен бути: 0 (single growable virtual disk) або 2 (preallocated virtual disk) або потрібно отримати з існуючого віртуального диска необхідний за допомогою vmware-vdiskmanager, що займає певний час, що залежить від розміру віртуального диска.
  • Конвертація конфігурації віртуалізованого апаратного забезпечення з одного формату (* .vmx) в інший в повністю автоматичному режимі неможлива. Потрібен постійний контроль людини і ручні правки.
  • Для тих хто використовує virt-manager для роботи з KVM / QEMU є інструмент vmware2libvirt, який володіє масою обмежень: знаходить тільки перший мережевий інтерфейс, перший жорсткий диск, захардкорджено використання 1 CPU, не можна використовувати будь-які vmware-специфічні речі для гостя.

Для переходу з однієї системи віртуалізації в іншу настійно рекомендується в гостьових віртуальних машинах з MS Windows Server провести заходи:

  • Видалити встановлені VMware Tools, які оптимізують роботу віртуальної машини в середовищі VMware. Перезавантажитися.
  • Через неможливість точь-в-точь відтворити емульованого апаратне забезпечення, системи MS Windows болісно реагують на зміну апаратури і Plug-n-Play identifier (PnP-ID). Цілком очікуваний результат буде Екран Смерті (Blue Screen of Death) з кодом помилки 0x0000007B. Для уникнення проблем рекомендується для віртуальних машин з MS Windows перейти на використання інтерфейсу роботи з дисками IDE через процедуру описаної на VMware to Proxmox VE (KVM). Перезавантажитися.
  • Якщо перехід з VMware на KVM вдався, то можна оптимізувати роботу MS Windows через установку драйверів virtio.

Висновок.
Всі перераховані вище обмеження і можливі проблеми, дають право говорити, що напівавтоматичне використання існуючих образів-дисків vmdk зі встановленою всередині MS Windows Server через гипервизор KVM можливий, але носить лабораторний і дослідницький характер. Використання такої гетерогенної системи з різних систем віртуалізації на виробництві буде дуже проблематичним і без будь-яких гарантій в майбутньому.

Ми позбавляємося будь-якої оптимізації і поліпшення роботи гостьових систем , Так як під кожну систему віртуалізації існують свої програмні рішення, поради. Перехід з однієї системи на іншу просто вбиває всі рішення і поради на корені.

Що нового в безкоштовній системі віртуалізації Proxmox VE 4 на базі KVM / QEMU?

Переді мною якось поставили завдання: чи можна запустити або конвертувати одну гостьову операційну систему з однієї системи віртуалізації в іншу?