Microsoft OpenVMM гипервизорын және OpenHCL паравиртуализация платформасын ашық бастапқы кодпен қамтамасыз етті

Microsoft OpenHCL паравиртуализациясы қабатының ашық көзін және OpenHCL жұмысын ұйымдастыру үшін арнайы әзірленген OpenVMM виртуалды машина мониторын жариялады. OpenVMM және OpenHCL коды Rust тілінде жазылған және MIT лицензиясы бойынша таратылады. OpenVMM VirtualBox және VMware Workstation сияқты өнімдерге ұқсас операциялық жүйе ядросымен бір қауіпсіздік сақинасында жұмыс істейтін екінші деңгейлі гипервизорларға жатады. Ол Linux (x86_64), Windows (x86_64, Aarch64) және macOS (x86_64, Aarch64) негізіндегі KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) және Hypervisor виртуалдандыру API интерфейстерін пайдаланып жұмыс істеуге қолдау көрсетеді. ОЖ деректері арқылы.

OpenVMM-де қолдау көрсетілетін мүмкіндіктердің арасында:

  • UEFI және BIOS режимдерінде жүктеу, Linux ядросының тікелей жүктелуі;
  • Virtio драйверлеріне негізделген паравиртуализацияны қолдау (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • VMBus негізіндегі паравиртуализацияны қолдау (storvsp, netvsp, vpci, framebuffer);
  • vTPM, NVMe, UART, i440BX + PIIX4 чипсет, IDE HDD, PCI және VGA эмуляциясы;
  • Графиктерді, енгізу құрылғыларын, консольдерді, сақтауды және желіге кіруді қайта жіберуге арналған серверлер;
  • Пәрмен жолы интерфейсі, интерактивті консоль, gRPC және ttrpc арқылы басқару.

OpenHCL OpenVMM гипервизорының үстінде жұмыс істейтін паравиртуализация құрамдастары (паравизор) бар орта ретінде орналастырылған. OpenVMM және OpenHCL негізіндегі виртуалдандыру жүйелерінің негізгі ерекшелігі паравиртуализация құрамдастары хост жүйесінің жағында емес, қонақ жүйесімен бір виртуалды машинада жұмыс істейді. Қонақ операциялық жүйеден паравиртуализация қабатын оқшаулау OpenVMM екінші деңгейлі гипервизормен қамтамасыз етіледі. Осылайша пайдаланылғанда, OpenHCL қонақ ортасында жұмыс істейтін операциялық жүйеге қарағанда жоғары артықшылық деңгейінде жұмыс істейтін виртуалды микробағдарлама ретінде қарастырылуы мүмкін.

Қонақ жүйесін және OpenHCL құрамдастарын бөлу виртуалды сенім деңгейлері тұжырымдамасын (VTL, Virtual Trust Level) пайдалана отырып жүзеге асырылады, оны іске асыру үшін Intel TDX (Trust Domain Extensions) сияқты бағдарламалық тетіктерді де, аппараттық технологияларды да қолдануға болады. ), AMD SEV-SNP (Қауіпсіз шифрланған виртуализация-қауіпсіз кірістірілген пейджинг) және ARM CCA (құпия есептеу архитектурасы). OpenHCL құрамдастарын іске қосу үшін, OpenVMM іске қосу үшін қажетті ең аз құрамдастарды ғана қамтитын Linux ядросының жойылған құрылымы пайдаланылады.

Microsoft OpenVMM гипервизорын және OpenHCL паравиртуализация платформасын ашық бастапқы кодпен қамтамасыз етті

OpenHCL x86-64 және ARM64 платформаларында жұмыс істей алады және қосымша оқшаулау үшін Intel TDX, AMD SEV-SNP және ARM CCA кеңейтімдерін қолдайды. OpenHCL құрамына жабдыққа қол жеткізуді ұйымдастыру, қонақтық жүйе жағында виртуалды құрылғылардың жұмысын қамтамасыз ету және аппараттық құрылғыларды эмуляциялау (мысалы, криптографиялық кілттерді сақтауға арналған чип – vTPM) эмуляциялануы мүмкін қызметтер жиынтығын, драйверлерді және эмуляторларды қамтиды.

Қонақ жүйесі жағындағы аппараттық құралдарға қол жеткізуді түрлендіру үшін паравиртуализацияға қосылған бар драйверлер пайдаланылады немесе құрылғыларды виртуалды машинаға тікелей байланыстыруға болады, бұл бар қонақ жүйелерін OpenHCL негізіндегі ортаға өзгертпей көшіруге мүмкіндік береді. OpenHCL сонымен қатар диагностикалық және жөндеу компоненттерін қамтиды. виртуалды машиналарқұпия есептеулерді қамтамасыз ету үшін кеңейтімдерді пайдалану арқылы орындалады.

Құпия режимде жұмыс істейтін қонақ жүйелеріне қызметтер мен эмуляцияланған құрылғыларды ұсынатын қолданыстағы ашық бастапқы кодты жоба COCONUT-SVSM (Қауіпсіз виртуалды машина қызмет көрсету модулі) жобасынан айырмашылығы виртуалды машиналар (CVM, Confidential Virtual Machine), OpenHCL қонақ жүйелерінде стандартты интерфейстерді пайдалануға мүмкіндік береді, ал COCONUT-SVSM SVSM-мен арнайы өзара әрекеттесуді ұйымдастыруды, қонақ жүйесіне өзгерістер енгізуді және бөлек драйверлерді пайдалануды талап етеді.

OpenHCL паравизорының қолданбалары арасында қонақтық жүйе дискінің кескініне өзгертулер енгізуді қажет етпей, Azure Boost аппараттық жеделдеткіштерін пайдалану үшін бар жүйелерді ауыстыру сияқты сценарийлер айтылған; Құпия есептеулерді қамтамасыз ететін виртуалды машиналарда бар қонақтарды іске қосыңыз (мысалы, Intel TDX және AMD SEV-SNP негізінде); UEFI Secure Boot және vTPM режимі арқылы виртуалды машиналарды тексерілген жүктеуді ұйымдастыру.

OpenVMM жобасы OpenHCL-мен пайдалануға бағытталған және соңғы пайдаланушылар өндірісті іске асыру үшін хост жүйелерінде дербес пайдалануға әлі дайын емес екені бөлек атап өтілген. OpenHCL-тен тыс дәстүрлі контексте хост орталарында пайдалануға кедергі болатын OpenVMM мәселелерінің ішінде мыналар атап өтіледі: басқару интерфейсінің нашар құжаттамасы; сақтау, желі және графика үшін сервер өнімділігін дұрыс оңтайландырудың болмауы; кейбір драйверлерді қолдаудың болмауы (мысалы, IDE дискілері мен PS/2 тышқандары); API тұрақтылығы мен функционалдылығына кепілдік жоқ. Сонымен қатар, OpenVMM және OpenHCL комбинациясы өнеркәсіптік енгізу деңгейіне жетті және оны Microsoft корпорациясы Azure платформасында (Azure Boost SKU) 1.5 миллионнан астам виртуалды машиналардың жұмысын қолдау үшін пайдаланады.

Ақпарат көзі: opennet.ru

пікір қалдыру