Чи можна використовувати віртуальну машину 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?