Гипервизоры типа 1, энергонезависимая изоляция памяти - PullRequest
0 голосов
/ 17 октября 2018

Гипервизоры изолируют разные ОС, работающие на одной физической машине, друг от друга.В рамках этого определения также существует разделение энергонезависимой памяти (например, жестких дисков или флэш-памяти).

При рассмотрении гипервизоров типа 2 легко понять, как они разделяют энергонезависимую память, поскольку они простоиспользуйте реализацию файловой системы базовой ОС для выделения разных «файлов жесткого диска» для каждой виртуальной машины.

Но, когда я начинаю думать о гипервизорах 1-го типа, проблема становится все труднее.Они могут использовать IOMMU для изоляции различных аппаратных интерфейсов, но в случае только одного интерфейса энергонезависимой памяти в системе я не вижу, как это помогает.

Таким образом, одним из способов его реализации будет разделение одного устройства на 2 "раздела", а также заставление гипервизора интерпретировать вызовы от виртуальных машин и решать, являются ли эти вызовы законными или нет.Я не заинтересован в протоколах связи с энергонезависимыми интерфейсами, но гипервизор должен быть знаком с этими протоколами , чтобы вынести вердикт, который звучит (возможно) как избыточное убийство.

Существуют ли другие способы реализации такого рода изоляции?

1 Ответ

0 голосов
/ 17 декабря 2018

Да, вы правы, гипервизор должен быть знаком с этими протоколами, чтобы сделать возможной изоляцию.Накладные расходы в основном зависят от протокола.Как и основанные на NVMe твердотельные накопители в основном работают на PCIe, а некоторые устройства NVMe поддерживают SR-IOV , что значительно сокращает усилия, но некоторые не оставляют нагрузку на гипервизор.

В основном эта поддержка настроенаво время сборки, например, сколько памяти будет отведено каждому гостю, привилегии команды для каждого гостя и т. д., и когда гость отправляет команду, гипервизор проверяет свои границы и соответственно передает их.

Так почему нетлюбая поддержка, как MMU или IOMMU в этом случае?Существуют сотни типов таких устройств с разными протоколами, NVMe, AHCI и т. Д., И если поставщик придет к ним, чтобы обеспечить лучшую виртуализацию, он получит огромный чип, который не подходит.

...