Ксен проти КВМ у виконанні


36

Що швидше на тому ж апаратному забезпеченні, Xen або KVM?

Я намагаюся підібрати технологію віртуалізації для роботи, яка дає найкращі показники.

Тут я знайшов кілька орієнтирів на тему: http://virt.kernelnewbies.org/XenVsKVM

Вони показують KVM як переможця, із суттєвою різницею у продуктивності - що суперечить ідеї, що KVM - гіпервізор типу 2, і за визначенням він повинен бути повільнішим, ніж гіпервізори типу 1 (як Xen) - або принаймні те, що статті в Інтернеті кажуть.

Будь-яка ідея з цього питання?


Це порівняння здається досить поганим, оскільки порівнює KVM + 1xVM та Xen + 1VM ... Який сенс у віртуалізації, якщо у вас є лише VM?
Антуан Бенкемун

КВМ НЕ є гіпервізором типу 2. Це, безумовно, тип-1, і він, безумовно, ближче до обладнання, ніж Xen. Так, так, з огляду на ці ж умови, KVM повинен працювати краще, особливо з сучасними драйверами
virtIO

Якщо ви читаєте це в 2017 році (хтось зробив тривіальну редагування питання), то зрозумійте, що це питання та його відповіді - ВІСЬКІ РОКИ СТАРИМ . KVM vs Xen пейзаж зараз дуже різний.
thomasrutter

Відповіді:


33

Цей показник лише порівнює швидкість нативного ОС з однією гостьовою ОС. Це навряд чи тест у реальному світі. Я не думаю, що я ставлю на це велику вагу. Більшість таборів KVM стверджує, що Xen вимагає занадто багато переривань і переходів між ядром та користувальницьким простором, але від більшості більш реальних орієнтирів, які я бачив, насправді не реалізовано, і Xen, здається, трохи швидше ніж КВМ.

Вибачте, у мене немає посилання, щоб підкріпити це. Але я скажу, що KVM швидко вдосконалюється і, здається, швидко наздоганяє набір функцій та стабільність.

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

Зрештою, досі незрозуміло, в якому напрямку переможеш. Xen, безумовно, має перевагу і вже має приємну частку ринку. Але це ще не в основному ядрі. Сподіваємось, що це незабаром зміниться, і, звичайно, було багато розмов про це у списку ядра за останні кілька місяців. Red Hat зараз перебуває у таборі KVM, і він висуне його як платформу для віртуалізації на вибір. Першим включить Red Hat Linux 5.4, який незабаром вийде. Тож це, ймовірно, залучатиме магазини, які ще не розгорнуті та не прихильні до віртуальної платформи.

Що стосується інструментів, і Xen, і KVM використовують libvirt і QEMU та пов'язані з ними інструменти. Тому вони діляться багатьма тими ж інструментами, як virt-manager.

Ми використовуємо Xen у роботі, і це добре працює для нас. Але я розглядав KVM через деякі проблеми переадресації USB та PCI, які я не зміг вирішити із Xen. Я не впевнений, що KVM є кращим у цьому, але, мабуть, я дізнаюся, як тільки спробую. Одне, що я помітив при дослідженні моїх USB-проблем, - це те, що документація KVM є більш оціненою та організованою порівняно з Xen. Але немає ідеальної платформи для віртуалізації, тому вам потрібно буде з’ясувати, що має для вас сенс.


Будь-яка ідея, якщо те ж буде в майбутньому? Оскільки Redhat 5.4 незабаром із підтримкою KVM, я хотів би знати, що мені не доведеться переходити на KVM з Xen через 1/2 року. Спасибі.
SyRenity

1
Я не можу робити жодних прогнозів щодо того, що має бути в майбутньому. Але жодна з цих платформ не зникне. RedHat заявив, що вони зобов'язані підтримувати Xen, а також KVM. Тільки час покаже, як ця грає. Але я б не турбувався про те, що потрібно мінятись через 6 місяців. Можливо, через кілька років з'явиться чіткий лідер у платформах віртуального відкриття.
3вплив

Цікаво зауважити, що ви перейшли до KVM для підтримки USB - мені просто довелося думати про переїзд через відсутність підтримки USB 2.0! З вашого повідомлення я здогадуюсь, що Ксен не стане набагато кращим.
jkp

1
@jkp Я чекав на заміну ще декількох частин нашої інфраструктури. Який щойно завершений. Тож у найближчі тижні я, можливо, зможу придивитись ближче до КВМ. Однак у моєму випадку апаратне забезпечення не підтримує IOMMU (VTd). Тож я не впевнений, чи допоможе переїзд до КВМ. XEN вимагає підтримки IOMMU для проходу pci. Але KVM підтримує USB та PCI-елементи, використовуючи libvirt. Тож я сподіваюся, що це буде без МОММУ. Наразі під Xen єдиний спосіб, через який я знаю передати USB, - це пройти USB PCI-контролер, але ця інформація може бути датована в цій точці.
3вплив

1
@ 3dinfluence: Я думаю, ви можете неправильно зрозуміти, як реалізується підтримка USB та PCI - libvirt сам не робить нічого з цього, він лише забезпечує спосіб налаштування основних можливостей гіпервізора VM. У цьому випадку можливості забезпечуються комбінацією модулів ядра KVM та коду простору користувача Qemu.
jkp

7

Я особисто вибрав би віртуалізацію на основі зручності використання, підтримки, надійності та придатності для віртуальних машин, якими ви користуєтесь.

