Mae prosiect NetBSD yn datblygu hypervisor NVMM newydd

Datblygwyr Prosiect NetBSD cyhoeddi am greu hypervisor newydd a'r pentwr rhithwiroli cysylltiedig, sydd eisoes wedi'u cynnwys yn y gangen gyfredol NetBSD-arbrofol a byddant yn cael eu cynnig yn y datganiad sefydlog o NetBSD 9. Ar hyn o bryd mae NVMM wedi'i gyfyngu i gefnogi'r bensaernïaeth x86_64 ac mae'n darparu dau backends ar gyfer galluogi mecanweithiau rhithwiroli caledwedd: x86-SVM gyda chefnogaeth ar gyfer estyniadau rhithwiroli CPU AMD a x86-VMX ar gyfer CPUs Intel. Yn ei ffurf bresennol, mae'n bosibl rhedeg hyd at 128 o beiriannau rhithwir ar un gwesteiwr, a gellir dyrannu hyd at 256 craidd prosesydd rhithwir (VCPU) a 128 GB o RAM i bob un ohonynt.

Mae NVMM yn cynnwys gyrrwr sy'n rhedeg ar lefel cnewyllyn y system ac yn cydlynu mynediad at fecanweithiau rhithwiroli caledwedd, a stack Libnvmm sy'n rhedeg yn y gofod defnyddiwr. Mae rhyngweithio rhwng cydrannau cnewyllyn a gofod defnyddwyr yn cael ei wneud trwy IOCTL. Nodwedd o NVMM sy'n ei wahaniaethu oddi wrth hypervisors fel KVM yw HAXM a Bhyve, yw mai dim ond y set ofynnol leiaf o rwymiadau o amgylch mecanweithiau rhithwiroli caledwedd sy'n cael ei berfformio ar lefel y cnewyllyn, a bod yr holl god efelychu caledwedd yn cael ei symud allan o'r cnewyllyn i ofod y defnyddiwr. Mae'r dull hwn yn caniatáu ichi leihau faint o god a weithredir gyda breintiau uchel a lleihau'r risg o gyfaddawdu'r system gyfan pe bai ymosodiadau ar wendidau yn y hypervisor. Yn ogystal, mae dadfygio a phrofion niwlog y prosiect wedi'u symleiddio'n amlwg.

Fodd bynnag, nid yw Libnvmm ei hun yn cynnwys swyddogaethau efelychydd, ond dim ond yn darparu API sy'n eich galluogi i integreiddio cefnogaeth NVMM i efelychwyr presennol, er enghraifft, QEMU. Mae'r API yn cwmpasu swyddogaethau megis creu a lansio peiriant rhithwir, dyrannu cof i'r system westai, a dyrannu VCPUs. Er mwyn gwella diogelwch a lleihau fectorau ymosodiad posibl, dim ond swyddogaethau y gofynnir amdanynt yn benodol y mae libnvmm yn eu darparu - yn ddiofyn, nid yw trinwyr cymhleth yn cael eu galw'n awtomatig ac efallai na fyddant yn cael eu defnyddio o gwbl os gellir eu hosgoi. Mae NVMM yn ceisio cadw pethau'n syml, heb fynd yn rhy gymhleth, a'ch galluogi i reoli cymaint o agweddau ar eich gwaith â phosibl.

Mae prosiect NetBSD yn datblygu hypervisor NVMM newydd

Mae rhan lefel cnewyllyn NVMM wedi'i hintegreiddio'n eithaf tynn â chnewyllyn NetBSD, ac mae'n caniatáu ar gyfer gwell perfformiad trwy leihau nifer y switshis cyd-destun rhwng yr OS gwadd a'r amgylchedd gwesteiwr. Ar ochr gofod y defnyddiwr, mae libnvmm yn ceisio agregu gweithrediadau I/O cyffredin ac osgoi gwneud galwadau system yn ddiangen. Mae'r system dyrannu cof yn seiliedig ar yr is-system pmap, sy'n eich galluogi i droi tudalennau cof gwesteion allan i'r rhaniad cyfnewid rhag ofn y bydd prinder cof yn y system. Mae NVMM yn rhydd o gloeon a graddfeydd byd-eang yn dda, sy'n eich galluogi i ddefnyddio gwahanol greiddiau CPU ar yr un pryd i redeg gwahanol beiriannau rhithwir gwestai.

Mae datrysiad yn seiliedig ar QEMU wedi'i baratoi sy'n defnyddio NVMM i alluogi mecanweithiau rhithwiroli caledwedd. Mae gwaith yn mynd rhagddo i gynnwys y darnau parod ym mhrif strwythur QEMU. Mae'r cyfuniad QEMU + NVMM eisoes yn caniatáu rhedeg systemau gwestai yn llwyddiannus gyda FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 ac OS arall ar systemau x86_64 gyda phroseswyr AMD ac Intel (nid yw NVMM ei hun yn gysylltiedig â phensaernïaeth benodol, er enghraifft, os crëir y backend priodol , bydd yn gallu gweithio ar systemau ARM64 ). Ymhlith y meysydd o gymhwyso NVMM ymhellach, nodir hefyd ynysu blychau tywod ceisiadau unigol.

Mae prosiect NetBSD yn datblygu hypervisor NVMM newydd

Ffynhonnell: opennet.ru

Ychwanegu sylw