3

Я слышал, что оба модуля используются для создания виртуальной среды для Linux, но каковы различия между ними, которые отличают их, не могли бы вы объяснить их кратко.

1 ответ1

9

Xen - это тонкий гипервизор, который берет на себя управление перед загрузкой ОС. Вдобавок к этому работает ваша основная хост-ОС и, возможно, несколько гостевых ОС. Хост и Гость должны использовать ядро, специально созданное для Xen, и они могут общаться, используя оптимизированные методы, соответствующие Xen, и работать на скорости, близкой к собственной.

Qemu - это полноценный эмулятор, означающий, что Гость видит "классическое" виртуальное оборудование (Qemu также может эмулировать архитектуры, отличные от архитектуры хоста), поэтому Гость не должен знать, что он виртуализируется. С другой стороны, он может быть на пару порядков медленнее, чем собственная система.

KVM - это ускоритель, который позволяет Qemu-kvm согласовывать скорости с Xen. Однако он не может работать ни на одном процессоре; ЦП должен быть "виртуальным". Для x86-64 это означает поддержку расширений виртуализации Intel или AMD (посмотрите на содержимое /proc/cpuinfo и проверьте наличие одного из флагов, svm для AMD или vmx для intel)

KVM, вероятно, легче развернуть (не требует прикосновения к хост-системе), если у вас совместимый процессор.

Короче:

  • Xen: быстро, работает где угодно, но требует собственного ядра ОС
  • Qemu без kvm: работает где угодно, но медленно
  • Qemu-kvm: быстро, не требует собственного ядра, но работает только на определенных процессорах

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .