Установка Windows на Xen

Установка Windows на Xen очень сильно отличается от развертывания паравиртуализованных гостей — есть отличия как в процессе установки, так и в последующей настройке. Все моменты я постараюсь подробно объяснить в статье.


Если вам интересна тематика Debian и связанных с ним приложений, рекомендую обратиться к тегу Debian на моем блоге.


Установка Windows на Xen

Как всегда сначала обратимся к теоретической составляющей.

Типы DomU

В основе Xen лежит понятие паравиртуализации 1. Его суть заключается в том, что ядра ОС непривилегированных доменов (DomU) осведомлены о работе на гипервизоре и оптимизированы для обеспечения лучшей производительности. Вследствие этого им также не нужна дорогостоящая с точки зрения производительности прослойка эмулированных устройств. Такие гостевые ОС называются паравиртуализованными (или PV-guests в английской терминологии).

Установка Windows на Xen 01

Все это, разумеется, относится лишь к свободно распространяемым операционным системам. ОС с закрытым кодом, такие как Windows, не могут похвастаться «пропатченным» под Xen ядром, в этой связи им необходима эмуляция оборудования. Такие ОС называются полностью виртуализованными гостями (или HVM-guests — Hardware-assisted virtualizion).

Примечание: многие ошибочно считают паравиртуализацию исключительным преимуществом Xen. Это было бы действительно так, если бы сейчас на дворе был 2007 год, а не 2017. На данный момент любые широко распространенные ОС либо имеют «PV-драйверы», либо уже пропатчены на уровне ядра для нативной поддержки виртуализации. Это можно сказать и про Windows, но лишь в отношении работы под Hyper-V (речь особенно про виртуальные машины 2 поколения). Кстати, поддержка Hyper-V через службы интеграции внедрена уже и в UNIX/Linux-системах. Все это привело к тому, что погрешности в производительности гостевых ОС между различными платформами виртуализации практически сравнялись. Сейчас же достоинства той или иной платформы оцениваются скорее в возможностях масштабирования, управления, мониторинга и т.п.. Надеюсь эти факты наконец закончат бесконечные споры о том какой гипервизор лучше.

В плане производительности PV и HVM — это две крайности.

Чтобы как-то улучшить показатели гостей HVM, были разработаны специальные драйверы, называемые PVHVM-drivers 2. Подобные драйверы для PV-гостей уже встроены в ядро, а потому в их установке нет никакой необходимости.

Примечание: если быть более точным, то PV drivers и PV HVM drivers вроде бы как разные понятия. Как минимум в официальной документации 3 представляется именно так. Тем не менее, для себя я эту тонкую грань уловить так и не смог и маны в этом не помогли: We use different abbreviations to refer to these configurations, called HVM with PV drivers, PVHVM and PVH.

Сводную таблицу с типами гостей вы можете найти в официальной документации:

Установка Windows на Xen 02

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

Конфигурация виртуальной машины

Итоговый файл конфигурации:

name = '2012R2Test01'
builder = 'hvm'
kernel = '/usr/lib/xen-4.8/boot/hvmloader'
vcpus = 4
memory = 4096
disk = [
       '/root/ru_windows_server_2012_r2x64_dvd_6052763.iso,,hdc,cdrom',
       '/dev/vg0/2012R2Test01-Disk001,,hda'
       ]
vif = ['mac=00:50:56:00:D3:7E,bridge=xenbr0']
boot = "d"
vnc = 1
vncconsole = 1
vnclisten = ""
vncpasswd = ""

Найти информацию о создании сетевого моста и виртуальных жестких дисков вы можете в моих недавних статьях — Установка гипервизора Xen и Виртуальные жесткие диски в Xen соответственно. В данном примере я используют реализацию дисковой подсистемы гостя на основе LVM. MAC-адрес в настройках адаптера взят для примера, измените его у себя.

Примечание: большинство ресурсов 4 в интернете содержат перегруженные ненужной информацией файлы конфигурации для HVM-Гостей (возможно так оно и надо для более ранних версий гостевых ОС и самого гипервизора Xen). В своем примере я собрал лишь необходимые параметры, все остальные являются опциональными. Как минимум это справедливо для Windows Server 2012 R2, с которой я проводил эксперименты.

Обратите внимание на активацию консоли VNC. Это необходимо для установки Windows в ручном режиме.

Если потребуется, вы можете воспользоваться дополнительными параметрами конфигурации 5.

Как только все будет готово к созданию ВМ, выполните команду:

xl create vmconfig.cfg

где vmconfig.cfg — только что созданный файл конфигурации.

Установка Windows

Качаем VNC Viewer 6 с официального сайта, подключаемся к виртуальной машине. Вы увидите что-то подобное:

Установка Windows на Xen 03

Устанавливайте систему как вы делаете это обычно.

После завершения установки заглушите виртуальную машину и в файле конфигурации закомментируйте строку boot = «d». Буква d означает загрузку с DVD-ROM. На ваше усмотрение вы можете прописать значения «cd», означающие загрузку сначала с жесткого диска, а потом с DVD-ROM.

Настройка Windows

После установки системы необходимо поставить PV-драйверы 7, о которых я говорил в самом начале, благо для Windows они существуют.

У меня все заработало и без этих драйверов, но например скорость подключения по сети упиралась в 100 Мбит/сек, что уж совсем неприлично, имея гигабитный адаптер.

Как только драйверы будут установлены, после перезагрузки виртуальной машины в диспетчере устройств вы увидите:

Установка Windows на Xen 04

На этом установка завершена.

comments powered by HyperComments
Melanie Glastrong
2017-11-09 07:52:08
<strong>Such a nice blog.</strong> I have read an amazing article here.