Різниця між Xen PV, Xen KVM і HVM?


53

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


Редагувати:

Для кінцевого користувача, який просто розмістить веб-сайти, що краще? Чи є з точки зору ефективності чи іншої точки зору якась перевага одного над іншим?

Відповіді:


47

Xen підтримує типи віртуалізації

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

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

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

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

Вихідні kernel.org Linux ядра з Linux 2.6.24 включають підтримку Xen PV guest (domU) на основі фреймворку Linux pvops, тому кожне ядро ​​Linux вище за течією може автоматично використовуватися як гостьове ядро ​​Xen PV без додаткових виправлень або модифікацій.

Дивіться сторінку вікі XenParavirtOps для отримання додаткової інформації про підтримку XenPraps для Linux.

Повна віртуалізація 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 можуть використовувати драйвери GPLPV з відкритим кодом. Дивіться сторінку вікі XenLinuxPVonHVMdrivers для отримання додаткової інформації про драйвери Xen PV-on-HVM для гостей HVM Linux.

Це з http://wiki.xenproject.org/wiki/XenOverview

KVM - це зовсім не Xen, це інша технологія, де KVM є основним модулем ядра Linux, а не додатковим ядром, як Xen. Що робить KVM кращим дизайном. Недоліком тут є те, що KVM є новішим, ніж Xen, тому, можливо, не вистачає деяких особливостей.


9
+1 КВМ зовсім не Xen. Це абсолютно не погоджується, що KVM - це краща конструкція. Xen забезпечує набагато кращу ізоляцію і не залежить від ядра Linux та його потенційних уразливих місць.
Антуан Бенкемун

2
Дякую за інформацію! Я не міг все зрозуміти. З точки зору кінцевого користувача, хто просто розмістить веб-сайти, що краще? Чи є значна перевага одного над іншим?

2
Xen має власні уразливості. Але запуск ОС з двома завантаженими ядрами є вадою дизайну, незалежно від того, наскільки добре ви це зробите
діасний

1
JP19: це залежить від веб-сайтів. Якщо ви можете визначити навантаження на VPS, ви можете запитати тут або google для найкращого рішення.
діасний

2
Ксен - гіпервізор, як і КВМ. KVM має фотопристрої, що додає більше часу, а також дозволяє пройти PCI. Тож я не бачу сенсу у вашому аргументі, Нілс
діасний

32

Xen це гіпервізор, який працює на металі (ПК / сервер), а потім розміщує віртуальні машини, звані домени.

Xen PVДомен є Паравіртуалізірованние домен , це означає , що операційна система (зазвичай ми говоримо Linux тут) був модифікований для роботи під Xen, і немає ніякої необхідності фактично емуляції апаратних засобів. Це має бути найефективнішим шляхом, з розумом виконання.

Xen HVMДомен апаратно емулювати домен, це означає , що операційна система (може бути Linux, Windows, будь інший ) не був змінений яким - небудь чином і апаратне забезпечення отримує емулювати. Це досить повільно, тому зазвичай ви встановлюєте драйвери PV в гостьовій ОС для критичного обладнання (як правило, диска та мережі), так що гість в цілому працюватиме повністю віртуалізовано, але найбільш критичні для продуктивності частини обладнання працюватимуть паравіртуалізовано. Останні Linux-системи мають у своєму розпорядженні DVD-драйвери як для диска, так і для мережі в ядрі, а також існують різні 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. щось).

Усі ці технології дадуть вам чудовий досвід, якщо вони будуть впроваджені правильно та не зроблять великої зміни з вашої точки зору. Звичайно, існує тисяча способів, як все може піти не так, і це не пов'язане з конкретним рішенням для віртуалізації (тобто ваш гість може зберігатися на повільних дисках, і це зашкодить вашій роботі).


3
KVM може перезавантажувати пам'ять, а також Xen.
діасний

@dyasny Я не знаю про KVM, але я впевнений, що Xen не може переповнювати пам'ять у фактичному розумінні цього слова (допускаючи різний максимальний розмір - різна річ). Будь ласка, зв’яжіть свої джерела, якщо ви вважаєте, що це так.
Лука404

Xen підтримує повітряну кулю. Додайте до цього стандартні заміни, і у вас вже є щонайменше два механізми перевиконання. Це вік,
dyasny

3
@dyasny ви , ймовірно , думати про overcommit як дозволяючи більш високий максимум. AFAIK, прийнятий сенс полягає в тому, щоб насправді виділити гостям більше пам’яті, ніж фізично присутніх у господаря, і це не реалізовано в Xen. Ви не можете спустити гостьову кулю (наприклад, надайте їй більше пам’яті), якщо у вас немає доступної фізичної пам’яті в хості, і ви не можете або запустити нового гостя, якщо ви вже виділили всю пам'ять хоста (якщо ви не надули запуск повітряних кульок для гостей, таким чином фактично зменшується виділена пам’ять, щоб ви нічого не перевтомовували).
Лука404

1
Я думаю, що надмірна комісія не тільки дозволяє більше, ніж фізично має хост, але і як реально використовувати більше, ніж хост фізично має. Обмін є жахливим, але це механізм, який дозволяє виділяти більше хостів пам’яті, ніж фізично у вас на хості, будь то для процесів чи віртуальних машин - не має значення. Це настільки, наскільки я піду в семантику на цій.
діасний
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.