Перевод "Install Xen and libvirt on Debian Lenny"




Сайт создан в системе uCoz
Вернуться к Оглавлению

Текст взят блога Penumbra, который поместил Tom в раздел Howto для Linux


Первое чего мы делаем, открываем консоль с правами пользователя root. Затем, обновляемся, т.е. ставим последние доступные обновления из репозитариев, которые у Вас прописаны в /etc/apt/sources.list

root@engine:~# apt-get update; apt-get upgrade

После чего, вам нужно посмотреть какие образы ядра доступны и сразу же производите установку подходящей из них:

root@engine:~# apt-cache search xen | grep image | awk '{print $1}'
linux-image-2.6-xen-amd64
linux-image-xen-amd64
linux-image-2.6.26-1-xen-amd64
linux-image-2.6.26-2-xen-amd64
xen-linux-system-2.6.26-1-xen-amd64
xen-linux-system-2.6.26-2-xen-amd64

root@engine:~# apt-get install `apt-cache search xen-linux-system \
| sort | tail -1 | awk '{print $1}'`

После чего нужно перегрузить систему, снова залогинится и выполнить:

# uname -a Linux elysium 2.6.26-2-xen-amd64 #1 SMP Thu Feb 11 02:57:18 UTC 2010

Как вы могли заметить, переводчик не смог пройти этот уровень, потому что споткнулся об баг #509733, найденный ещё в конце 2008 года нашим соотечественником Иваном Шмаковым и пока не исправленный. Единственное могу сказать, что по результатам поиска в поисковых системах, в основном крах при запуске X-сервера случается на видеокартах Nvidia и иногда на интегрированных видеокартах, при этом не разу не видел, чтобы кто-то жаловался на встроенные видеоадаптеры от Intel, что в принципе, может быть просто из-за того, что такие проблемы не попадались на глаза. Отсюда делаем вывод, что негоже использовать проприетарное железо, к которому относится Nvidia и упирается от раскрытия своих спецификаций. В отличии от ATI, которая уже давно и успешно сотрудничает с разработчиками X.org

Как вы могли увидеть, что система работает на ядре 2.6.26-2 с установленным xen-amd64 патчем.

Поэтому теперь Dom-0 должен быть доступен:

# xm list
Name           ID      Mem    VCPUs    State    Time(s)
Domain-0      0        3885    2            r-----      8.5

Завершено!

Теперь перемещаемся к настройки сети. По умолчанию, режим "bridge" недоступен из виртуальной машины к внешней сети. Таким образом, обмен данными между гостевой системой и хостом не возможен, но это легко поправить:

# vim /etc/xen/xend-config.sxp

Найдем в открытом в vim(1) файле /etc/xen/xend-config.sxp и раскомментируем:

(network-script network-bridge)

Внутри:

(xend-unix-server yes)

Теперь лишь остается перегрузить демон:

# /etc/init.d/xend restart

Если вы не отредактируете эту строчку, то обязательно не сможете установить или запустить виртуальную машину. Вы получите на выходе нечто похожее на эту ошибку:

ERROR  internal error failed to connect to xend
Traceback (most recent call last):
  File "/usr/bin/virt-install", line 693, in
    main()
  File "/usr/bin/virt-install", line 508, in main
    conn = cli.getConnection(options.connect)
  File "/var/lib/python-support/python2.5/virtinst/cli.py", line 123, in getConnection
    return libvirt.open(connect)
  File "/usr/lib/python2.5/site-packages/libvirt.py", line 140, in open
    if ret is None:raise libvirtError('virConnectOpen() failed')
libvirtError: internal error failed to connect to xend

Существуют многие другие достуные для соединения с демоном xend опции, такие как xend-http-server, xend-tcp-xmlrpc-server, xend-unix-xmlrpc-server, xend-relocation-server.

Причина, почему была выбрана опция xend-unix-server, а не что иное, так это использование Unix-сокета, который не использует сетевой протокол, но использует те же API-функции, что и сетевые протоколы AF_INET. При этом, использование сетевого интерфейса,такого как lo0, нет необходимости.

Если вы хотите управлять XEN-демоном с центрального узла, не забудте изменить произвести изменения касающиеся соответствующего протокола управления.

Создание виртуальной машины

Являясь большим поклонником абстракции, и считаю, что не что так облегчает жизнь системному администратору и разработчику, как выполнение одних и тех же команд на различных операционных системах, платформах и архитектурах. Такое собрание библиотек и утилит, которые могут быть использованы для развертывания виртуальных машин различных типов. Вот почему предпочитаю использовать библиотеку libvirt, включая Xen, KVM и Qemu.

Они доступны для нас в виде Debian пакетов, так что их установка не составит большого труда:

# apt-get install libvirt-bin virtinst

После чего нам остается лишь создать виртуальную машину:

# virt-install \
--name=test-debian-install \
--ram=1024 \
--file-size=10 \
--nographics \
--paravirt \
--file=/var/lib/xen/images/test-debian-install.img \
--location=http://ftp.belnet.be/debian/dists/lenny/main/\
installer-i386

Рекомендую сохранить эту команду как скрипт на вашей хост системы для создания гостевых систем в будущем.

После того, как виртуальная машина была создана, вам лишь останеться запустить её, чтобы увидеть строку приглашения ввода имени входа пользователя login(1):

Debian GNU/Linux 5.0 test-debian-install hvc0

test-debian-install login:

Для того, чтобы выйти из консоли вертуальной машины нажмите просто `Ctrl-]', точно так же, как вы это делаете в telnet(1), когда завершаете соединение с удаленным хостом в локальной вычислительной сети.

Вернуться к Оглавлению


Copyright © 2010 rjaan as Andrey Rjavskov(Rzhavskov) <rjaan@yandex.ru> <arjavskov@gmail.com>