Швидкість передачі даних у мережу Xen, здається, настільки ж хороша, як і реальне обладнання, але я також мав кілька боїв із Xen та vLans та кількома картками Ethernet. У мене немає досвіду роботи з KVM, але я б також запропонував розглянути також VMware ESX (i).


1
Продуктивність IO сервера Vmware дуже-дуже погана. Якщо вам доведеться перейти на vmware, використовуйте esx.
ко-дос

6

FWIW: Відповідь повністю залежить від ваших потреб, зараз і в майбутньому.

Так, я знаю, що це корисна відповідь. На жаль, це правда. Ваш вибір віртуалізації значно вплине на все, що ви зробите після цього, тому вам потрібно задати собі кілька питань.

(1) Чи є для вас справді важливою різниця між 97% виступу та 96% виступу вдома (цифри, викрадені з повітря)?

(1a) Якщо один робить кращий з доступом до HD (що насправді означає, що ви або користуєтеся чудовою базовою базою даних, або не можете дозволити собі додаткову оперативну пам’ять), а інший краще з мережею, що важливіше для вас ?

(2) Чи впевнені ви в застосуванні інструментів, що надаються з будь-яким рішенням?

(3) Чи має значення той факт, що одне (свого роду) є рідним для останніх ядер Linux, а інший - ні, чи не має значення?

(3a) Ви зараз чи коли-небудь були ... е ... вам коли-небудь знадобиться запустити іншу ОС під віртуалізацією? Це не повинно бути Windows. Це може бути FreeBSD, або навіть Хайку, чи що завгодно. (Xen, ймовірно, перемагає тут, але я пропоную вам перевірити.)

Дивлячись на велику картину, я бачу KVM як відповідь Linux на зони Solaris. (Я вважаю за краще зони Solaris, але я бачу паралель.) Я бачу Xen як зрілу технологію гіпервізора з підтримкою декількох ОС, але тоді, якщо вам не потрібні кілька ОС, це не має великого значення.

Якщо бути чесним, ви не можете піти неправильно в будь-який спосіб (з урахуванням застережень вище). Я віддаю перевагу Ксен, бо поїхав до Кембриджу; але тоді, якби я працював у RH, я, мабуть, віддав перевагу KVM.


6

Ви знайдете дуже цікаву інформацію з цього приводу в наступній презентації: Кількісне порівняння Xen та KVM

Людина, яка це зробила, є експертом Xen, але порівняння здається досить справедливим.


Дякую за презентацію, прочитавши, здається, що Xen - це вершина процесора та мережевого IO, KVM - HD IO. Але, читаючи ці цифри ( virt.kernelnewbies.org/XenVsKVM ), схоже, що KVM вигравав руки у кожному порівнянні. Будь-яка ідея, де правда? :)
SyRenity

Я вважаю, що моя презентація здається більш реалістичною. Він працює більше, ніж один VM одночасно. Протокол тестування здається ближчим до реальності.
Антуан Бенкемун

+1 Цікава презентація! Здається, Ксен має кращу ізоляцію.
Йонас

5

Я можу тут вийти на кінцівку, але я не вважаю, що сирі показники є найважливішим показником, коли мова йде про подібні технології.

Я думаю, що зручність та інтерфейс важливі, а також інструменти для підтримки надійної інфраструктури. Мені здається, що Xen має набагато більш надійний набір існуючих додатків, які підтримують його, ніж KVM. Це може бути не так, тому що я не маю доказів, щоб це підтвердити.

Що б ви не ходили, вирішіть, що найкраще рішення для вас, і подивіться на весь пакет, а не лише на сирі показники.


Вам потрібно поглянути на RHEV - управління дуже просте та зручне для користувачів.
діасний

2

Багато труднощів або простоти в налаштуванні KVM залежить від розподілу. Вибір Xen-орієнтованого розподілу полегшить Xen. Вибір розподілу, орієнтованого на KVM, полегшить KVM.

Питання про інструменти дещо не має значення, оскільки обидва використовують libvirt. Це означає, що ви використовуєте однакові інструменти управління для обох у більшості випадків.


1

Наприкінці 2017 року Amazon, який раніше був найбільшим користувачем Xen, оголосив, що використовуватиме KVM для всіх своїх нових екземплярів C5 . Наскільки мені відомо, великим користувачем Xen залишається лише хмарний постачальник SoftLayer. Linode перейшов у 2015 році та повідомив про значні покращення продуктивності .

Важко знайти реалістичне та сучасне порівняння ефективності, але, здається, не існує такого величезного розриву між обома рішеннями, як ви могли подумати. Залежно від випадку використання, Xen може бути ще швидшим. KVM має й інші переваги, будучи частиною ядра Linux та охопленою RedHat, які також є актуальними. Наприклад, ця відповідь пояснює, чому Google обирає KVM для Google Compute Engine.

Але факт, що майже всі хмарні постачальники, особливо Google та Amazon, обирають KVM через Xen, є вагомим аргументом, що для типових навантажень KVM є дуже хорошим вибором з точки зору продуктивності.


Примітка: Amazon використовує модифіковану версію KVM, а не рідну. І я б не сказав, що вони мають типові навантаження, напевно, вони мають дуже великі та нечасті навантаження, imho
ALex_hha

@ALex_hha Що я мав на увазі, це те, що вони повинні вибрати технологію, яка найкраще працює для програм, які запускатимуть їх клієнти. У цьому сенсі вони повинні знайти налаштування, яке швидко відбувається за різних випадків використання. Але я погоджуюся, що є й інші сценарії, як-от вбудовані системи, де Xen може порівняти більш сприятливо.
Філіп Класен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.