Установка Xen · 3 min read · Feb 10, 2026

Идеальная настройка Xen 3.0.3 для Debian Sarge - Страница 2

4 Установка из исходников

Запустите следующие команды:

apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig  
apt-get install iproute bridge-utils python-twisted gcc-3.3 binutils make zlib1g-dev python-dev transfig bzip2 screen ssh debootstrap libcurl3-dev libncurses5-dev x-dev

4.1 Установка Xen

Теперь мы загружаем xen-3.0.3_0-src.tgz с http://www.xensource.com/xen/downloads/dl_303tarballs.html и распаковываем его:

cd /usr/src  
wget http://bits.xensource.com/oss-xen/release/3.0.3-0/src.tgz/xen-3.0.3_0-src.tgz  
tar -xvzf xen-3.0.3_0-src.tgz

Затем мы компилируем Xen. Это создаст одно ядро Xen (2.6.16.29-xen). Мы должны сделать это перед тем, как сможем создать отдельные ядра для dom0 и domU. Это может занять много времени, так что будьте терпеливы:

cd xen-3.0.3_0-src/  
make world  
make install  
mv /lib/tls /lib/tls.disabled

Теперь Xen установлен. Чтобы запустить службы Xen при загрузке, выполните следующее:

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

Нам нужен ramdisk для нашего нового ядра Xen, поэтому мы делаем следующее:

depmod 2.6.16.29-xen
apt-get install libhtml-template-perl libparse-recdescent-perl
wget http://downloads.howtoforge.com/files/yaird_0.0.12-8bpo1_i386.deb  
dpkg -i yaird_0.0.12-8bpo1_i386.deb

(Оригинальный пакет yaird находился по адресу http://backports.org/debian/pool/main/y/yaird/, но был удален в это время, поэтому я сделал пакет доступным по адресу http://downloads.howtoforge.com/files/yaird_0.0.12-8bpo1_i386.deb.)

mkinitrd.yaird -o /boot/initrd.img-2.6.16.29-xen 2.6.16.29-xen

Последняя команда создает ramdisk /boot/initrd.img-2.6.16.29-xen.

Далее мы добавляем наше новое ядро в Grub, наш загрузчик. Отредактируйте /boot/grub/menu.lst и перед строкой ### BEGIN AUTOMAGIC KERNELS LIST добавьте следующий фрагмент:

vi /boot/grub/menu.lst

| [...] title Xen 3.0.3 / XenLinux 2.6 root (hd0,0) kernel /xen.gz dom0_mem=64000 module /vmlinuz-2.6-xen root=/dev/hda6 ro max_loop=255 module /initrd.img-2.6.16.29-xen [...] |

Убедитесь, что /dev/hda6 является вашим / разделом. Помните, что я говорил о Grub и разбиении на разделы в главе 1! Я добавил max_loop=255 к строке модуля, чтобы убедиться, что достаточно устройств loop доступно, потому что наши виртуальные машины будут смонтированы как устройства loop.

Теперь перезагрузите систему:

shutdown -r now

На экране загрузки Grub теперь должен перечислить Xen 3.0.3 / XenLinux 2.6 как первое ядро и автоматически загрузить его. Если ваша система загружается без проблем, значит, все в порядке!

4.2 Компиляция ядра dom0

Теперь мы компилируем ядро dom0:

cd /usr/src/xen-3.0.3_0-src/  
make linux-2.6-xen0-config CONFIGMODE=menuconfig KERNELS="linux-2.6-xen0"

В меню конфигурации ядра, которое появляется, мы включаем квоты, iptables и драйвер сети dummy как модули. Вот где вы включаете эти модули:

File systems --> [*] Quota support  
 Old quota format support  
 Quota format v2 support
Device Drivers ---> Network device support --->  Dummy net driver support
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration --->  Netfilter Xtables support (required for ip_tables)
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration --->  IP tables support (required for filtering/masq/NAT)

[*] означает: встроить в ядро статически.

означает: собрать как модуль ядра. Далее мы собираем и устанавливаем ядро dom0: ``` make linux-2.6-xen0-build make linux-2.6-xen0-install depmod 2.6.16.29-xen0 ``` Далее мы добавляем наше новое ядро в Grub, наш загрузчик. Отредактируйте /boot/grub/menu.lst и перед строкой ### BEGIN AUTOMAGIC KERNELS LIST добавьте следующий фрагмент (пожалуйста, удалите или закомментируйте фрагмент, который вы добавили в главе 4.1!): ``` vi /boot/grub/menu.lst ``` | ``` [...] title Xen 3.0.3 / XenLinux 2.6 root (hd0,0) kernel /xen.gz dom0_mem=64000 module /vmlinuz-2.6-xen0 root=/dev/hda6 ro max_loop=255 [...] ``` | Убедитесь, что /dev/hda6 является вашим / разделом. Помните, что я говорил о Grub и разбиении на разделы в главе 1! Теперь перезагрузите систему: ``` shutdown -r now ``` На экране загрузки Grub теперь должен перечислить Xen 3.0.3 / XenLinux 2.6 как первое ядро и автоматически загрузить его. Если ваша система загружается без проблем, значит, все в порядке! ### 4.3 Компиляция ядра domU После этого мы компилируем ядро для domU (виртуальные машины): ``` cd /usr/src/xen-3.0.3_0-src/ make linux-2.6-xenU-config CONFIGMODE=menuconfig KERNELS="linux-2.6-xenU" ``` В меню конфигурации ядра, которое появляется, мы должны включить квоты и iptables как модули (это важно, чтобы они были модулями. Я не смог заставить iptables работать в виртуальной машине, когда я компилировал его в ядро статически!). Вот где вы включаете эти модули: ``` File systems --> [*] Quota support Old quota format support Quota format v2 support``` ``` Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration ---> Netfilter Xtables support (required for ip_tables) ``` ``` Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration ---> IP tables support (required for filtering/masq/NAT) ``` [*] означает: встроить в ядро статически. означает: собрать как модуль ядра. После того как вы вышли из меню конфигурации ядра, выполните следующее, чтобы собрать и установить ядро domU: ``` make linux-2.6-xenU-build make linux-2.6-xenU-install depmod 2.6.16.29-xenU ```
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.