Projektet NetBSD utvecklar en ny hypervisor NVMM

Projektet NetBSDs utvecklare 400 företag. Bland dessa finns bÄde smÄ startups och stora IT-företag. om skapandet av en ny hypervisor och den dÀrtill relaterade virtualiseringsstacken, som redan ingÄr i den experimentella grenen NetBSD-current och kommer att erbjudas i den stabila utgÄvan av NetBSD 9. NVMM Àr för nÀrvarande begrÀnsad till att stödja arkitekturen x86_64 och tillhandahÄller tvÄ backend-alternativ för att utnyttja hÄrdvaruvirtualiseringsmekanismer: x86-SVM med stöd för AMDs CPU-virtualiseringsutvidgningar och x86-VMX för Intel CPU. I sin nuvarande form Àr det möjligt att köra upp till 128 virtuella maskiner pÄ en vÀrd, dÀr varje kan tilldelas upp till 256 virtuella processorkÀrnor (VCPU) och 128 GB RAM.

NVMM inkluderar en drivrutin som arbetar pÄ kÀrnnivÄ och koordinerar Ätkomst till hÄrdvaruvirtualiseringsmekanismer, samt Libnvmm-stacken som körs i anvÀndarrummet. Interaktionen mellan kÀrnkomponenter och anvÀndarrummet sker via IOCTL. En utmÀrkande egenskap hos NVMM, som skiljer det frÄn hypervisorer som KVM, HAXM och Bhyve, Àr att endast det minimi nödvÀndiga antalet kapslingslager runt hÄrdvaruvirtualiseringsmekanismerna körs pÄ kÀrnnivÄ, medan all kod för hÄrdvaru-emulering har flyttats ut frÄn kÀrnan till anvÀndarrummet. Denna metod minskar mÀngden kod som körs med förhöjda privilegier och minskar risken för att hela systemet komprometteras vid attacker pÄ sÄrbarheter i hypervisorn. Dessutom förenklas felsökning och fuzzing-testning av projektet avsevÀrt.

Libnvmm i sig innehÄller dock ingen emuleringsfunktion, utan tillhandahÄller endast ett API för att integrera stöd för NVMM i befintliga emulerare, till exempel QEMU. API:t omfattar funktioner som att skapa och köra en virtuell maskin, tilldela minne till gÀstsystemet samt distribution av VCPU. För att öka sÀkerheten och minska potentiella attackvektorer tillhandahÄller libnvmm endast de funktioner som uttryckligen begÀrts - som standard anropas inte avancerade hanterare automatiskt och kan i allmÀnhet inte tillÀmpas om de inte behövs. NVMM strÀvar efter att anvÀnda enkla lösningar utan att bli komplicerad och lÄta anvÀndaren kontrollera sÄ mÄnga aspekter av driften som möjligt.

Projektet NetBSD utvecklar en ny hypervisor NVMM

Den kÀrnoperativa delen av NVMM Àr starkt integrerad med NetBSD-kÀrnan och möjliggör prestandaförbÀttringar genom att minska antalet kontextbyten mellan gÀstat operativsystem och vÀrdmiljö. PÄ anvÀndarutrymmets sida försöker libnvmm att aggregera typiska in-/utdataoperationer och undvika oönskade systemanrop. Systemet för minnesallokering baseras pÄ pmap-subsystemet, vilket möjliggör att sidor av gÀstsystemens minne kan bytas ut till vÀxlingsutrymme vid minnesbrist i systemet. NVMM Àr fritt frÄn globala lÄsningar och skalar vÀl, vilket gör att olika CPU-kÀrnor kan anvÀndas samtidigt för att köra olika virtuella gÀstmaskiner.

En lösning baserad pÄ QEMU har tagits fram som anvÀnder NVMM för att aktivera hÄrdvaru­virtualiseringsmekanismer. Arbete pÄgÄr för att inkludera de beredda patcherna i den huvudsakliga versionen av QEMU. Kombinatören QEMU+NVMM kan redan möjliggör framgÄngsrikt köra gÀstsystem med FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 och andra operativsystem pÄ x86_64-system med AMD- och Intel-processorer (sjÀlva NVMM Àr inte kopplad till nÄgon specifik arkitektur, till exempel kan den fungera pÄ ARM64-system om motsvarande backend skapas). Bland vidare anvÀndningsomrÄden för NVMM nÀmns Àven sandbox-isolering av specifika applikationer.

Projektet NetBSD utvecklar en ny hypervisor NVMM

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster