Гид по технологиям

Запуск полно-виртуализованных гостей (HVM) под Xen 3.2 на Debian Lenny (x86_64)

5 min read Virtualization Обновлено 24 Nov 2025
HVM на Xen 3.2 в Debian Lenny
HVM на Xen 3.2 в Debian Lenny

Version 1.0
Author: Falko Timme

Введение

HVM (Hardware Virtual Machine) — полноценно аппаратная виртуализация: позволяет запускать неизменённые гостевые ОС (включая Windows) при наличии процессорной поддержки Intel VT или AMD‑V. В отличие от паравиртуализации, гость не требует изменения ядра. Полная виртуализация обычно даёт худшую производительность по сравнению с паравиртуализацией, зато обеспечивает совместимость с закрытыми ОС.

Для общего обзора технологий виртуализации можно посмотреть VMware whitepaper: http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf

Внимание: Руководство предоставляется без гарантий; результаты зависят от аппаратуры и конфигурации хоста.

Предварительная заметка

Я предполагаю, что у вас уже установлен Xen 3.2 на Debian Lenny и система настроена согласно разделу 2 руководства Virtualization With Xen On Debian Lenny (AMD64). В этом руководстве используются образы дисков (файлы) для хранения виртуальных машин. При использовании реальных разделов или LVM были проблемы — гость не видел диск. Возможно, реализация работы с физическими устройствами на вашей платформе возможна, но это выйдет за рамки данного материала.

Важно: HVM требует процессорной поддержки аппаратной виртуализации. Ниже — несколько способов проверить поддержку.

Как проверить поддержку аппаратной виртуализации

Проверить поддержку аппаратной виртуализации после установки Xen можно командой:

xm dmesg | grep -i hvm

Если команда что‑то выводит — поддержка есть. Пример на процессоре AMD‑V:

server1:~# xm dmesg | grep -i hvm  
(XEN) HVM: SVM enabled  
server1:~#

Проверка до установки Xen (по признаку наличия флагов в cpuinfo):

egrep '(vmx|svm)' --color=always /proc/cpuinfo

Если вывод пуст — аппаратной поддержки нет.

Установка первого HVM-гостя

В этом примере создаём гостя xen1.example.com. Сначала создаём файл‑образ диска, например 4 ГБ:

dd if=/dev/zero of=/home/xen1.example.com.img bs=1024k count=4000

(Для увеличения размера — увеличьте параметр count.)

Вы можете устанавливать гостя с физического CD/DVD или с ISO‑образа. Чтобы создать ISO из CD/DVD:

dd if=/dev/cdrom of=/home/ubuntu8_10_server_amd64.iso

Далее создайте файл конфигурации /etc/xen/xen1.example.com.cfg:

vi /etc/xen/xen1.example.com.cfg

Вставьте в файл конфигурацию (пример):

import os, re
arch = os.uname()[4]

kernel = "/usr/lib/xen-default/boot/hvmloader"

builder='hvm'

memory = 512
shadow_memory = 8
name = "xen1.example.com"
vif = [ 'type=ioemu, bridge=eth0' ]
disk = [ 'file:/home/xen1.example.com.img,xvda,w', 'file:/home/ubuntu8_10_server_amd64.iso,xvdc:cdrom,r' ]
#disk = [ 'file:/home/xen1.example.com.img,xvda,w', 'phy:/dev/cdrom,xvdc:cdrom,r' ]
device_model = '/usr/lib/xen-default/bin/qemu-dm'
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
boot="dc"

sdl=0
vnc=1
vnclisten="0.0.0.0"
vncconsole=1
vncpasswd='howtoforge'
stdvga=0
serial='pty'
usbdevice='tablet'

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Примечания по конфигурации:

  • Используйте первую строку disk (с ISO) для установки из образа; вторую (phy:/dev/cdrom) — при установке с реального CD/DVD.
  • boot=”dc” — сначала попытка загрузки с CD/ISO (d), затем с диска (c). При первом запуске важно, чтобы привод CD/ISO был первым устройством загрузки.
  • vnc=1 и vnclisten=”0.0.0.0” включают удалённый доступ по VNC на всех интерфейсах. Если хотите ограничить доступ — укажите конкретный IP или оставьте значение по умолчанию (localhost).
  • vncpasswd задаёт пароль для VNC; оставьте пустым vncpasswd=’’ если пароль не нужен.

Запустите гостя:

xm create /etc/xen/xen1.example.com.cfg

Проверка прослушиваемых портов (VNC обычно 5900):

netstat -tap

Пример вывода:

