Назад | Перейти на главную страницу

Преобразование между типами гипервизора

Моей компании необходимо автоматизировать создание новых виртуальных машин с помощью нашего проприетарного решения, для этого мы хотели бы поставлять продукт либо в стандартизированном формате (OVA, кажется, единственный «стандарт»), либо чтобы иметь возможность конвертировать из один и тот же компьютер для различных типов виртуализации.

Пока это делается вручную, а это означает, что если клиенту нужна виртуальная машина HyperV, нам необходимо построить ее на сервере HyperV, который у нас есть, VMWare на VMWare и т. Д. Наша цель - автоматизировать это.

Объяснение лучше: план состоит в том, чтобы иметь сервер KVM, подготовить виртуальную машину и после подготовки экспортировать ее в формат OVA и, возможно, в качестве дополнительной любезности для наших клиентов на их выбранном гипервизоре.

Я могу легко преобразовать диски с помощью "qemu-img convert", однако я не могу преобразовать определение машины (XML) в другие форматы, которые необходимы другим гипервизорам.

Я не могу найти подходящих инструментов для этого, предложения?

Примечание: у нас нет доступа к гипервизору, где они будут установлены, поэтому нам нужно экспортировать его как OVA / TAR и т. Д.

К сожалению, OVA обещает гораздо больше, чем может дать. В лучшем случае это стандартный формат для распространения образов дисков, но он делает очень мало, если вообще что-то делает, чтобы гарантировать беспрепятственную загрузку образа диска на нескольких гипервизорах. Каждый гипервизор эмулирует свой набор виртуального оборудования, поэтому гостевой ОС потребуются разные драйверы для каждого гипервизора. Некоторые операционные системы, такие как Linux, достаточно хороши, так как могут загружаться с произвольным оборудованием, автоматически определяя драйверы в соответствии с тем, что они находят, но даже тогда его легко испортить, это сломает его. например, если ваш /etc/fstab перечисляет "/" как находящиеся на /dev/vda1 диск (для драйвера диска virtio-blk QEMU), который не будет работать при загрузке на VMWare с диском SCSI, который отображается как /dev/sda1. Windows действительно сложно адаптировать к разному оборудованию, так как она любит жестко привязывать определенные драйверы к каждому диску / сетевой карте / и т. Д.

Также существует проблема, заключающаяся в том, что каждый гипервизор имеет свой собственный предпочтительный формат образа диска - VMWare предпочитает vmdk, QEMU в идеале предпочитает raw или qcow2, у VirtualBox есть другой формат и т. Д. OVA не делает ничего для решения любой из этих сложных проблем.

Вот почему такие инструменты, как virt-v2v (http://libguestfs.org/virt-v2v.1.html), которые берут образ диска для одного гипервизора и перенастраивают гостевую ОС для работы с другим гипервизором, одновременно изменяя формат диска.

Даже если вы каким-то образом создадите образ диска, который, по вашему мнению, работает со всеми из них, вам все равно необходимо пройти полный цикл тестирования QA, чтобы убедиться, что он действительно работает правильно.

ИМХО проще создать отдельный образ диска для каждого гипервизора.