розуміння відносин між Кему і КВМ


17

Чим відрізняється KVM від Qemu? Як я розумію, остання здатна забезпечити "емуляцію режиму користувача", що означає, що можна запустити один виконаний файл, побудований для якоїсь іншої архітектури, як це:

# file busybox-sparc 
busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped
# qemu-sparc busybox-sparc ls
Packages_arm     Packages_i386    arm              busybox-armv6l   busybox-i686     busybox-powerpc  busybox-sparc    busybox-x86_64   i386
# 

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

# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d

Як я зрозумів, Qemu не знає, як скористатися апаратною віртуалізацією (наприклад, рішеннями Intel VT-x або AMD-V щодо архітектури x86), і це той випадок, коли KVM може допомогти - можна запустити Qemu з підтримкою KVM. Однак чи KVM надає будь-яку іншу функціональність, окрім доступу для програм емуляції до апаратної віртуалізації на конкретних апаратних архітектурах? Чи можливо створити цілу (процесор, відеокартку, пристрої вводу / виводу тощо) віртуальну машину, використовуючи лише KVM? Якщо так, то які програми слід використовувати для створення та управління цією віртуальною машиною?


2
можливий дублікат Різниці між KVM та QEMU

Відповіді:


16

Ви частково правильні. Будьте обережні, оскільки може виникнути деяка плутанина. KVM - назва технології віртуалізації в ядрі Linux.

KVM також часто використовується як назва вилки (більш точне ім'я було б qemu-kvm) проекту QEMU з кращою підтримкою апаратної віртуалізації . Цю заяву було підтверджено проектом QEMU , але з версії 1.3 QEMU всі функції qemu-kvm були об'єднані .

Сторінка завантаження для проекту KVM пояснює , що різниця досить добре , як добре.

Ще одна річ, яку слід пам’ятати, - це те, що переваги qemu-kvm об’єднуються в новіших випусках qemu, тому я сподіваюся, що одного разу різниця між ними зникне.


Отже, KVM "технологія віртуалізації в ядрі Linux" і qemu-kvm - це дві різні речі?
dtmland

@dtmland Ну, так. qemu-kvm - це програмне забезпечення, яке використовує KVM в ядрі.
чут

6

KVM - це модуль ядра, який дозволяє, завдяки віртуалізації, розширювати CPU, планувати запит CPU VM безпосередньо в хост-процесор і оперативну пам'ять, з мінімальною кількістю накладних витрат. QEMU надає решту емульованого обладнання, тому що машина, навіть віртуальна, не є просто процесором - це багато додаткового обладнання. QEMU також може імітувати процесор, але порівняно з тим, як це робить KVM, він болісно повільний, таким чином злиття, щоб отримати найкраще з обох світів

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