Виртуализация · 3 min read · Feb 13, 2026

Виртуализация с Xen 3.3.1 на Debian Etch

Виртуализация с Xen 3.3.1 на Debian Etch

Версия 1.0
Автор: Фалко Тимме

Этот учебник предоставляет пошаговые инструкции по установке Xen на систему Debian Etch (4.0).

Xen позволяет создавать гостевые операционные системы (nix операционные системы, такие как Linux и FreeBSD), так называемые “виртуальные машины” или domU, под хост-операционной системой (dom0). Используя Xen, вы можете разделить свои приложения на разные виртуальные машины, которые полностью независимы друг от друга (например, виртуальная машина для почтового сервера, виртуальная машина для веб-сайта с высокой посещаемостью, другая виртуальная машина, которая обслуживает веб-сайты ваших клиентов, виртуальная машина для DNS и т.д.), но при этом использовать одно и то же оборудование. Это экономит деньги, и что еще более важно, это более безопасно. Если виртуальная машина вашего DNS-сервера будет взломана, это не повлияет на ваши другие виртуальные машины. Кроме того, вы можете перемещать виртуальные машины с одного сервера Xen на другой.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Я использую систему Debian Etch с именем хоста server1.example.com и IP-адресом 192.168.0.100 в качестве хост-системы (dom0). Я также буду использовать Debian Etch для виртуальных машин (domU).

Этот гид объяснит, как настроить виртуальные машины на основе образов, а также виртуальные машины на основе LVM.

Пожалуйста, обратите внимание: Xen 3.3.1 поставляется с ядром 2.6.18, которое довольно старое. Если вы используете новое оборудование, система может не загрузиться из-за отсутствия драйверов!

2 Установка Xen

Перед установкой Xen необходимо установить некоторые предварительные условия:

apt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted bridge-utils iproute libcurl3 libcurl3-dev bzip2 module-init-tools transfig tgif libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev bcc bin86 gawk pciutils-dev mercurial build-essential

Затем мы загружаем Xen 3.3.1…

cd /usr/src  
wget http://bits.xensource.com/oss-xen/release/3.3.1/xen-3.3.1.tar.gz

… и распаковываем его:

tar -xvzf xen-3.3.1.tar.gz  
cd xen-3.3.1

Теперь мы собираем его следующим образом:

make world && make dist

Это может занять некоторое время, поэтому, пожалуйста, будьте терпеливы. После этого мы устанавливаем Xen:

./install.sh

Вывод должен выглядеть следующим образом:

server1:/usr/src/xen-3.3.1# ./install.sh  
Установка Xen из './dist/install' в '/'...  
 - установка для системы на основе udev  
 - изменение прав  
Все готово.  
Проверка установленных инструментов...  
Xen CHECK-INSTALL  Вск 8 Фев 21:22:39 CET 2009  
Проверка check_brctl: OK  
Проверка check_crypto_lib: OK  
Проверка check_curl: не используется, OK  
Проверка check_iproute: OK  
Проверка check_python: OK  
Проверка check_python_xml: OK  
Проверка check_udev: OK  
Проверка check_xml2: не используется, OK  
Проверка check_zlib_lib: OK  
Все готово.  
server1:/usr/src/xen-3.3.1#

Запустите

mv /lib/tls /lib/tls.disabled

… и создайте системные ссылки для запуска Xen:

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

После этого откройте /etc/modules и убедитесь, что у нас есть строка loop max_loop=64 в ней (этот шаг нужен только если вы хотите создать виртуальные машины на основе образов - вы можете пропустить его, если хотите создать виртуальные машины на основе LVM):

vi /etc/modules

| [...] loop max_loop=64 |

Теперь взгляните на директорию /boot:

ls -l /boot/
server1:/usr/src/xen-3.3.1# ls -l /boot/  
total 15546  
-rw-r--r-- 1 root root   71818 2007-03-26 18:32 config-2.6.18-4-486  
-rw-r--r-- 1 root root   66264 2009-02-08 21:21 config-2.6.18.8-xen  
drwxr-xr-x 2 root root    1024 2008-12-14 00:07 grub  
-rw-r--r-- 1 root root 4845777 2008-12-14 00:04 initrd.img-2.6.18-4-486  
drwx------ 2 root root   12288 2008-12-13 23:59 lost+found  
-rw-r--r-- 1 root root  716728 2007-03-27 00:39 System.map-2.6.18-4-486  
-rw-r--r-- 1 root root  752541 2009-02-08 21:21 System.map-2.6.18.8-xen  
-rw-r--r-- 1 root root 1220128 2007-03-27 00:39 vmlinuz-2.6.18-4-486  
-rw-r--r-- 1 root root 1541626 2009-02-08 21:21 vmlinuz-2.6.18.8-xen  
-rw-r--r-- 1 root root  433689 2009-02-08 21:14 xen-3.3.1.gz  
lrwxrwxrwx 1 root root      12 2009-02-08 21:22 xen-3.3.gz -> xen-3.3.1.gz  
lrwxrwxrwx 1 root root      12 2009-02-08 21:22 xen-3.gz -> xen-3.3.1.gz  
lrwxrwxrwx 1 root root      12 2009-02-08 21:22 xen.gz -> xen-3.3.1.gz  
-rw-r--r-- 1 root root 6180789 2009-02-08 21:14 xen-syms-3.3.1  
server1:/usr/src/xen-3.3.1#

Как видите, есть новое ядро, 2.6.18.8-xen, но для него нет ramdisk; поэтому мы создаем его…

depmod 2.6.18.8-xen  
update-initramfs -c -k 2.6.18.8-xen

… и обновляем наш загрузчик:

update-grub

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

reboot

Запустите

uname -r

и ваше новое ядро Xen должно появиться:

server1:~# uname -r  
2.6.18.8-xen  
server1:~#
 

3 Установка xen-tools

Мы будем использовать xen-tools для создания виртуальных машин. xen-tools очень упрощает создание виртуальных машин - пожалуйста, прочитайте этот учебник, чтобы узнать больше: https://www.howtoforge.com/xen_tools_xen_shell_argo. Мы не устанавливаем пакет xen-tools из репозитория Debian Etch (поскольку он довольно старый), а напрямую из репозитория разработчика - таким образом мы получаем последнюю версию. Откройте /etc/apt/sources.list…

vi /etc/apt/sources.list

… и добавьте следующую строку:

| [...] deb http://apt.steve.org.uk/etch etch main non-free contrib [...] |

Затем выполните…

wget -q http://apt.steve.org.uk/apt-key.gpg -O- | apt-key add - && apt-get update

… и установите xen-tools:

apt-get install xen-tools
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.