Intel ogłosił uruchomienie nowa wersja hypervisora „Cloud Hypervisor 0.3” który eJest to monitor maszyny wirtualnej typu open source który działa przez KVM. Projekt koncentruje się na uruchamianiu wyłącznie nowoczesnych obciążeń w chmurze, plus ograniczony zestaw platform sprzętowych i architektur.
Obciążenia w chmurze to te, które są zwykle uruchamiane przez klientów w ramach dostawcy chmury. Hiperwizor bazuje na komponentach wspólnego projektu Rust-VMM, w którym oprócz firmy Intel uczestniczą również Alibaba, Amazon, Google i Red Hat.
Rust-VMM jest napisany w języku Rust i umożliwia tworzenie określonych hiperwizorów do określonych zadań. Cloud Hypervisor to jeden z tych hipernadzorców, który zapewnia wysokopoziomowy monitor maszyny wirtualnej (VMM) i jest zoptymalizowany pod kątem wyzwań związanych z przetwarzaniem w chmurze.
Cloud Hypervisor koncentruje się na wydawaniu nowoczesnych dystrybucji Linuksa za pomocą parawirtualizowanych urządzeń virtio.
Z kluczowych zadań wyróżnia się: wysoka responsywność, niskie zużycie pamięci, wysoka wydajność, uproszczona konfiguracja i zmniejszone potencjalne wektory ataku.
Wsparcie emulacji jest zminimalizowane, a nacisk położono na parawirtualizację. Obecnie obsługiwane są tylko systemy x86_64, ale plany obejmują również obsługę AArch64. Obecnie z systemów gościa Obsługiwane są tylko 64-bitowe kompilacje systemu Linux. Procesor, pamięć, PCI i NVDIMM są konfigurowane na etapie kompilacji, a maszyny wirtualne można również migrować między serwerami.
Kod projektu jest dostępny na licencji Apache 2.0.
Główne nowe funkcje Cloud Hypervisor 0.3
W tej nowej wersji Cloud Hypervisor 0.3 wyróżnia się eliminacja parawirtualizowanych I / O w poszczególnych procesach. W celu interakcji z urządzeniami blokowymi dodano możliwość korzystania z zaplecza vhost-user-blk.
Zmiana umożliwia podłączenie urządzeń blokowych w oparciu o moduł vhost -user, jak SPDK, do Cloud Hypervisor jako zaplecza dla parawirtualizowanych magazynów.
El obsługa usuwania operacji sieciowych na backendach vhost -user-net które pojawiły się w poprzedniej wersji zostały rozszerzone o nowy backend oparty na kontrolerze sieci wirtualnej TAP. Backend jest napisany w Rust i jest teraz używany przez Cloud Hypervisor jako podstawowa parawirtualizowana architektura sieci.
Aby zwiększyć wydajność i bezpieczeństwo komunikacji między środowiskiem hosta a systemem gościa, zaproponowano hybrydową implementację gniazd z adresowaniem AF_VSOCK (wirtualne gniazda sieciowe), działające przez virtio.
Wdrożenie oparte jest na doświadczeniach z projektu Firecracker, opracowanego przez Amazon. VSOCK umożliwia używanie standardowego API gniazd POSIX do interakcji między aplikacjami w systemie gościa i po stronie hosta, co ułatwia dostosowanie zwykłych programów sieciowych do takiej interakcji i zaimplementowanie interakcji kilku programów klienckich z aplikacją serwera.
Kolejną wyróżniającą się zmianą jest to początkowa obsługa interfejsu API zarządzania jest zapewniana przy użyciu protokołu HTTP. W przyszłości ten interfejs API umożliwi uruchamianie operacji asynchronicznych w systemach gości, takich jak podłączanie zasobów podczas pracy i migrowanie środowisk.
Podkreślono również dodanie warstwy z implementacją transportu opartą na virtio MMIO (virtio memory mapped), która może być używana do tworzenia minimalistycznych systemów gości, które nie wymagają emulacji magistrali PCI.
W ramach inicjatywy mającej na celu rozszerzenie wsparcia dla wbudowanych wersji dla gości, Cloud Hypervisor dodał możliwość przesyłania dalej sparawirtualizowanych urządzeń IOMMU za pośrednictwem virtio, co może zwiększyć bezpieczeństwo wbudowanego i bezpośredniego przekazywania urządzeń.
Wreszcie z innych nowości, które są podkreślane w reklamie, są sWsparcie dla Ubuntu 19.10, jak również także dodana możliwość uruchamiania systemów gościa z ponad 64 GB pamięci RAM.
Jeśli chcesz dowiedzieć się więcej na ten temat, a także móc pracować z tym hiperwizorem, możesz sprawdzić szczegóły W poniższym linku.