Proyék NetBSD ngembangkeun hiji hypervisor NVMM anyar

NetBSD Project pamekar ngumumkeun ngeunaan kreasi a hypervisor anyar jeung tumpukan virtualization pakait, nu geus kaasup dina cabang ékspérimén NetBSD-ayeuna sarta bakal ditawarkeun dina release stabil NetBSD 9. NVMM ayeuna dugi ka ngarojong arsitektur x86_64 jeung nyadiakeun dua backends pikeun sangkan mékanisme virtualization hardware: x86-SVM kalayan rojongan pikeun AMD na x86-VMX CPU virtualization ekstensi pikeun CPUs Intel. Dina bentuk ayeuna, kasebut nyaéta dimungkinkeun pikeun ngajalankeun nepi ka 128 mesin virtual dina hiji host, nu masing-masing bisa disadiakeun nepi ka 256 cores processor virtual (VCPU) jeung 128 GB RAM.

NVMM kalebet supir anu dijalankeun dina tingkat kernel sistem sareng koordinat aksés kana mékanisme virtualisasi hardware, sareng tumpukan Libnvmm anu dijalankeun dina rohangan pangguna. Interaksi antara komponén kernel sareng rohangan pamaké dilaksanakeun ngaliwatan IOCTL. Fitur NVMM anu ngabédakeunana tina hypervisors sapertos KVM nyaéta HAXM sarta Bhyve, éta dina tingkat kernel ngan minimum diperlukeun set of bindings sabudeureun mékanisme virtualization hardware dipigawé, sarta sakabeh kode emulation hardware dipindahkeun kaluar tina kernel kana spasi pamaké. Pendekatan ieu ngamungkinkeun anjeun pikeun ngirangan jumlah kode anu dieksekusi kalayan kaistimewaan anu luhur sareng ngirangan résiko kompromi sadayana sistem upami aya serangan ka vulnerabilities dina hypervisor. Salaku tambahan, debugging sareng uji fuzzing tina proyék éta disederhanakeun.

Sanajan kitu, Libnvmm sorangan teu ngandung fungsi émulator, tapi ngan nyadiakeun API nu ngidinan Anjeun pikeun ngahijikeun rojongan NVMM kana emulators aya, Contona, QEMU. API nyertakeun fungsi sapertos nyiptakeun sareng ngaluncurkeun mesin virtual, alokasi mémori kana sistem tamu, sareng alokasi VCPU. Pikeun ningkatkeun kaamanan sareng ngirangan kamungkinan vektor serangan, libnvmm ngan ukur nyayogikeun fungsi anu dipénta sacara eksplisit-sacara standar, panangan kompleks henteu otomatis disebut sareng henteu tiasa dianggo upami aranjeunna tiasa dihindari. NVMM nyobian tetep saderhana, tanpa pajeulit teuing, sareng ngamungkinkeun anjeun ngadalikeun saloba-lobana aspék padamelan anjeun.

Proyék NetBSD ngembangkeun hiji hypervisor NVMM anyar

Bagian kernel-tingkat tina NVMM cukup pageuh terpadu kalayan kernel NetBSD, sarta ngamungkinkeun pikeun ngaronjatkeun kinerja ku cara ngurangan jumlah switch konteks antara OS tamu jeung lingkungan host. Di sisi spasi pamaké, libnvmm nyoba agrégat operasi I / O umum tur ulah nyieun sistem nelepon unnecessarily. Sistem alokasi memori dumasar kana subsistem pmap, nu ngidinan Anjeun pikeun nundung kaca memori tamu ka partisi swap bisi kakurangan memori dina sistem. NVMM bébas tina konci global sareng skala ogé, ngamungkinkeun anjeun sakaligus nganggo inti CPU anu béda pikeun ngajalankeun mesin virtual tamu anu béda.

Solusi basis QEMU parantos disiapkeun anu ngagunakeun NVMM pikeun ngaktipkeun mékanisme virtualisasi hardware. Karya keur dijalankeun pikeun ngawengku patch disiapkeun dina struktur utama QEMU. Kombinasi QEMU + NVMM parantos aya Hal ieu ngamungkinkeun hasil ngajalankeun sistem tamu kalawan FreeBSD, OpenBSD, Linux Ubuntu, Windows XP / 7 / 8.1 / 10 sarta OS sejenna dina sistem x86_64 kalawan AMD na prosesor Intel (NVMM sorangan teu dihijikeun ka arsitéktur husus, contona, lamun backend luyu dijieun. , éta bakal tiasa dianggo dina sistem ARM64). Diantara wewengkon aplikasi salajengna NVMM, isolasi sandbox tina aplikasi individu ogé nyatet.

Proyék NetBSD ngembangkeun hiji hypervisor NVMM anyar

sumber: opennet.ru

Tambahkeun komentar