HVM-домен Xen
Материал из Xgu.ru
- Короткий URL: xen/hvm
HVM-домен Xen (hardware virtualization mode) — полностью виртуализированный домен Xen. Требует для своего исполнения поддержки аппаратной виртуализации со стороны процессора. Позволяет исполнять любые операционные системы, предназначенные для работы на процессоре этой архитектуры (в действительности не совсем любые; подробнее: Поддержка Xen операционными системами).
[править] Паравиртуальные драйверы
В HVM-домене ввод/вывод (то есть, работа с сетью, дисками и так далее) осуществляется через обычные драйверы устройств. Устройства эмулируются программно при помощи процесса device-model (обычно qemu-dm), исполняющегося в домене 0 или в специальном эмуляционном домене.
Для того чтобы минимизировать затраты на ввод/вывод можно перейти от эмуляции устройств к использованию специальных паравиртуальных интерфейсов. Для этого внутри гостевой системы должны быть инсталлированы специальные паравиртуальные драйверы.
[править] Как отличить реальное железо от HVM-домена и от PV-домена?
Находясь внутри HVM-домена на первый взгляд сложно определить, где находишься — внутри паравиртуального домена, внутри HVM-домена или работаешь непосредственно с голым железом. В действительности, определить это достаточно легко.
Воспользоваться утилитой tools/misc/xen-detect.c или непосредственно из командного интерпретатора одним из способов:
- Можно использовать dmidecode (в блоке System Information будет слово Xen)
- Можно посмотреть в /proc/xen
- Можно посмотреть в /sys/hypervisor
Вывод dmidecode:
Handle 0x0100
DMI type 1, 27 bytes.
System Information
Manufacturer: Xen
Product Name: HVM domU
Version: 3.1.0-53.1.13.el5
Serial Number: 1298ca87-b138-d1c5-026a-8e2d79c70602
UUID: 1298CA87-B138-D1C5-026A-8E2D79C70602
Wake-up Type: Power Switch
Скрипт, выполняющий проверку с помощью lspci и файловые системы /sys и /proc:
lspci -n | grep -q "5853:0001"
if [ $? -eq 0 ]; then
# HVM domain
elif [ -d /proc/xen ]; then
if grep -q "control_d" /proc/xen/capabilities; then
# DOM0
else
# DOMU
fi
else
# Native
fi
[править] См. также
| |
|
|---|