Ликбез 23. Что такое паравиртуализация Опубликовано 08/05/2022 автором Алексей Шалагинов Виртуальная машина (ВМ) – это представление физических вычислительных ресурсов в виде программы, которая использует набор ресурсов, предоставляемых уровнем физической инфраструктуры. ВМ состоит из программного кода приложения и гостевой операционной системы (Guest OS), которая работает поверх гипервизора (специальной программы, предоставляющей физические ресурсы обордования для виртуальных машин).
Паравиртуализация — это разновидность виртуализации, при котором гостевая операционная система модифицируется перед установкой внутри виртуальной машины, чтобы позволить всем гостевым ОС в системе совместно использовать ресурсы, а не пытаться эмулировать нижележащую аппаратную инфраструктуру.
При этом к виртуальным машинам можно получить доступ через интерфейсы, аналогичные базовому оборудованию (рис. 1). Этj позволяет снизить накладные расходы и повысить производительность системы, повышая коэффициент использования виртуальных машин.
Рис 1. Паравиртуализация вирутальных машин
Основным ограничением паравиртуализации является то, что гостевая ОС должна быть адаптирована для работы поверх гипервизора. Паравиртуализации избавляет ВМ от необходимости перехватывать инструкции гипервизора, предназначенные для этой ВМ.
Такой перехват может занимать много времени и может отрицательно сказаться на производительности в системах, использующих полную виртуализацию.
Основное различие между паравиртуализацией и полной виртуализацией заключается в возможности внесения изменений в гостевую ОС. При паравиртуализации гостевая ОС знает, что она виртуализируется. При полной виртуализации немодифицированная ОС работает так же, как если бы она не была виртуализирована, а вызовы ОС перехватываются и транслируются с использованием двоичного преобразования.
Предоставляя гостевой ОС доступ к базовому оборудованию, паравиртуализация обеспечивает связь между гостевой ОС и гипервизором , тем самым повышая производительность и эффективность системы.
Целью модификации гостевой ОС является сокращение времени выполнения, необходимого для выполнения операций, когда ядро гостевой ОС модифицируется для работы с гипервизором.
Использование паравиртуализации Паравиртуализация предлагает различные преимущества в производительности, а также повышение масштабируемости.
Это полезно в различных технических областях, в том числе:
аварийное восстановление
управление мощностями
разделение тестовых систем и сред разработки
перенос данных из одной системы в другую
К преимуществам паравиртуализации относятся:
Прямая связь между гостевым ядром и гипервизором повышает уровень производительности.
Тонкий программный слой, созданный при паравиртуализации, управляет трафиком виртуального сервера, позволяя одной гостевой ОС получать доступ к физическому аппаратному устройству и прекращая доступ для всех остальных гостевых ОС.
Поскольку паравиртуализация не пытается полностью перестроить аппаратное обеспечение, накладные расходы на виртуализацию снижаются.
К недостаткам паравиртуализации относятся:
Модификации гостевой ОС необходимы для любого взаимодействия с интерфейсами паравиртуализации, что ограничивает поддержку ОС с открытым исходным кодом, таких как Linux.
Поскольку паравиртуализация не может работать с немодифицированной гостевой ОС, ее совместимость и переносимость минимальны с такими системами, как Microsoft Windows.
Могут возникнуть серьезные проблемы с поддержкой и обслуживанием, поскольку требуется сложная модификация гостевого ядра.