Frissítés a Rust nyelven írt Intel Cloud Hypervisor 0.3 és Amazon Firecracker 0.19 hipervizorokra

Intel közzétett hypervisor új verziója Cloud Hypervisor 0.3. A hipervizor komponensekre épül
közös projekt Rozsda-VMM, amelyben az Intel mellett az Alibaba, az Amazon, a Google és a Red Hat is részt vesz. A Rust-VMM Rust nyelven íródott, és lehetővé teszi feladatspecifikus hipervizorok létrehozását. A Cloud Hypervisor egy ilyen hipervizor, amely magas szintű virtuális gép-figyelőt (VMM) biztosít, amely a KVM tetején fut, és a felhőalapú feladatokra optimalizálva van. Projekt kód elérhető Apache 2.0 licenc alatt.

A Cloud Hypervisor a modern Linux disztribúciók virtio-alapú paravirtualizált eszközökkel történő futtatására összpontosít. Az említett kulcsfontosságú célok között szerepel: nagy válaszkészség, alacsony memóriafogyasztás, nagy teljesítmény, egyszerűsített konfiguráció és a lehetséges támadási vektorok csökkentése.

Az emuláció támogatása minimálisra csökken, és a hangsúly a paravirtualizáción van. Jelenleg csak x86_64 rendszerek támogatottak, de az AArch64 támogatást tervezik. Vendégrendszereknél jelenleg csak a 64 bites Linux buildek támogatottak. A CPU, a memória, a PCI és az NVDIMM konfigurálása az összeszerelési szakaszban történik. Lehetőség van a virtuális gépek kiszolgálók közötti migrációjára.

Az új verzióban:

  • Folytatódott a munka a paravirtualizált I/O különálló folyamatokba való áthelyezésén. A háttérprogramok használatának képessége hozzáadásra került a blokkeszközökkel való interakcióhoz vhost-user-blk. A változás lehetővé teszi a vhost-user modulon alapuló blokkeszközök csatlakoztatását a Cloud Hypervisorhoz, mint pl. SPDK, mint háttérprogramok a paravirtualizált tároláshoz;
  • A legutóbbi kiadásban bevezetett hálózati műveletek háttérrendszerekre való áthelyezésének támogatása vhost-user-net, egy virtuális hálózati illesztőprogramon alapuló új háttérprogrammal bővült TAP. A háttérrendszer Rust nyelven íródott, és most a Cloud Hypervisorban használják fő para-virtualizált hálózati architektúraként;
  • A gazdakörnyezet és a vendégrendszer közötti kommunikáció hatékonyságának és biztonságának növelése érdekében javasolt az AF_VSOCK címzésű socketek (virtuális hálózati socketek) hibrid megvalósítása, amely virtion keresztül működik. A megvalósítás a projekt fejlesztésein alapul petárda, amelyet az Amazon fejlesztett ki. A VSOCK lehetővé teszi a szabványos POSIX Sockets API használatát az alkalmazások közötti interakcióhoz a vendég és a gazdagép oldalon, ami megkönnyíti a közönséges hálózati programok ilyen interakcióhoz való adaptálását, valamint több kliensprogram és egy szerveralkalmazás interakciójának megvalósítását;
  • Kezdeti támogatást nyújtott a HTTP protokollt használó felügyeleti API-hoz. A jövőben ez az API lehetővé teszi aszinkron műveletek kezdeményezését vendégrendszereken, mint például az erőforrások üzem közbeni csatlakoztatása és a migrációs környezetek;
  • Felkerült egy virtio MMIO (Memory mapped virtio) alapú szállítási implementációval ellátott réteg, amellyel minimalista vendégrendszerek hozhatók létre, amelyek nem igényelnek PCI busz emulációt;
  • A beágyazott vendégrendszerek futtatásának támogatásának bővítésére irányuló kezdeményezés részeként a Cloud Hypervisor hozzáadta a paravirtualizált IOMMU-eszközök virtion keresztüli továbbításának lehetőségét, ami javítja az eszközök beágyazott és közvetlen továbbításának biztonságát.
  • Támogatást nyújtott az Ubuntu 19.10-hez;
  • Hozzáadtuk a több mint 64 GB RAM-mal rendelkező vendégrendszerek futtatásának lehetőségét.

Ezenkívül meg lehet jegyezni új probléma szomszédos fejlett virtuális gép monitor petárda, szintén Rust nyelven íródott, Rust-VMM-en alapul és KVM-en fut. A petárda a projekt egyik ága CrosVM, amelyet a Google alkalmazások indítására használ Linux и Android ChromeOS rendszerben. A Firecracker-t az Amazon Web Services fejleszti, hogy javítsa az AWS Lambda és AWS Fargate platformok teljesítményét és hatékonyságát.

A platformot virtuális gépek minimális többletköltség melletti futtatására tervezték, és eszközöket biztosít izolált környezetek és szolgáltatások létrehozásához és kezeléséhez, amelyek kiszolgáló nélküli fejlesztési modellt használnak (szolgáltatásként funkcionálnak). A Firecracker könnyű virtuális gépeket, úgynevezett microVM-eket kínál, amelyek hardveres virtualizációs technológiát használnak a teljes elkülönítés érdekében, miközben a hagyományos konténerek teljesítményét és rugalmasságát biztosítják. Például a Firecracker használatakor a microVM indításától az alkalmazás végrehajtásának megkezdéséig eltelt idő nem haladja meg a 125 ms-ot, ami lehetővé teszi új virtuális gépek elindítását akár 150 környezet/másodperc intenzitással.

A Firecracker új kiadása olyan működési módot ad hozzá, amely nem indítja el az API-kezelőt ("—no-api"), így a környezetet csak a konfigurációs fájlban merevként kódolt beállításokra korlátozza. A statikus konfigurációt a „--config-file” opció határozza meg, és JSON formátumban van megadva. A parancssori opciók közül a „—” elválasztó támogatása is hozzáadásra került, az ezután megadott jelzők feldolgozás nélkül továbbadódnak a láncon.

A Firecrackert fejlesztő Amazon szintén bejelentett a Rust programozási nyelv fejlesztőinek támogatásáról. Megjegyzendő, hogy a Rustot egyre gyakrabban használják a vállalat projektjeiben, és a fejlesztéseket már végrehajtották olyan szolgáltatásokban, mint a Lambda, EC2 és S3. Az Amazon biztosította a Rust projektnek az infrastruktúrát a kiadások és buildek S3-ban tárolásához, regressziós tesztek futtatásához az EC2-ben, valamint egy docs.rs webhely karbantartásához, amely tartalmazza a crates.io tárolóból származó összes csomag dokumentációját.

Amazon is benyújtott a program AWS promóciós jóváírás, ahol a nyílt forráskódú projektek ingyenes hozzáférést kaphatnak az AWS-szolgáltatásokhoz, amelyek erőforrástárolásra, összeállításra, folyamatos integrációra és tesztelésre használhatók. A programban való részvételre már jóváhagyott projektek között a Rust mellett az AdoptOpenJDK, a Maven Central, a Kubernetes, a Prometheus, az Envoy és a Julia is megjegyezték. Az OSI által jóváhagyott licencek alatt szállított nyílt forráskódú projektek beküldéseit elfogadják.

Forrás: opennet.ru

Hozzászólás