Назад | Перейти на главную страницу

Разница между Xen PV, Xen KVM и HVM?

Я знаю, что Xen обычно лучше, чем OpenVZ, поскольку поставщик не может перепродавать Xen. Однако в чем разница между Xen PV, Xen KVM и HVM (Я проходил через спецификации? Какой лучше для каких целей и почему?


Редактировать:

Что лучше для конечного пользователя, который будет просто размещать веб-сайты? Есть ли преимущество одного перед другим с точки зрения эффективности или с другой точки зрения?

Xen поддерживает типы виртуализации

Xen поддерживает запуск двух разных типов гостей. Гостей Xen часто называют domU (непривилегированные домены). Оба типа гостя (PV, HVM) могут использоваться одновременно в одной системе Xen.

Xen Паравиртуализация (PV)

Паравиртуализация - это эффективный и легкий метод виртуализации, представленный Xen, который позже был принят и другими решениями виртуализации. Паравиртуализация не требует расширений виртуализации от центрального процессора. Однако для паравиртуализированных гостевых систем требуется специальное ядро, которое портировано для работы в Xen, поэтому гости знают о гипервизоре и могут эффективно работать без эмуляции или виртуального эмулируемого оборудования. Гостевые ядра Xen PV существуют для операционных систем Linux, NetBSD, FreeBSD, OpenSolaris и Novell Netware.

Гости PV не имеют какого-либо виртуального эмулируемого оборудования, но графическая консоль все еще возможна с использованием гостевого pvfb (паравиртуального буфера кадров). Гостевую графическую консоль PV можно просмотреть с помощью VNC-клиента или программы виртуального просмотра Redhat. В dom0 есть отдельный сервер VNC для PVFB каждого гостя.

Вышестоящий kernel.org Ядра Linux, начиная с Linux 2.6.24, включают гостевую поддержку Xen PV (domU) на основе Linux pvops framework, поэтому каждое вышестоящее ядро ​​Linux может автоматически использоваться как гостевое ядро ​​Xen PV без каких-либо дополнительных исправлений или изменений.

См. Вики-страницу XenParavirtOps для получения дополнительной информации о поддержке Linux pvops Xen.

Полная виртуализация Xen (HVM)

Для полностью виртуализированных гостевых систем, известных как HVM (Hardware Virtual Machine), требуются расширения виртуализации ЦП от центрального процессора (Intel VT, AMD-V). Xen использует модифицированную версию Qemu для эмуляции всего аппаратного обеспечения ПК, включая BIOS, контроллер диска IDE, графический адаптер VGA, контроллер USB, сетевой адаптер и т. Д. Для гостей HVM. Расширения виртуализации ЦП используются для повышения производительности эмуляции. Полностью виртуализированные гостевые системы не требуют специального ядра, поэтому, например, операционные системы Windows могут использоваться в качестве гостевой системы Xen HVM. Полностью виртуализированные гости обычно работают медленнее, чем паравиртуализированные гостевые системы, из-за необходимости эмуляции.

Для повышения производительности полностью виртуализированные гости HVM могут использовать специальные драйверы паравиртуальных устройств для обхода эмуляции дискового и сетевого ввода-вывода. Гости Xen Windows HVM могут использовать драйверы GPLPV с открытым исходным кодом. См. Вики-страницу XenLinuxPVonHVMdrivers для получения дополнительной информации о драйверах Xen PV-on-HVM для гостевых систем Linux HVM.

Это от http://wiki.xenproject.org/wiki/XenOverview

KVM - это вовсе не Xen, это еще одна технология, где KVM - это собственный модуль ядра Linux, а не дополнительное ядро, как Xen. Что делает KVM лучшим дизайном. Обратной стороной является то, что KVM новее Xen, поэтому в нем могут отсутствовать некоторые функции.

Xen - это гипервизор, который работает на «железе» (ПК / сервер) и затем размещает виртуальные машины, называемые доменами.

А Xen PV домен является паравиртуализированный домен, это означает, что операционная система (обычно мы говорим здесь о Linux) была изменена для работы под Xen, и нет необходимости фактически эмулировать оборудование. это должен быть наиболее эффективным с точки зрения производительности.

А Xen HVM домен аппаратная эмуляция домен, это означает, что операционная система (может быть Linux, Windows или что угодно) никоим образом не изменялась, а оборудование эмулируется. Это довольно медленно, поэтому обычно вы устанавливаете PV драйверы в гостевой ОС для критически важного оборудования (обычно диска и сети), поэтому гостевая система в целом будет работать полностью виртуализированной, но наиболее критичные к производительности части оборудования будут работать паравиртуализированными. В последних системах Linux в ядре есть драйверы PV для диска и сети, а также существуют различные драйверы PV для Windows. При всех разработках HVM в последние годы разница в производительности между HVM и PV для стандартных рабочих нагрузок обычно невелика.

KVM это не Xen, это еще одна платформа виртуализации, встроенная в ядро ​​Linux. Из гость с точки зрения он напоминает Xen HVM: гость работает полностью виртуализировано, и есть специальный драйвер для запуска некоторых паравиртуализированных частей (опять же, диск и сеть).

И Xen HVM, и Linux KVM нуждаются в поддержке аппаратной поддержки виртуализации (Intel VT-x, AMD AMD-V), тогда как Xen PV не работает, но не может запускать операционные системы без поддержки PV (вы не можете запустить Windows на Xen PV).

И Xen HVM, и Linux KVM будут использовать части программного обеспечения виртуализации qemu для эмуляции реального оборудования для устройств, не использующих драйверы PV в гостевой системе.

Xen (как PV, так и HVM) может выполнять живую миграцию запущенного гостя с одного физического сервера на другой, я не знаю, может ли KVM тоже.

И Xen, и KVM не могут чрезмерно загружать память, поэтому вы обычно получаете «настоящую RAM», в то время как другие платформы, такие как VMware, могут переставлять часть гостевой оперативной памяти на диск.

Есть различия, но обычно они относятся к конкретным установкам, а не к общему виртуальному частному серверу для продажи другим людям. Например, последние гипервизоры Xen поддерживают превосходную память, которая может улучшить использование памяти и производительность гостевой системы, если гость поддерживает ее (ядра linux> = 3.something).

Все эти технологии дадут вам отличный опыт, если они будут реализованы правильно, и не будут иметь большого значения с вашей точки зрения. Конечно, есть тысяча причин, по которым что-то может пойти не так, и это не связано с конкретным решением виртуализации (т. Е. Ваш гость может храниться на медленных дисках, что отрицательно скажется на вашей производительности).