Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Установка Xen 4.2 на Debian Squeeze

Практика



ЗЫ. Вот и подобрались к тому, что пора писать напоминалку для народа - как Xen 4.2 ставить на любимый Debian.


Сегодня наша задача - установить Xen 4.2 (в нашем случае - 4.2.1) на Linux Debian Squeeze. Встроенной поддержки нового Xen у Squeeze нет - последняя официальная версия - 4.0.1-4 (на момент написания данной заметки), поэтому придется все делать из исходников.


1) Логинимся на хостовую машину и скачиваем Xen 4.2.

$ wget http://bits.xensource.com/oss-xen/release/4.2.1/xen-4.2.1.tar.gz

Распаковываем:
$ tar -xzf xen-4.2.1.tar.gz

После чего у нас появляется директория xen-4.2.1, в которой лежат исходники гипервизора.


2) Устанавливаем зависимости.

Это делаем перед компиляцией и сборкой гипервизора, т.к. иначе ничего не получится.
$ sudo apt-get build-dep xen
$ sudo apt-get install libx11-dev libssl-dev python2.6-dev
$ sudo apt-get install bridge-utils
$ sudo apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev \
        bzip2 module-init-tools transfig tgif texinfo texlive-latex-base \
        texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended \
        pciutils-dev mercurial make gcc libc6-dev zlib1g-dev python python-dev \
        python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev \
        iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev \
        bison flex xz-utils libyajl-dev gettext pkg-config


3) Собираем и устанавливаем Xen 4.2

$ cd xen-4.2.1
$ ./configure
$ sudo make dist
$ sudo make install PYTHON_PREFIX_ARG=



4) Прописываем автозагрузку Xen-демонов

$ sudo update-rc.d xencommons defaults
$ sudo update-rc.d xendomains defaults


Заметим, что демон xend сейчас считается устаревшим и его запуск производители Xen осуществлять не рекомендуют. Вместо него они предлагают (начиная с 4.1 тестово, а сейчас - уже и для боевой конфигурации) использовать XL.


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.2.1, например, переместив его куда-нибудь:

$ cd /boot
$ sudo mkdir xsyms
$ sudo mv xen-syms-4.2.1 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 и правим. Для начальной работы я рекомендую раскомментировать строчку с включением с доступом по VNC к консолям виртуальных машин:

(vnc-listen '0.0.0.0')

(кстати, по-умолчанию стоит 127.0.0.1, что совершенно бесполезно - не имея X-Window на борту гипервизора - потому что нафик он там не нужен - подцепиться с 127.0.0.1 к VNC консоли просто нечем, поэтому ставим значение 0.0.0.0, разрешая подцепляться откуда угодно).


10) Конфигурируем сеть.

Начиная с Xen 4.1 (и продолжая в Xen 4.2) встроенное средство network-bridge использовать возможно только для конфигурирования одной сетевой карты. Более того, сами производители усиленно рекомендуют мосты давать средствами, собственно, самой ОС гипервизора - в нашем случае, силами Linux Debian. Давайте так и сделаем.

Мост делается самыми стандартными методами - как любой другой на Debian. Вот пример конфига.

/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto xeth0
iface xeth0 inet static
        bridge_ports eth0
        address 10.0.34.200
        netmask 255.255.255.0
        network 10.0.34.0
        broadcast 10.0.34.255
        gateway 10.0.34.250

auto xeth1
iface xeth1 inet static
        bridge_ports eth1
        address 10.3.34.200
        netmask 255.255.255.0


# The primary network interface
#allow-hotplug eth0
#iface eth0 inet static
#       address 10.0.34.200
#       netmask 255.255.255.0
#       network 10.0.34.0
#       broadcast 10.0.34.255
#       gateway 10.0.34.250
#       # dns-* options are implemented by the resolvconf package, if installed
#       dns-nameservers 10.0.1.10

Этот простенький файл показывает поднятие двух мостов xeth0 и xeth1 (которые в дальнейшем могут быть использованы для виртуальных машин). Мостам присваиваются IP адреса - заметьте, что не самим интерфейсам eth0 и eth1, а именно мостам xeth0 и xeth1.



11) Перезагружаемся.

Для проверки, что все "крутится и вертится" - просим Xen показать список текущих машин:
$ sudo xl list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0 32320     8     r----- 782440.2

Кстати, еще заметьте - уже не xm я использую для управления машинами, а xl.
создано: 2017-05-10
обновлено: 2021-03-13
132563



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Операционная система LINUX

Термины: Операционная система LINUX