Xen - гипервизор виртуальных машин. Один из наиболее перспективных, он сочетает в себе низкие потери производительности с нулевой ценой за пользование.
Я использую Xen на серверах на базе Debian Lenny (Debian 5), т.к. Squeeze на текущий момент (февраль 2011г.) еще находится в стадии sid и в продакшен ставить я его не рискую.
В этой статье я опишу как установить Xen версии 4.0.1 (последней на момент публикации) с нуля на чистую машину Debian. На самом деле, с небольшими доработками, можно сделать апгрейд Xen 3.2-1, доступный через репозитории Debian, без потери работоспособности.
Итак, у нас имеется только что установленный Lenny (Debian 5). Я буду основываться на 64-битной версии (amd64) в дистрибьютиве netinst. На самом деле это не важно - при использовании 32-битного домена 0 названия ядер соответственно будут изменены с amd64 на 686. Самому гипервизору фиолетово - под каким ядром работает домен 0, поэтому вполне можно использовать как 32-битный, так и 64-битный Debian.
Более подробно про Xen можно почитать на этом же сайте (how-it.ru) в статьях раздела Виртуализация/Xen. Здесь будут описаны только шаги установки.
1) Разрешаем системе apt работу с бекпортами.
Открываем файл /etc/apt/sources.list и приводим его к такому виду. Обратите внимание на закоментированную строку репозитория cdrom и раскоментированные строки репозиториев исходников, а также на последнюю строку - именно она указывает, что Debian разрешается использовать бекпорты.
#
# deb cdrom:[Debian GNU/Linux 5.0.5 _Lenny_ - Official amd64 NETINST Binary-1 20100627-10:37]/ lenny main
#deb cdrom:[Debian GNU/Linux 5.0.5 _Lenny_ - Official amd64 NETINST Binary-1 20100627-10:37]/ lenny main
# Line commented out by installer because it failed to verify:
deb http://ftp.us.debian.org/debian/ lenny main
deb-src http://ftp.us.debian.org/debian/ lenny main
# Line commented out by installer because it failed to verify:
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main
# Line commented out by installer because it failed to verify:
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
deb http://backports.debian.org/debian-backports lenny-backports main
Добавляем файл /etc/apt/preferences
# APT PINNING PREFERENCES
Package: *
Pin: release a=lenny-backports
Pin-Priority: 200
Этот файл разрешает операционной системе обновлять установленные из backports пакеты, включая ядра (иначе их версии будут заморожены).
2) Обновляем репозитории
# aptitude update
# aptitude install debian-backports-keyring
# aptitude update
3) Устанавливаем необходимый для комфортной работы софт. Тут на Ваше усмотрение, но я предпочитаю ставить следующее:
# aptitude install dnsutils mc less openssh-server
4) Xen мы будем собирать из исходников, потому ставим все необходимое самостоятельно.
# aptitude 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 build-essential \
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 gcc-multilib
5) Скачиваем исходники Xen с офф-сайта
# mkdir ~/xen
# cd xen
# wget http://bits.xensource.com/oss-xen/release/4.0.1/xen-4.0.1.tar.gz
# tar -xzf xen-4.0.1.tar.gz
6) Собираем Xen
# cd xen-4.0.1
# make xen
# make tools
7) После компиляции нам понадобиться внести некоторые изменения в парочку файлов
# cd dist/install/etc
# mv sysconfig default
# cd init.d
# nano xend
// (заменть везде строку sysconfig на default)
# nano xendomains
// (заменть sysconfig на default)
Я использовал встроенный редактор nano, однако Вы можете это сделать любым другим, например, mcedit из комплекта midnight commander (mc).
8) Выполняем процедуру установки. Она скопирует необходимые файлы в нужные места.
Очень важно выполнить ее до установки ядра 2.6.32 (п.9), т.к. иначе придется вручную прописывать в grub-loader блок о том, что у нас есть загрузчик Xen.
# cd ~/xen/xen-4.0.1
# ./install.sh
9) Устанавливаем из backports ядро 2.6.32-bpo (на текущий момент - bpo.5)
# aptitude install linux-headers-2.6.32-bpo.5-xen-amd64 module-assistant
# aptitude install linux-image-2.6.32-bpo.5-amd64 linux-image-2.6.32-bpo.5-xen-amd64
Я, как уже говорил выше, использую 64-битное ядро для домена 0. Если у вас 32-битный Debian - то вместо amd64 указывайте 686.
10) Вносим изменения в парочку файлов для того, чтобы xend смог работать с гипервизором.
# nano /etc/fstab
// (добавляем: none /proc/xen xenfs defaults 0 0 )
# nano /etc/modules
// (добавляем 2 строки:)
blktab
xen-evtchn
11) Чтобы демон xend и утилита xendomains запускались автоматически - добавляем их в систему rc.d
# update-rc.d xend defaults 20
# update-rc.d xendomains defaults 22
12) Редактируем файл настроек xend, приводя его в нужный нам вид
# nano /etc/xen/xend-config.sxp
На моем примере - я разрешил работу VNC с любого IP (vnc-lister '0.0.0.0') и разрешил работу сетевой карты в bridge-режиме.
13) Перезагрузка.
Перезагружаемся. Если все сделано правильно - Вы увидите сначала grub-loader, который по-умолчанию выберет строчку Xen 4.0.1, потом сообщения Xen-hypervisor'а, и наконец - уже загружающееся ядро Domain 0.
Чтобы проверить, что Xen работает - выполните команду
# xen list
Name ID Mem VCPUs State Time(s)
Domain-0 0 249 4 r----- 9525.4
Если домены видны как в примере выше - Xen работает и домен 0 может управлять гипервизором.
Хитрости настройки, а также типовые конфиги приводятся на этом же сайте в разделе виртуализация/Xen.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX