- PVSM.RU - https://www.pvsm.ru -
Перевод. Оригинал в блоге Xen [1]
От переводчика: на данный момент стабильная версия гипервизора Xen поддерживает два режима виртуализации. В паравиртуальном режиме (PV) оборудование не эмулируется, и гостевая ОС должна быть специальным образом модифицирована, чтобы работать в таком окружении. Начиная с версии 3.0, ядро Linux поддерживает запуск в паравиртуальном режиме без перекомпиляции. Преимущество режима PV в том, что он не требует поддержки аппаратной виртуализации со стороны CPU, а также не тратит вычсилительне ресурсы (иногда весьма значительные) для эмуляции оборудования на шине PCI.
Режим аппаратной виртуализации (HVM) появился в Xen, начиная с версии 3.0 гипервизора, и требует поддержки со стороны оборудования. В этом режиме для эмуляции виртуальных устройств используется QEMU, который весьма неповоротлив даже с паравиртуальными драйверами. Однако со временем поддержка аппаратной виртуализации в оборудовании получила настолько широкое рапространение, что используется даже в CPU ноутбуков. Поэтому у разработчиков возникло желание использовать быстрое переключение контекста исполнения между гипервизором и гостевой ОС и в паравиртуальном режиме, используя возможности оборудования. Так появился новый режим — аппаратная паравиртуализация, который будет доступен в Xen, начиная с версии 4.4.
Ядро Linux 3.14 будет поддерживать новый режим, разработанный Мукешем Разором (Mukesh Rathor)
из корпорации Oracle. Режим аппаратной паравиртуализации (PVH) позволяет гостевой ОС использовать аппаратные возможности платформы, но при этом не требует эмуляции оборудования с помощью QEMU. Это впечатляющий шаг в эволюции паравиртуального режима.
История и тонкости реализации режима PVH детально описаны в статье The Paravirtualization Spectrum, Part 2: From poles to a spectrum [2].
Если же говорить кратко, то сейчас гостевая ОС в Xen может работать в режиме аппаратной виртуализации (HVM) или же паравиртуализации (PV). В режиме PV ядро гостевой ОС позволяет гипервизору программировать таблицы страниц памяти, сегменты и т.д. Если процессор поддерживает расширения EPT/NPT, то затраты на управление памятью в режиме HVM (когда памятью управляет гостевая ОС) намного меньше, чем когда это делает гипервизор в режиме PV. Итак, в новом режиме гипервизор не управляет памятью и системными вызовами внутри гостевой ОС — все это происходит внутри контейнера виртуальной машины.
Такой «гибридный» режим паравиртуализации получил название «аппаратная паравиртуализация» (PVH).
Преимущества такого подхода состоят в сокращении объема кода, большей производительности при выполнении системных вызовов (отстутсвует переключение контекста между гостевой ОС и гипервизором), меньших задержках при выполнении различных операций, словом — в более быстром отклике гостевой ОС.
Код, реализующий режим PVH, будет доступен в Xen, начиная с версии 4.4 (уже вышел 3-й релиз-кандидат этой версии). Если сравнивать новый режим с режимом паравиртуализации, но практически никаких отличий нет, за исключением того, что гостевая ОС запускается в режиме HVM (но без PCI-устройств) и работает намного быстрее. Мы еще работаем над тонкостями ABI в новом режиме, поэтому ABI пока нестабилен.
Это значит, что в следующая версия Xen, возможно, даже не будет работать с текущей версией Linux ABI (а может и будет). Новый режим в высшей степени экспериментален и нестабилен. Мы намерены довести его до уровня практического применения, и всеми силами стремимся к этой цели.
Нам очень поможет, если пользователи будут пытаться использовать новый режим, так что мы сможем отслеживать ошибки и проблемы, которые мы не могли представить на этапе разработки.
Как использовать аппаратную паравиртуализацию?
Гостевая ОС загрузится, как паравиртуальная, но утилита xen-detect будет показывать, что она запущена в режиме аппаратной виртуализации.
Не тестировались следующие возможности:
Не работают следующие функции:
Если вы обнаружили ошибку, пожалуйста, вышлите нам на e-mail xen-devel@lists.xenproject.org следующую информацию:
Пожалуйста, сохраняйте ваши образы ядра (vmlinuz). Они могут понадобиться нам в дальнейшем, но слишком велики, чтобы высылать их через e-mail.
Автор: lovecraft
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/xen/54031
Ссылки в тексте:
[1] в блоге Xen: http://blog.xen.org/index.php/2014/01/31/linux-3-14-and-pvh/?utm_s
[2] The Paravirtualization Spectrum, Part 2: From poles to a spectrum: http://blog.xen.org/index.php/2012/10/31/the-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/
[3] wiki.xen.org/wiki/Compiling_Xen_From_Source: http://wiki.xen.org/wiki/Compiling_Xen_From_Source
[4] wiki.xen.org/wiki/Xen_4.4_RC3_test_instructions: http://wiki.xen.org/wiki/Xen_4.4_RC3_test_instructions
[5] wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs#Configuring_the_Kernel: http://wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs#Configuring_the_Kernel
[6] Источник: http://habrahabr.ru/post/211034/
Нажмите здесь для печати.