ProHoster > Кампанія Siemens выпусціла гіпервізор Jailhouse 0.12
Кампанія Siemens выпусціла гіпервізор Jailhouse 0.12
Кампанія Siemens апублікавала рэліз свабоднага гіпервізара Jailhouse 0.12. Гіпервізар падтрымлівае працу на сістэмах x86_64 з пашырэннямі VMX+EPT ці SVM+NPT (AMD-V), а таксама на працэсарах ARMv7 і ARMv8/ARM64 з пашырэннямі для віртуалізацыі. Асобна развіваецца генератар выяў для гіпервізара Jailhouse, фармаваных на аснове пакетаў Debian для падтрымоўваных прылад. Код праекту распаўсюджваецца пад ліцэнзіяй GPLv2.
Гіпервізар рэалізаваны ў выглядзе модуля для ядра Linux і забяспечвае віртуалізацыю на ўзроўні ядра. Кампаненты для гасцявых сістэм ужо ўключаны ў склад асноўнага ядра Linux. Для кіравання ізаляцыяй выкарыстоўваюцца якія прадстаўляюцца сучаснымі CPU апаратныя механізмы віртуалізацыі. Адметнымі асаблівасцямі Jailhouse з'яўляюцца легкаважная рэалізацыя і арыентацыя на прывязку віртуальных машын да фіксаванага CPU, вобласці АЗП і апаратным прыладам. Такі падыход дазваляе на адным фізічным шматпрацэсарным серверы забяспечыць працу некалькіх незалежных віртуальных акружэнняў, кожнае з якіх замацавана за сваім працэсарным ядром.
Пры цвёрдай прывязцы да CPU накладныя выдаткі ад працы гіпервізара зводзяцца да мінімуму і істотна спрашчаецца яго рэалізацыя, бо няма неабходнасці выканання складанага планавальніка размеркавання рэсурсаў - вылучэнне асобнага ядра CPU дазваляе гарантаваць адсутнасць выканання на дадзеным CPU іншых задач. Плюсам падобнага падыходу з'яўляецца магчымасць забяспечыць гарантаваны доступ да рэсурсаў і прадказальную прадукцыйнасць, што робіць Jailhouse прыдатным рашэннем для стварэння задач, якія выконваюцца ў рэжыме рэальнага часу. Мінусам з'яўляецца абмежаваная маштабаванасць, якая ўпіраецца ў лік ядраў CPU.
У тэрміналогіі Jailhouse віртуальныя асяроддзі называюцца "камерамі" (cell, у кантэксце jailhouse). Унутры камеры сістэма выглядае як аднапрацэсарны сервер, які паказвае прадукцыйнасць. блізкую да прадукцыйнасці выдзеленага ядра CPU. У камеры можа быць запушчана асяроддзе адвольнай аперацыйнай сістэмы, а таксама зрэзаныя асяроддзі для запуску аднаго прыкладання або спецыяльна падрыхтаваныя асобныя прыкладанні, прызначаныя для рашэння задач рэальнага часу. Канфігурацыя задаецца ў .cell-файлах, вызначальных вылучаемыя асяроддзю CPU, рэгіёны памяці і парты ўводу/высновы.
У новым выпуску
Дададзена падтрымка платформаў Raspberry Pi 4 Model B і Texas Instruments J721E-EVM;
Перапрацавана прылада ivshmem, якое ўжываецца для арганізацыі ўзаемадзеяння паміж вочкамі. Па-над новым ivshmem можна рэалізаваць транспарт для VIRTIO;
Рэалізавана магчымасць адключэння стварэння вялікіх старонак памяці (hugepage) для блакавання ўразлівасці CVE-2018-12207 у працэсарах Intel, якая дазваляе непрывілеяванаму атакаваламу ініцыяваць адмову ў абслугоўванні, які прыводзіць да завісання сістэмы ў стане "Machine Check Error";
Для сістэм з працэсарамі ARM64 рэалізавана падтрымка SMMUv3 (System Memory Management Unit) і TI PVU (Peripheral Virtualization Unit). Для ізаляваных акружэнняў, якія запускаюцца па-над абсталяваннем (bare-metal), дададзеная падтрымка PCI;
На сістэмах x86 для каранёвых камер рэалізавана магчымасць уключэння які прадстаўляецца працэсарамі Intel рэжыму CR4.UMIP (User-Mode Instruction Prevention), які дазваляе забараніць выкананне ў прасторы карыстача некаторых інструкцый, такіх як SGDT, SLDT, SIDT, SMSW і STR, якія могуць ужывацца ў нападах , накіраваных на павышэнне прывілеяў у сістэме.