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

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

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

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

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

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

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

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

решение1

К сожалению, 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), которые берут образ диска для одного гипервизора и перенастраивают гостевую ОС для работы на другом гипервизоре, одновременно изменяя формат диска.

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

По моему скромному мнению, гораздо проще создать отдельный образ диска для каждого гипервизора.

Связанный контент