Xen поддерживает типы виртуализации
Xen поддерживает запуск двух разных типов гостей. Гости Xen часто называются domUs (непривилегированные домены). Оба гостевых типа (PV, HVM) могут использоваться одновременно в одной системе Xen.
Xen Паравиртуализация (PV)
Паравиртуализация - это эффективная и легкая технология виртуализации, представленная Xen, впоследствии принятая и другими решениями виртуализации. Паравиртуализация не требует расширений виртуализации от центрального процессора. Однако для паравиртуализированных гостей требуется специальное ядро, которое портировано для собственной работы в Xen, поэтому гости знают о гипервизоре и могут работать эффективно без эмуляции или виртуального эмулируемого оборудования. Гостевые ядра Xen PV существуют для операционных систем Linux, NetBSD, FreeBSD, OpenSolaris и Novell Netware.
У гостей PV нет виртуального эмулируемого оборудования, но графическая консоль все еще возможна с использованием гостевого pvfb (паравиртуальный кадровый буфер). Гостевую графическую консоль PV можно просмотреть с помощью VNC-клиента или в Virthat Viewer от Redhat. В dom0 есть отдельный VNC-сервер для PVFB каждого гостя.
Upstream kernel.org Ядра Linux, начиная с Linux 2.6.24, включают поддержку гостевого Xen PV (domU), основанную на платформе Linux pvops, поэтому каждое ядро Linux верхнего уровня можно автоматически использовать в качестве гостевого ядра Xen PV без каких-либо дополнительных исправлений или модификаций.
См. Вики-страницу XenParavirtOps для получения дополнительной информации о поддержке Linux pvops Xen.
Полная виртуализация Xen (HVM)
Для полностью виртуализированных HVM (аппаратная виртуальная машина) гостям требуются расширения виртуализации ЦП от центрального процессора (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.
KVM - это вовсе не Xen, это еще одна технология, в которой KVM - это встроенный модуль ядра Linux, а не дополнительное ядро, такое как Xen. Что делает KVM лучшим дизайном. недостатком здесь является то, что KVM новее, чем Xen, поэтому некоторые функции могут отсутствовать.
Xen
это гипервизор, который работает на металле (ПК / сервер), а затем размещает виртуальные машины, называемые доменами.Xen PV
Домен является Паравиртуализированным доменом , это означает , что операционная система (обычно мы говорим линукс здесь) были модифицированы для работы под 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 не могут перегружать память, поэтому вы обычно получаете «истинное ОЗУ», в то время как другие платформы, такие как VMware, могут переставлять часть гостевой памяти на диск.
Существуют различия, но обычно они применяются к конкретным установкам, а не к обычному виртуальному частному серверу для продажи другим людям. Например, недавние гипервизоры Xen поддерживают трансцендентную память, которая может улучшить использование памяти и производительность гостя, если у гостя есть поддержка (ядра Linux> = 3.something).
Все эти технологии дадут вам отличный опыт, если они будут реализованы правильно, и не будут иметь большого значения с вашей точки зрения. Конечно, существует тысяча способов, с помощью которых все может пойти не так, и это не связано с конкретным решением для виртуализации (т. Е. Ваш гость может храниться на медленных дисках, что может снизить вашу производительность).
источник