Вопрос: Разница между Xen PV, Xen KVM и HVM?


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


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

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


50
2018-01-13 13:39


Источник




Ответы:


Поддерживаемые типы виртуализации 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   ядро без каких-либо дополнительных исправлений   или модификаций.

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

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

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

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

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

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


44
2018-01-13 13:48



+1 KVM вовсе не Xen. Он полностью не согласен с тем, что KVM - лучший дизайн. Xen обеспечивает гораздо лучшую изоляцию и не зависит от ядра Linux, и это потенциальная уязвимость. - Antoine Benkemoun
Спасибо за информацию! Я не мог все понять. С точки зрения конечного пользователя, который будет просто размещать веб-сайты, что лучше? Есть ли существенное преимущество одного над другим?
У Xen есть свои уязвимости. Но запуск ОС с двумя загруженными ядрами - это недостаток дизайна, независимо от того, насколько хорошо вы это делаете - dyasny
JP19: это зависит от веб-сайтов. Если вы можете определить нагрузку на VPS, вы можете запросить здесь или google для лучшего решения. - dyasny
Xen - гипервизор, а также KVM. KVM имеет устройства PV и добавляет больше со временем, а также позволяет переходить через PCI. Поэтому я не вижу смысла в вашем аргументе, Нильс - dyasny


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 kernels> = 3.something).

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


31
2017-12-09 18:01



KVM может перекомпилировать память, а также Xen. - dyasny
@dyasny Я не знаю о KVM, но я уверен, что Xen не может overcommit память в реальном смысле слова (разрешение другого максимального размера - другое дело). Если вы считаете, что хотите, свяжите ваши источники. - Luke404
Xen поддерживает баллонирование. Добавьте стандартную подкачку к этому, и у вас уже есть как минимум 2 механизма overcommit. Это так же хорошо, как и в 2008 году: blog.xen.org/index.php/2008/08/27/... - dyasny
@dyasny, вы, наверное, думаете о overcommit как позволяющий более высокий максимум. AFAIK, принятое значение состоит в том, чтобы фактически распределить для гостей больше памяти, чем физически присутствовать на хосте, и это не реализовано в Xen. Вы не можете сдуть гостевой воздушный шар (например, дать ему больше памяти), если у вас нет доступной физической памяти на хосте, и вы не можете запускать нового гостя, если вы уже выделили всю память вашего хоста (если вы не надуваете запуская шары гостей, тем самым фактически уменьшая выделенную память, чтобы вы не превзошли что-либо). - Luke404
@dyasny и, кроме того, гипервизор даже не знает, что такое своп, поэтому он не может менять страницы памяти. Замена гостей, потому что у них меньше памяти, чем хотелось бы, это не то, что я называю overcommit, это просто простое управление памятью у гостя, когда вы берете память из нее. - Luke404