Установка Xen 4.1 на Debian Squeeze
Сегодня наша задача - установить Xen 4.1 (в нашем случае - 4.1.3) на Linux Debian Squeeze. Встроенной поддержки нового Xen у Squeeze нет - последняя официальная версия - 4.0.1-4 (на момент написания данной заметки), поэтому придется все делать из исходников.
1) Логинимся на хостовую машину и скачиваем Xen 4.1.
$ wget http://bits.xensource.com/oss-xen/release/4.1.3/xen-4.1.3.tar.gz
Распаковываем: $ tar -xzf xen-4.1.3.tar.gz
После чего у нас появляется директория xen-4.1.3, в которой лежат исходники гипервизора.
2) Устанавливаем зависимости.
Это делаем перед компиляцией и сборкой гипервизора, т.к. иначе ничего не получится. $ sudo apt-get build-dep xen $ sudo apt-get install libx11-dev libssl-dev python2.6-dev $ sudo apt-get install bridge-utils
3) Собираем и устанавливаем Xen 4.1
$ cd xen-4.1.2 $ sudo make xen $ sudo make tools $ sudo make stubdom $ sudo make install-xen $ sudo make install-tools PYTHON_PREFIX_ARG= $ sudo make install-stubdom
4) Прописываем автозагрузку Xen-демонов
$ sudo update-rc.d xencommons defaults $ sudo update-rc.d xend defaults $ sudo update-rc.d xendomains defaults
5) Добавляем загрузку необходимых модулей. Для этого открываем файл
/etc/modules
И добавляем следующие строчки: loop max_loop=64 blktap xen-evtchn
Параметр max_loop определяет - сколько максимально может быть создано Loop-устройств - таких, как виртуальный жесткий диск, виртуальная сетевая карта и т.д. Считается он в сумме всех машин, т.ч. мало ставить не следует - если только не пара-тройка машин предполагается к работе. 64 в моем личном опыте пока мало не было нигде.
6) Устанавливаем необходимое ядро для работы с Xen. Нам подойдет ядро, идущее "из коробки" - 2.6.32-5.
$ sudo apt-get install linux-image-2.6.32-5-xen-amd64 linux-headers-2.6.32-5-xen-amd64
Как видно, этот пример для 64-битных ОС (amd64). Если у Вас 32-битная - ставьте соответствующее ядро.
7) Теперь нам нужно сделать так, чтобы Xen запускался первым и вообще запускался. Для начала идем в /boot и избавляемся от файла xen-syms-4.1.2, например, переместив его куда-нибудь:
$ cd /boot $ sudo mkdir xsyms $ sudo mv xen-syms-4.1.2 xsyms
Теперь топаем в конфигурацию Grub (/etc/grub.d). Дело в том, что по-умолчанию Xen ставится в меню загрузки после обычных ядер, что означает, что при перезагрузке вариант с Xen нужно выбирать вручную. Этот бред придется лечить ручками:
$ cd /etc/grub.d $ sudo mv 20_linux_xen 09_linux_xen
Тут мы переместили загрузку Xen на первое место (индекс сортировки = 09). Теперь при перезагрузке будет автоматически загружен гипервизор с доменом-0.
Но нужно еще пересобрать конфигурацию Grub:
$ sudo update-grub
9) Конфигурируем Xen.
Для этого открываем файл /etc/xen/xend-config.sxp и правим. Для начальной работы я рекомендую раскомментировать строчку с включением bridge на сетевую карту и открыть доступ по VNC к консолям виртуальных машин:
- Это раскомментировать:
(network-script network-bridge)
- Это сделать вот так:
(vnc-listen '0.0.0.0')
10) Перезагружаемся.
Для проверки, что все "крутится и вертится" - просим Xen показать список текущих машин: $ sudo xm list Name ID Mem VCPUs State Time(s) Domain-0 0 32320 8 r----- 782440.2
Кстати, в новом Xen ввели и новую утилиту: XL. Она, поидее, должна заменить XM (правда, пока еще глючит - при низком остатке памяти в домене-0 - например, 256Мб, эта утилита просто не способна запустить никакой домен, в том время, как XM исправно это делает).
PS. В отличие от Xen 4.0.x и ниже - в 4.1 изменена работа с несколькими сетевыми картами.
статья