6 технологий виртуализации с открытым исходным кодом, о которых нужно знать в 2020 году

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

 

Некоторые инструменты, такие как KVM и QEMU, могут быть знакомы энтузиастам Linux, но такие инструменты, как libvirt и libguestfs, вероятно, менее знакомы.

Виртуальный менеджер на основе ядра (KVM)

 

KVM – это решение для полной виртуализации Linux на оборудовании, содержащем расширения виртуализации. KVM обеспечивает аппаратную виртуализацию для широкого спектра гостевых операционных систем, включая Linux, Windows, macOS, ReactOS и Haiku. Используя KVM, вы можете запускать несколько виртуальных машин в немодифицированных образах Linux или Windows. Каждая виртуальная машина имеет частное виртуализированное оборудование: сетевая карта, диск, графический адаптер и т. Д.

В большинстве случаев вы не будете напрямую взаимодействовать с KVM. Вместо этого вы должны использовать QEMU, virt-manager или другой инструмент управления виртуализацией для использования KVM.

Вы можете найти полную документацию на веб-сайте KVM, а также получить доступ к его исходному коду .

Быстрый эмулятор (QEMU)

 

QEMU – это универсальный эмулятор и виртуализатор машины с открытым исходным кодом. При использовании в качестве эмулятора QEMU может запускать операционные системы и программы, созданные для одной машины (например, плату ARM) на другой машине (например, на вашем собственном ПК x86_64). При использовании в качестве виртуализатора QEMU обеспечивает производительность, близкую к исходной, за счет выполнения гостевого кода непосредственно на центральном процессоре с помощью KVM.

QEMU поддерживается в нескольких операционных системах, и его установка так же проста, как выполнение нескольких простых команд; здесь вы можете увидеть, как установить QEMU на macOS с помощью Homebrew .

 

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

Libvirt

 

Libvirt – это библиотека и демон, предоставляющий стабильный API с открытым исходным кодом для управления хостами виртуализации. Он нацелен на несколько гипервизоров, включая QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox и другие.

Еще одна интересная особенность libvirt заключается в том , что KubeVirt , проект с открытым исходным кодом для создания виртуальных машин и управления ими на платформе Kubernetes, в значительной степени использует Libvirt. (Я расскажу о KubeVirt в одной из следующих статей.) Libvirt – интересный проект для изучения, и вы можете найти множество информации на его официальном сайте, а также загрузить его исходный код .

Libguestfs

Libguestfs – это набор инструментов для доступа и изменения образов дисков виртуальных машин. Вы можете использовать его для просмотра и редактирования файлов внутри гостей; изменение сценариев для виртуальных машин; мониторинг используемого диска / бесплатной статистики; создание гостевых машин, физических в виртуальные (P2V) или виртуальных в виртуальные (V2V); выполнение резервного копирования; клонирование виртуальных машин; создание виртуальных машин; форматирование дисков; изменение размера дисков; и многое другое. Я использую его недавно, работая над проектом на основе KubeVirt под названием OpenShift Virtualization.

Официальный сайт Libguestfs содержит обширную документацию о том, как использовать каждую команду, и вы также можете загрузить ее исходный код на GitHub.

Virt-manager

 

Virt-manager – это настольный пользовательский интерфейс для управления виртуальными машинами через libvirt. Он в первую очередь нацелен на виртуальные машины KVM, но также управляет Xen и LXC. Он также включает средство подготовки командной строки virt-install. Думайте о virt-manager как о простом в использовании инструменте управления виртуальными машинами. Например, вы можете использовать virt-manager для запуска среды Microsoft Windows на рабочей станции Linux или наоборот.

Исходный код Virt-manager доступен на GitHub, а документация  – на его сайте. В настоящее время virt-manager доступен только для платформ Linux.

Libosinfo

 

Libosinfo предоставляет базу данных с информацией о выпусках операционных систем, чтобы помочь в настройке оборудования при развертывании виртуальных машин. Он включает библиотеку C для запроса информации в базе данных, которая также доступна на любом языке, поддерживаемом самоанализом GObject. Как вы можете догадаться, libosinfo – это скорее строительный блок, обеспечивающий функциональность операционной системы, но весьма важный.

Libosinfo в исходный код доступен на GitLab, и его документации можно найти на на его веб – сайте.

Вывод

Virt-tools – это набор из шести мощных инструментов, которые упрощают виртуализацию и включают важные функции виртуализации. Все они являются проектами с открытым исходным кодом, поэтому я призываю вас исследовать их дальше и, возможно, даже внести в них свой вклад.