server1:/etc/xen# netstat -tap  
Active Internet connections (servers and established)  
Proto Recv-Q Send-Q Local Address           Foreign Address          State       PID/Program name  
tcp        0      0 *:5900                 *:*                     LISTEN      24492/qemu-dm  
...

После создания вы можете подключиться к гостю по VNC. На Windows можно использовать TightVNC; в Ubuntu — Просмотр удалённого рабочего стола.

Окно списка приложений с пунктом Remote Desktop Viewer в Ubuntu

Нажмите Connect и укажите IP хоста Xen и порт, например 192.168.0.100:5900:

Диалог подключения VNC: ввод адреса и порта для удалённого подключения к гостю Xen

Если в конфигурации гостя указан vncpasswd, вас попросят ввести пароль:

Запрос пароля VNC перед подключением к VNC-сессии гостя Xen

Затем должен отобразиться установщик выбранной ОС; следуйте обычной инсталляции как на физической машине:

Экран установщика гостевой ОС, запущенной внутри HVM на Xen

Полезные советы и отладка

  • Если гость «не видит» диск, проверьте строку disk в конфигурации и права на файл образа. Попробуйте задать disk как абсолютный путь и убедитесь, что qemu-dm имеет доступ к файлу.
  • Если VNC не слушает на внешнем интерфейсе, проверьте vnclisten и брандмауэр хоста.
  • Для проблем с производительностью проверьте shadow_memory и параметры памяти гостя; HVM потребляет больше ресурсов, чем PV-гости.
  • Логи Xen и qemu-dm помогут диагностировать большинство ошибок: /var/log/xen, сообщения ядра (dmesg) и вывод xm dmesg.

Когда HVM может не подойти

  • Отсутствие аппаратной поддержки (нет VT/AMD‑V) — HVM не запустится.
  • Требуется высокая производительность — для серверных задач часто предпочтительнее паравиртуализация.
  • Необходим доступ к физическим устройствам с тех пор как HVM с файлами образов проще, чем попытки проброса физических разделов.

Альтернативные подходы

  • Паравиртуализация (PV) — лучше по производительности, но требует изменения гостевого ядра.
  • Использование KVM — если у вас современный Linux‑хост и поддержка VT/AMD‑V, KVM интегрирован в ядро и удобен для множества гостевых ОС.
  • LXC/контейнеры — легковесная виртуализация для Linux‑гостей без отдельного ядра.

Порядок действий (чеклист)

  1. Убедиться, что CPU поддерживает VT/AMD‑V (egrep или xm dmesg).
  2. Подготовить образ диска dd if=/dev/zero of=/home/guest.img bs=1024k count=.
  3. Скопировать/создать ISO образ или вставить CD/DVD.
  4. Создать конфигурацию в /etc/xen/.cfg и проверить disk, vif, vnc, boot.
  5. Запустить xm create /etc/xen/.cfg.
  6. Подключиться по VNC и выполнить установку ОС.
  7. Проверить и настроить сеть, доступы и производительность.

Критерии приёмки

  • Гость успешно загружается с CD/ISO и устанавливается ОС.
  • После установки гость загружается с виртуального диска.
  • Гость доступен по сети и выполняет ожидаемые сервисы (ping, SSH, HTTP и т. п.).
  • Производительность соответствует требованиям (ответы сервисов в приемлемом временном окне).

Runbook при проблемах (короткий)

  1. Если гость не создаётся — проверяйте синтаксис .cfg и права на файлы.
  2. Если guesт не видит диск — попробуйте отключить SELinux/AppArmor или изменить права, проверьте device_model.
  3. При отсутствии VNC — проверьте vnclisten, vnc=1 и netstat; отключите брандмауэр на время теста.
  4. Сбор логов: /var/log/xen/*, вывод xm dmesg, системный журнал (dmesg, /var/log/syslog).

Короткий глоссарий (1 строка)

  • HVM — аппаратная виртуализация, запускает неизменные ОС.
  • PV — паравиртуализация, требуется специальное ядро гостя.
  • qemu-dm — device model для эмуляции устройств в Xen HVM.
  • vnclisten — куда qemu‑dm слушает VNC‑подключения.

Итог

HVM под Xen 3.2 на Debian Lenny позволяет запускать полноценные гостевые ОС (включая Windows) при наличии аппаратной поддержки виртуализации. Основные шаги: проверить поддержку CPU, создать образ диска или ISO, подготовить конфигурацию гостя и подключиться по VNC для установки. При возникновении проблем используйте приведённый чеклист и runbook для диагностики.

Important: Если вы добились работы с физическими разделами или LVM в HVM — поделитесь решением в сообществе, это поможет другим.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство