NetBSD долбоору жаңы NVMM гипервизорун иштеп чыгууда

NetBSD Долбоорунун Иштеп чыгуучулары жарыялады жаңы гипервизорду жана аны менен байланышкан виртуалдаштыруу стекин түзүү жөнүндө, алар буга чейин эле NetBSD-учурдагы эксперименталдык бутагына киргизилген жана NetBSD 9дун туруктуу релизинде сунушталат. NVMM учурда x86_64 архитектурасын колдоо менен чектелет жана эки бэкэнди камсыз кылат. аппараттык виртуалдаштыруу механизмдерин иштетүү: Intel CPU үчүн AMD жана x86-VMX CPU виртуалдаштыруу кеңейтүүлөрүн колдоосу менен x86-SVM. Учурдагы формада бир хостто 128ге чейин виртуалдык машинаны иштетүүгө болот, алардын ар бирине 256га чейин виртуалдык процессор өзөктөрү (VCPU) жана 128 ГБ оперативдик эс бөлүнөт.

NVMM тутум ядросунун деңгээлинде иштеген жана аппараттык виртуалдаштыруу механизмдерине кирүүнү координациялаган драйверди жана колдонуучу мейкиндигинде иштеген Libnvmm стекин камтыйт. Ядро компоненттеринин жана колдонуучу мейкиндигинин ортосундагы өз ара аракеттенүү IOCTL аркылуу ишке ашырылат. NVMM аны KVM сыяктуу гипервизорлордон айырмалап турган өзгөчөлүгү болуп саналат HAXM жана Bhyve, ядро ​​деңгээлинде аппараттык виртуалдаштыруу механизмдеринин айланасындагы эң аз талап кылынган байланыштар топтому гана аткарылып, бардык аппараттык эмуляция коду ядродон колдонуучу мейкиндигине жылдырылат. Бул ыкма жогорулатылган артыкчылыктар менен аткарылган коддун көлөмүн кыскартууга жана гипервизордун алсыз жерлерине чабуул жасалган учурда бүт системанын бузулуу коркунучун азайтууга мүмкүндүк берет. Мындан тышкары, долбоордун мүчүлүштүктөрүн оңдоо жана бүдөмүк тестирлөө кыйла жөнөкөйлөштүрүлгөн.

Бирок, Libnvmm өзү эмулятор функцияларын камтыбайт, бирок NVMM колдоосун учурдагы эмуляторлорго, мисалы, QEMUга интеграциялоого мүмкүндүк берген API гана берет. API виртуалдык машинаны түзүү жана ишке киргизүү, конок системасына эстутум бөлүштүрүү жана VCPU бөлүштүрүү сыяктуу функцияларды камтыйт. Коопсуздукту жакшыртуу жана мүмкүн болгон чабуул векторлорун азайтуу үчүн, libnvmm ачык суралган функцияларды гана камсыз кылат — демейки боюнча, татаал иштеткичтер автоматтык түрдө чакырылбайт жана алардан качуу мүмкүн болсо, таптакыр колдонулбашы мүмкүн. NVMM өтө татаалдашпай, жөнөкөй нерселерди сактоого аракет кылат жана ишиңиздин мүмкүн болушунча көп аспектилерин көзөмөлдөөгө мүмкүндүк берет.

NetBSD долбоору жаңы NVMM гипервизорун иштеп чыгууда

NVMM өзөк деңгээлиндеги бөлүгү NetBSD өзөгү менен абдан тыгыз интеграцияланган жана конок ОС менен хост чөйрөсүнүн ортосундагы контексттик которгучтардын санын азайтуу аркылуу жакшыртылган аткарууну камсыз кылат. Колдонуучу мейкиндигинде, libnvmm жалпы киргизүү/чыгаруу операцияларын бириктирүүгө жана системалык чалууларды керексиз кылуудан качууга аракет кылат. Эстутумду бөлүштүрүү системасы pmap подсистемасына негизделген, ал системада эстутум жетишсиз болгон учурда конок эстутум баракчаларын своп бөлүгүнө чыгарууга мүмкүндүк берет. NVMM глобалдык кулпулардан жана масштабдуу эмес, бул сизге бир эле учурда ар кандай конок виртуалдык машиналарын иштетүү үчүн ар кандай CPU өзөктөрүн колдонууга мүмкүндүк берет.

Аппараттык виртуалдаштыруу механизмдерин иштетүү үчүн NVMM колдонгон QEMU негизиндеги чечим даярдалды. Даярдалган патчтарды QEMUнун негизги структурасына киргизүү боюнча иштер жүрүп жатат. QEMU+NVMM айкалышы мурунтан эле Бул берет AMD жана Intel процессорлору бар x7_8.1 системаларында FreeBSD, OpenBSD, Linux, Windows XP/10/86/64 жана башка ОС менен конок системаларын ийгиликтүү иштетиңиз (NVMM өзү белгилүү бир архитектурага байланган эмес, мисалы, тиешелүү сервер түзүлсө , ал ARM64 системаларында иштей алат). NVMMди андан ары колдонуу багыттарынын арасында жеке тиркемелерди кумдук обочолонтуу да белгиленет.

NetBSD долбоору жаңы NVMM гипервизорун иштеп чыгууда

Source: opennet.ru

Комментарий кошуу