Debian 6 (Squeeze) одной из особенностей имеет встроенную поддержку Xen 4 (на момент публицации этой статьи - 17.03.2011 - Xen 4.0.1-2). Это очень хорошо - на момент выхода сквиза эта версия ксен является самой последней.
В то время, как нам приходилось собирать ксен под Debian 5 Lenny, в сквиз это все можно сделать меньшими (как по количеству нажатий кнопок, так и по времени) усилиями, поставив гипервизор из репов (репозитория).
Итак, приступим (я в качестве системы-носителя использую 64-битную ОС):
# aptitude install xen-hypervisor-4.0-amd64 xen-qemu-dm-4.0 libxenstore3.0 xen-docs-4.0 xen-tools xen-utils-4.0 xen-utils-common xenstore-utils xenwatch linux-headers-2.6.32-5-xen-amd64 linux-image-2.6.32-5-xen-amd64
Этим мы поставим Xen, ядро для Xen и утилиты.
Grub (кстати, 2й версии) сконфигурируется сам, но при этом Xen в качестве дефолтного загрузчика выбираться не будет. Но ведь нам нужно, чтобы Xen загружался по-умолчанию.
Итак, правим конфиг grub. Идем в каталог /etc/grub.d и переименовываем файл 20_linux_xen в 09_linux_xen, показывая конфигуратору, что мы хотим поместить пункт меню "Xen" первым.
# cd /etc/grub.d
# mv 20_linux_xen 09_linux_xen
Теперь нужно пересобрать конфиг grub.cfg (кстати, крайне не рекомендую править его напрямую - первая же процеду обновления, затрагивающая загрузчик, все Ваши изменения в grub.cfg сотрет нафик).
# grub-mkconfig --output=/boot/grub/grub.cfg
Прекрасно, теперь после перезагрузки будет автоматически сначала загружаться Xen, а уже потом - домен-0.
Теперь правим системные конфиги Xen. Их найти можно по адресу:
/etc/xen/xend-config.sxp
В частности, необходимо указать сетевую модель (я пользуюсь мостом, потому раскоментирую строку "(network-script network-bridge)" и, если Вы собираетесь пользоваться HVM-машинами (а Вы, скорее всего, собираетесь, даже если хотите эти машины превращать в паравиртуальные) - раскоментировать строку "(vnc-listen '127.0.0.1')" и поменять 127.0.0.1 на 0.0.0.0 для того, чтобы VNC-сервер Xen мог принимать подключения с любого компьютера.
Подробнее о Xen, его настройках и т.д. можете почитать в интернет или на этом сайте.
Перезагружаемся.
Проблема TAP.Все бы хорошо, ксен встроен в сквиз, все довольны... вот только создатели сквиз совершили мааааленьку ошибку - позабыли включить в поставку ксена один файл, без которого всеми нами любимый интерфейс TAP (tap:aio:) работать не будет. При этом при запуске машины (гостя) ксен будет впадать в ступор и через несколько минут вываливать сообщение об ошибке типа "я не могу подключить tap-интерфейс через hot-plug". Чтобы это разрешить необходимо в каталоге /etc/xen/scripts содать файл hotplugpath.sh со следующим содержанием:
SBINDIR="/usr/sbin"
BINDIR="/usr/bin"
LIBEXEC="/usr/lib/xen/bin"
LIBDIR="/usr/lib64"
SHAREDIR="/usr/share"
PRIVATE_BINDIR="/usr/lib64/xen/bin"
XENFIRMWAREDIR="/usr/lib/xen/boot"
XEN_CONFIG_DIR="/etc/xen"
XEN_SCRIPT_DIR="/etc/xen/scripts"
Файлик то небольшой, да вот без него TAP работать не будет. Нужно так-же дать права на запуск для этого файла:
$ chmod +x hotplugpath.sh
Далее, в файл /etc/modules нужно добавить пару строк:
# /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
loop
blktap
xen-evtchn
Две последние строки - добавлены отдельно.
Перезагружаемся. Теперь у нас будет работать интерфейс TAP, что очень приятно.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX