Инсталляция Xen из архива исходных текстов

Материал из Xgu.ru

Перейти к: навигация, поиск


Короткий URL: xen/source

< Инсталляция Xen

Billets.jpg

    Эта страница, пока что — сборище заготовок.
    Лучше не читайте её, если не хотите потратить время впустую. А почитайте вместо этого что-нибудь другое.

Содержание

[править] Инсталляция зависимостей

Для использования Xen понадобятся пакеты:

  bridge-utils
  iproute
  udev

Для более производительной работы домена 0 поверх гипервизора в 64-разрядных системах нужно установить пакет:

  libc6-xen

Для 32-хразрядных систем он не нужен

Для сборки в Debian GNU/Linux необходимо установить пакеты:

  libncurses5-dev gawk libx11-dev libssl-dev python-dev \
  gcc \
  libsdl1.2-dev \
  make uuid-dev libasound2-dev \
  libc6-dev \
  bin86 bcc \
  libvncserver-dev \
  gettext \
  libpci-dev \
  latex-make ghostscript tetex-extra \
  texinfo bzip2 patch \
  zlib1g-dev \
  git-core \
  iasl

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

  mercurial

[править] Получение исходного кода Xen

Исходный код Xen, как и многих других opensource-проектов, можно получить одним из двух способов:

  • скачать архив исходного кода;
  • получить код из репозитория.

Первый метод используется в случаях, когда нужен код определённой версии (но и второй способ здесь прекрасно работает), а второй — когда нужно получить код, для которого архив не делали. Как правило, это относится к наиболее свежему коду или коду, для которого существует определённый патч (например, такой как патч Kemari).

[править] Получение архива исходных кодов

Архив исходных кодов можно скачать со страницы:

[править] Получение Xen из репозитория Mercurial

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

$ hg clone http://xenbits.xensource.com/xen-3.4-testing.hg

(здесь вместо версии 3.4 должна быть указана интересующая версия).

Или, для получения последнего среза unstable:

$ hg clone http://xenbits.xensource.com/xen-unstable.hg

Взять из репозитория определённую версию и собрать именно её:

%$ hg update 3.4-rc6


Процедура получения кода из репозитория Mercurial подробно описана на странице:

[править] Получение кода из репозитория git

В качестве основной системы контроля версий используется именно Mercurial, но периодически снимки из него копируются в git-репозиторий, который доступен по адресу:

http://xenbits.xen.org/git-http/


[править] Сборка и инсталляция

%$ make world
%# make install

Если ваше ядро использует initrd, то не забыть его собрать: %# mkinitramfs -o /boot/initrd.img-2.6.31.12 2.6.31.12

Добавить скрипты xend и xendomains в загрузку:

# update-rc.d xend defaults 20 21
# update-rc.d xendomains defaults 21 20

Убедиться, что на момент запуска xend существуют каталоги /var/run/xenstored и /var/lock/subsys. Можно добавить в скрипт команды:

mkdir -p /var/run/xenstored
mkdir -p /var/lock/subsys

Изменить конфигурацию загрузчика.

Пример:

title Xen 4.0
root   (hd0,0)
kernel  /boot/xen-4.0.gz
module /boot/vmlinuz-2.6.31.12 root=UUID=8f17d1a1-64ab-425a-9b53-71d20aa7893e ro console=tty0
module /boot/initrd.img-2.6.31.12

Перезагрузиться.

[править] Ускорение процесса повторной сборки

Если вам нужно выполнять сборку более одного раза (а это вполне возможно, например, даже в том случае, если у вас сборка прервалась из-за ошибки), то процесс можно ускорить, если заранее получить вспомогательные репозитории ядра Linux, QEMU и других компонентов, которые используются при сборке Xen.

Их нужно разместить локально и указать в сборочном файле местоположение репозиториев.

Получение репозиториев:

%$ git clone http://xenbits.xensource.com/git-http/qemu-xen-unstable.git /xen/qemu-xen-unstable
%$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git /xen/linux-2.6-pvops.git

Установка переменных:

CONFIG_QEMU = /xen/qemu-xen-unstable
XEN_LINUX_GIT_URL = /xen/linux-2.6-pvops.git

В противном случае репозитории при каждой сборке будут повторно выкачиваться из сети.

[править] Досборка модулей ядра

Если после сборки вы обнаружили, что каких-то модулей вам недостаёт (а это вполне возможно, потому что по умолчанию конфигурация ядра такова, что собирается только необходимый минимум), можно дособрать необходимые вам модули.

%$ cd /usr/src/xen/xen-unstable.hg
%$ cd build-linux-2.6-pvops_x86_32
%$ make menuconfig
%$ make modules
%$ make modules_install

Что вам может понадобиться и чего нет в конфигурации ядра по умолчанию:

  • поддерка разных файловых систем, например XFS, Btrfs и других;
  • поддержка 802.1Q;
  • поддержка TUN/TAP-интерфейсов.
Xen
Xen

Виртуализация и паравиртуализация
Эмуляция | Виртуализация | Паравиртуализация | Рекурсивная виртуализация
Паравиртуальные драйверы | Виртуализация ввода/вывода

Общие вопросы по Xen
Аппаратные требования Xen | Поддержка Xen операционными системами | Поддерживаемые аппаратные архитектуры |
Примеры использования Xen | Сравнение виртуальных машин |
Хостинг на Xen
Альтернативы Xen

свободные: KVM | LXC | OpenVZ | VServer | QEMU | VirtualBox
проприетарные: Hyper-V | VMware ESX Server

Технические вопросы
Инсталляция Xen | Конфигурационный файл домена
ОС в Xen: Linux small icon.png Linux | Solaris small icon.png OpenSolaris | Freebsd small icon.png FreeBSD | Openbsd small icon.png OpenBSD | Netbsd small icon.png NetBSD | Windows xp small icon.png Windows XP | Windows vista small icon.png Windows Vista
Устройства: Блочные | USB | SCSI | Сеть | PV-драйверы для Linux | PV-драйверы для Windows | Консоль

Распределение ресурсов между доменами | Перенос системы внутрь Xen | HVM -> PV

Управление и кластеризация | Enomalism | Xen+DRBD | Ganeti | Convirt 2.0 | SkyCover Infrastructure