Вышла новая версия Cloud Hypervisor 0.3, VMM с открытым исходным кодом.

Облачный гипервизор

Компания Intel объявила о выпуске новой версии своего «Cloud Hypervisor 0.3», монитора виртуальных машин с открытым исходным кодом , работающего поверх KVM. Проект ориентирован исключительно на запуск современных облачных рабочих нагрузок, а также на ограниченный набор аппаратных архитектур и платформ.

Облачные рабочие нагрузки — это нагрузки, обычно выполняемые клиентами в среде облачного провайдера. Гипервизор основан на компонентах совместного проекта Rust-VMM, в который, помимо Intel, входят Alibaba, Amazon, Google и Red Hat.

Rust-VMM написан на Rust и позволяет создавать гипервизоры, специально разработанные для решения конкретных задач. Cloud Hypervisor — один из таких гипервизоров, предоставляющий высокоуровневый монитор виртуальных машин (VMM) и оптимизированный для решения задач облачных вычислений.

Cloud Hypervisor специализируется на запуске современных дистрибутивов Linux с использованием виртуальных машин paravirtio.

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

Поддержка эмуляции сведена к минимуму, с упором на паравиртуализацию. В настоящее время поддерживаются только системы x86_64, но в планах также поддержка AArch64. Из гостевых систем в настоящее время поддерживаются только 64-битные сборки Linux. Процессор, память, PCI и NVDIMM настраиваются на этапе сборки, а виртуальные машины также могут быть перенесены между серверами.

Код проекта доступен по лицензии Apache 2.0.

Основные новые возможности Cloud Hypervisor 0.3

В новой версии Cloud Hypervisor 0.3 существенно исключена паравиртуализированная операция ввода-вывода в отдельных процессах . Для взаимодействия с блочными устройствами добавлена ​​возможность использования бэкэндов vhost-user-blk.

Это изменение позволяет подключать блочные устройства на основе модуля vhost-user, такие как SPDK, к облачному гипервизору в качестве бэкэндов для паравиртуализированного хранилища.

Поддержка удаления сетевых операций в бэкендах vhost-user-net , появившаяся в предыдущей версии, расширена за счет нового бэкенда, основанного на виртуальном сетевом контроллере TAP. Этот бэкенд написан на Rust и теперь используется Cloud Hypervisor в качестве основной паравиртуализированной сетевой архитектуры.

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

Реализация основана на опыте проекта Firecracker, разработанного компанией Amazon. VSOCK позволяет использовать стандартный API сокетов POSIX для взаимодействия между приложениями в гостевой системе и на стороне хоста, что упрощает адаптацию обычных сетевых программ для этого взаимодействия и реализацию взаимодействия между несколькими клиентскими программами и серверным приложением.

Ещё одним важным изменением является внедрение первоначальной поддержки API управления с использованием протокола HTTP . В будущем этот API позволит выполнять асинхронные операции в гостевых системах, такие как подключение ресурсов в режиме реального времени и миграция сред.

Также подчеркивается добавление уровня с реализацией транспорта на основе virtio MMIO (virtio memory mapped), который можно использовать для создания минималистичных гостевых систем, не требующих эмуляции шины PCI.

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

Наконец, среди других новых функций, отмеченных в анонсе, следует упомянуть поддержку Ubuntu 19.10, а также добавленную возможность запуска гостевых систем с объемом оперативной памяти более 64 ГБ.

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


Добавить в качестве предпочтительного источника в Google