Паравиртуализация — различия между версиями
(→Общая информация) |
|||
Строка 1: | Строка 1: | ||
'''Паравиртуализация''' — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется.<br /> | '''Паравиртуализация''' — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется.<br /> | ||
− | Впервые термин возник в проекте Denali, но сейчас чаще всего его связывают с Xen, системой где паравиртуализация заслужила наибольшую популярность. | + | Впервые термин возник в проекте Denali, но сейчас чаще всего его связывают с Xen, системой где паравиртуализация заслужила наибольшую популярность.[[Файл:Paravirtulizashion 1.png|мини|Структурная схема паравиртуализации]] |
== Общая информация == | == Общая информация == |
Версия 14:18, 31 марта 2016
Паравиртуализация — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется.
Содержание
Общая информация
Паравиртуализация - это популярный метод, который имеет некоторое сходство с полной виртуализацией. Гостевые операционные системы подготовливаются для исполнения в виртуализированной среде, для чего интегрируется код виртуализации в саму операционную систему. Этот подход позволяет избежать любой перекомпиляции или перехвата команд, поскольку операционная система сама участвует в процессе виртуализации. Цель изменения интерфейса - сокращение доли времени выполнения операций гостя, которые являются существенно более трудными для запуска в виртуальной среде. Подобно полной виртуализации множество различных операционных систем могут поддерживаться одновременно. Паравиртуализацию используют SCSI, USB, VGA и PCI устройства.
Метод паравиртуализации позволяет добиться более высокой производительности, чем метод динамической трансляции.
Паравиртуализация не нуждается в расширении виртуализации от хост-процессора и это обеспечивает виртуализацию аппаратных архитектур, которые не поддерживают аппаратную виртуализацию. Как бы то ни было, пользователи и управляющие домены требуют поддержки ядра и драйверов, которые в прошлом требовали специальной сборки ядра, но сейчас являются частью ядра Linux как и других ОС.
История
Паравиртуализация – новый период старой идеи. ОС VM компании IBM предлагает подобную услугу с 1972. Приставка «пара» в слове паравиртуализация ничего не обозначает, просто авторам данной идеи понадобился новый термин.
Термин “паравиртуализация” впервые был использован в исследовательской литературе в связи с Denali. Этот термин также используется для описания Xen, L4, TRANGO, VMware, Wind River и XtratuM гипервизоров. Все эти проекты используют или могут использовать паравиртуализацию для поддержки высокой производительности виртуальных машин. В настоящее время почти все дистрибутивы Linux, а именно CentOS, Debian, Ubuntu, Gentoo, Fedora, ArchLinux и др., способны работать в режиме Xen PV.
Гипервизор обеспечивает виртуализацию, лежащую в основе компьютерной системы. В полной виртуализации гостевая операционная система запускается немодифицированной на гипервизоре.
В 2005 Vmware предложила паравиртуализационный интерфейс Virtual Machine Interface (VMI) в качестве механизма связи между гостевой операционной системой и гипервизором. Этот интерфейс позволяет прямую паравиртуализацию, в которой простая бинарная версия операционной системы может быть запущена как с жесткого диска, так и с гипервизора в режиме паравиртуализации.
Как только AMD и Intel CPU добавили поддержку для более эффективной выполняемой с помощью ПО виртуализации, стандарт устарел и поддержка VMI была убрана из ядра Linux в 2.6.37 и из продуктов Vmware в 2011.
Идея паравиртуализации легла в основу Xen — монитора виртуальных машин, изначально разрабатывавшегося в Кембриджском университете под руководством Яна Пратта). Начав свой путь в конце 90х годов как исследовательский проект, Xen уже через несколько лет приобрел мировую известность.
Интерес к решениям виртуализации для платформы x86 не прошел мимо основных производителей процессоров — Intel и AMD. Обе компании решили внести в свои аппаратные решения изменения, устраняющие ограничения архитектуры и упрощающие создание средств виртуализации.
Версия 3.0, выпущенная в 2005 году, позволяла запускать немодифицированные гостевые системы (естественно, только на процессорах с соответствующими характеристиками). В частности, стало возможно использовать MS Windows в качестве гостевой ОС. Впрочем, для использования какой-либо ОС в качестве хост-системы (dom0) в нее по-прежнему необходимо вносить определенные модификации.
KVM – свободный продукт, которй был интегрирован с разработкой ядра Linux — начиная с версии 2.6.20, все нужное для KVM включено в основную ветку разработки.
Функциональность
Паравиртуализация обеспечивает следующую функциональность:
- Дисковые и сетевые драйвера
- Обработчики прерываний и таймеры
- Имитированная материнская плата и загрузка в режиме совместимости
Дисковая и сетевая поддержка обеспечивается при помощи пары очень простых back-end и front-end драйверов. С точки зрения архитектуры, паравиртуализация работает при помощи открытия дополнительных каналов связи между гипервизорами и гостевой операционной системой.
Преимущества и недостатки
Недостатки
- Паравиртуализация требует модификацию гостевой операционной системы, и это является недостатком метода, так как подобное изменение возможно лишь в случае, если гостевые ОС имеют открытые исходные коды, которые можно модифицировать согласно лицензии.
- Ограниченное количество поддерживаемых ОС
Преимущества
- Обеспечивается производительность, близкая к производительности невиртуализированной системы, потому что операционная система и гипервизор работают друг с другом более эффективно.
См. также
- https://www.hostland.ru/glossary/node/88
- http://wiki.xen.org/wiki/Paravirtualization_(PV)
- https://habrahabr.ru/company/nqhost/blog/117310/
- http://rus-linux.net/kos.php?name=/papers/virtual/virtual-linux.koi#N102EE
- http://dsilakov.ru/papers/Xen.pdf
- https://habrahabr.ru/company/centosadmin/blog/212985/
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.