Proyek NetBSD ngembangake hypervisor NVMM anyar

Pangembang Proyek NetBSD diumumake babagan nggawe hypervisor anyar lan tumpukan virtualisasi sing gegandhengan, sing wis kalebu ing cabang eksperimen NetBSD-saiki lan bakal ditawakake ing release stabil NetBSD 9. NVMM saiki diwatesi kanggo ndhukung arsitektur x86_64 lan nyedhiyakake rong backend kanggo mbisakake mekanisme virtualisasi hardware: x86-SVM karo support kanggo AMD lan x86-VMX ekstensi virtualisasi CPU kanggo CPU Intel. Ing wangun saiki, iku bisa kanggo mbukak nganti 128 mesin virtual ing siji inang, saben kang bisa diparengake nganti 256 inti prosesor virtual (VCPU) lan 128 GB RAM.

NVMM kalebu pembalap sing mlaku ing tingkat kernel sistem lan koordinat akses menyang mekanisme virtualisasi hardware, lan tumpukan Libnvmm sing mlaku ing ruang pangguna. Interaksi antarane komponen kernel lan ruang pangguna ditindakake liwat IOCTL. Fitur NVMM sing mbedakake saka hypervisor kayata KVM yaiku HAXM lan Bhyve, iku ing tingkat kernel mung set minimal dibutuhake saka bindings watara mekanisme virtualisasi hardware dileksanakake, lan kabeh kode emulation hardware dipindhah metu saka kernel menyang ruang panganggo. Pendekatan iki ngidini sampeyan nyuda jumlah kode sing dieksekusi kanthi hak istimewa sing luwih dhuwur lan nyuda risiko kompromi kabeh sistem yen ana serangan ing kerentanan ing hypervisor. Kajaba iku, tes debugging lan fuzzing proyek kasebut disederhanakake.

Nanging, Libnvmm dhewe ora ngemot fungsi emulator, nanging mung menehi API sing ngijini sampeyan kanggo nggabungake support NVMM menyang emulators ana, contone, QEMU. API nyakup fungsi kayata nggawe lan ngluncurake mesin virtual, ngalokasi memori menyang sistem tamu, lan ngalokasi VCPU. Kanggo nambah keamanan lan nyuda kemungkinan vektor serangan, libnvmm mung nyedhiyakake fungsi sing dijaluk kanthi jelas-kanthi standar, panangan kompleks ora diarani kanthi otomatis lan bisa uga ora digunakake yen bisa nyingkiri. NVMM nyoba supaya kabeh prasaja, tanpa dadi rumit, lan ngijini sampeyan kanggo ngontrol akeh aspèk karya sabisa.

Proyek NetBSD ngembangake hypervisor NVMM anyar

Sisih kernel-tingkat NVMM cukup tightly Integrasi karo kernel NetBSD, lan ngidini kanggo kinerja apik dening ngurangi jumlah ngalih context antarane OS tamu lan lingkungan inang. Ing sisih ruang pangguna, libnvmm nyoba nglumpukake operasi I/O umum lan ngindhari panggilan sistem sing ora perlu. Sistem alokasi memori adhedhasar subsistem pmap, sing ngidini sampeyan ngusir kaca memori tamu menyang partisi swap yen ana kekurangan memori ing sistem kasebut. NVMM gratis saka kunci lan timbangan global kanthi apik, ngidini sampeyan nggunakake intine CPU sing beda kanggo mbukak mesin virtual tamu sing beda-beda.

Solusi basis QEMU wis disiapake sing nggunakake NVMM kanggo ngaktifake mekanisme virtualisasi hardware. Pakaryan lagi ditindakake kanggo nyakup patch sing disiapake ing struktur utama QEMU. Kombinasi QEMU+NVMM wis ana Nanging ngidini kasil mbukak sistem tamu karo FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 lan OS liyane ing sistem x86_64 karo prosesor AMD lan Intel (NVMM dhewe ora disambungake menyang arsitektur tartamtu, contone, yen backend cocok digawe. , bakal bisa digunakake ing sistem ARM64). Ing antarane area aplikasi luwih lanjut saka NVMM, isolasi kothak wedhi saka aplikasi individu uga kacathet.

Proyek NetBSD ngembangake hypervisor NVMM anyar

Source: opennet.ru

Add a comment