XEN установка · 9 min read · Dec 07, 2025

Как настроить Xen 4.3 на Debian Wheezy (7.0.2) и затем обновить до Jessie

Как настроить Xen 4.3 на Debian Wheezy (7.0.2) и затем обновить до Jessie

Версия 1.0
Автор: Peter Okupski

Это будет быстрая и простая настройка XEN (dom0-гипервизор) и одной виртуальной системы (domU-гость). Я хотел протестировать XEN как свой второй опыт после VMware, и поскольку многие веб-страницы устарели и имеют много старых исправленных ошибок и недочетов, я решил попробовать XEN.

Важно:

Кому будет полезен этот учебник: Только новичкам, которые хотят протестировать простые виртуальные машины без каких-либо реальных облачных приложений, таких как XenOrchestra, Cloudstack, Opencloud и всего, что использует XAPI для Xen Cloud Platform (XCP). Я надеюсь, что это сэкономит время для всех, кто нуждается в реальном облачном приложении с хотя бы веб-интерфейсом и несколькими функциями для распределения хранилища/памяти/ЦП, которые в данный момент не могут быть применены к простому Xen Xypervisor (или это слишком много работы:)

Кому это не подходит: Для любых пользователей/компаний, которым нужна высокая доступность и реальное облачное приложение.

Я призываю всех вас, новичков в Xen, посмотреть это видео, чтобы понять и почувствовать Xen.

Учебник будет разделен на следующие разделы:

  1. Установка Debian с быстрой и простой настройкой LVM
  2. Обновление до Jessie, чтобы мы были в курсе последних исправлений XEN
  3. Установка XEN 4.3
  4. Несколько советов по настройке XEN
  5. Простая настройка моста XEN
  6. Настройка XEN для использования шаблонов для создания хостов
  7. Создание первой системы domU Guest с помощью однострочной команды;)

1. Простая установка Debian с настройкой LVM

Я предлагаю использовать неофициальные (но Debian) ISO, которые уже имеют проприетарные прошивки, необходимые для сетевых карт Broadcom и других, которые могут нарушить этот приятный и простой процесс.

Неофициальные ISO Debian

После начальной настройки установщика Debian, пожалуйста, выберите пользовательскую настройку разделов, как показано ниже: Я создал следующие разделы:

Точка монтированияРазмерКомментарий
/boot200 MB(Основной) (Место для нового раздела: Начало) (ext3) (Флаг загрузки: включен <– важно, иначе ваша система не загрузится!)
swap1GB(Логический) (Место для нового раздела: Начало) (память dom0 будет ограничена до 512M)
/6GB(Логический) (Место для нового раздела: Начало) (ext3)

Мы можем установить остальную часть диска как LVM. Нам нужно принять изменения и записать их на диск.

Ваша установка должна завершиться, и вам нужно записать grub на ваш диск. После этого установка перезагрузится.

После установки ваши разделы должны выглядеть так:

root@xen-dom0:~# df -h   
Файловая система Размер Использовано Доступно Использовано% Смонтировано на  
/dev/sda6 6.0G 2.0G 2.4G 30% /  
udev 10M 0 10M 0% /dev  
tmpfs 38M 268K 38M 1% /run  
tmpfs 5.0M 0 5.0M 0% /run/lock  
tmpfs 266M 0 266M 0% /run/shm  
/dev/sda1 180M 28M 140M 17% /boot

Теперь мы установим lvm и создадим первый физический том.

apt-get install lvm2
pvcreate /dev/sda7

| Физический том "/dev/sda7" успешно создан root@xen-dom0:/etc/xen-tools# pvscan PV /dev/sda7 lvm2 [273.51 GiB] Всего: 1 [273.51 GiB] / в использовании: 0 [0 ] / в no VG: 1 [273.51 GiB] root@xen-dom0:/etc/xen-tools# pvdisplay "/dev/sda7" - новый физический том "273.51 GiB" --- НОВЫЙ Физический том --- Имя PV /dev/sda7 Имя VG Размер PV 273.51 GiB Доступно НЕТ Размер PE 0 Всего PE 0 Свободные PE 0 Выделенные PE 0 UUID PV 1vKp2c-KbmM-w8Ql-noOe-U00J-hlr0-FsKwOM |

Время создать группу томов (vg0) (обратите внимание на изменение букв p/v! перед созданием)

vgcreate vg0 /dev/sda7

| Группа томов "vg0" успешно создана |

Давайте проверим, все ли прошло хорошо.

vgdisplay

| --- Группа томов --- Имя VG vg0 Идентификатор системы Формат lvm2 Области метаданных 1 Номер последовательности метаданных 1 Доступ VG чтение/запись Статус VG изменяемый MAX LV 0 Текущий LV 0 Открытый LV 0 Max PV 0 Текущий PV 1 Активный PV 1 Размер VG 273.51 GiB Размер PE 4.00 MiB Всего PE 70018 Выделено PE / Размер 0 / 0 Свободно PE / Размер 70018 / 273.51 GiB UUID VG 2a3kn9-DvVA-3Qac-g4Wz-f2Xo-s5hk-Yh5fBc |

После настройки LVM мы можем очистить наш dom0 от ненужных пакетов:

apt-get remove bsd-mailx exim4 exim4-base exim4-daemon-light nfs-common

А затем мы можем установить несколько необходимых/возможно необходимых:

apt-get install mc screen ssh debootstrap python iproute bridge-utils libcurl3-dev

После установки чистый Debian 7.0.2 занимает около 760MB.

| rootfs 4.6G 764M 3.7G 18% / |

2. Обновление до Debian Jessie

Теперь мы можем обновить до тестовой версии (Jessie), так как нам нужно, чтобы XEN был как можно более свежим.

Используйте этот генератор - он сэкономит вам время:) и несколько ошибок. Или просто измените “wheezy” на “jessie”, а “stable” на “testing” в /etc/apt/sources.list.

/etc/apt/sources.list

| deb http://ftp.pl.debian.org/debian testing main contrib non-free deb-src http://ftp.pl.debian.org/debian testing main contrib non-free deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |

Сначала:

apt-get update; apt-get -y upgrade

Во время обновления вас попросят перезапустить службы - выберите Да. Далее мы загрузим все .deb, которые нам нужны (просто для безопасности):

apt-get -y --download-only dist-upgrade

Затем мы можем перейти к реальному обновлению. Лучше перезагрузиться после этого, чтобы ядро изменилось с 3.2 на 3.11.

apt-get -y dist-upgrade

Уберите лишнее:

apt-get clean; apt-get autoclean;apt-get autoremove

3. Установка XEN 4.3

Сначала мы должны проверить, поддерживает ли наш процессор аппаратную виртуализацию.

egrep '(vmx|svm)' --color=always /proc/cpuinfo

Вывод должен выглядеть так:

root@xxxx:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo  
флаги : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority  
флаги : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority

Затем мы можем перейти к установке XEN: гипервизора, ядра с поддержкой xen и инструментов xen. Это можно сделать с помощью метапакета:

apt-get install xen-linux-system xen-tools

Debian Wheezy использует Grub 2 и по умолчанию сначала перечисляет обычные ядра, а затем только гипервизор Xen и его ядра. Вы можете изменить это, чтобы Grub 2 предпочитал загружать Xen, изменив приоритет скрипта конфигурации Xen Grub (20_linux_xen) на более высокий, чем стандартная конфигурация Linux (10_linux). Это проще всего сделать с помощью dpkg-divert:

dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen

После любого обновления конфигурации Grub вы должны применить конфигурацию, запустив:

update-grub

4. Настройка Xen

  1. Установите память Dom0 на 512 Мб и отключите баллон, чтобы DomUs никогда не использовали память Dom0
  2. Предотвратите появление виртуальных машин на логических томах в меню загрузки
  3. Отключите сохранение и восстановление Xendomains
  4. Ограничьте dom0 только первым ЦП

1. Установите память Dom0 на 512 Мб и отключите баллон

/etc/xen/xend-config.sxp

| (dom0-min-mem 512) (enable-dom0-ballooning no) |

2. Предотвратите появление виртуальных машин на логических томах в меню загрузки

Измените grub:

/etc/default/grub

| #выделить память для dom0 GRUB_CMDLINE_XEN="dom0_mem=512M" # Отключить OS prober GRUB_DISABLE_OS_PROBER=true |

update-grub;reboot

3. Отключите сохранение и восстановление Xendomains

/etc/default/xendomains

| #XENDOMAINS_SAVE=/var/lib/xen/save XENDOMAINS_SAVE= #XENDOMAINS_RESTORE=true XENDOMAINS_RESTORE=false |

4. Ограничьте dom0 только первым ЦП

По умолчанию все ЦП делятся между dom0 и всеми domU (гостями). Это может нарушить ответственность dom0, если гости потребляют слишком много времени ЦП. Чтобы избежать этого, можно выделить один (или несколько) ядер процессора dom0 и также привязать его к dom0.

Добавьте следующие параметры в /etc/default/grub, чтобы выделить одно ядро ЦП для dom0:

/etc/default/grub

| # Параметры загрузки Xen для всех загрузок Xen GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # Отключить OS prober GRUB_DISABLE_OS_PROBER=true |

Не забудьте запустить update-grub после этого!

update-grub

Также внесите такие изменения в /etc/xen/xend-config.sxp:

/etc/xen/xend-config.sxp

| (dom0-cpus 1) |

!! Перед перезагрузкой проверьте, сделали ли вы update-grub, а затем перезагрузите сервер !!

5. Простая настройка моста XEN

Большинство настроек будут использовать конфигурацию BRIDGE, и этого достаточно, если вы планируете простую среду, но я настоятельно рекомендую использовать OpenVSwitch, если вам нужны VLAN или любые ACL и т. д.

Вот простая версия для простого моста:

apt-get install bridge-utils

Нам нужно отредактировать: /etc/network/interfaces

/etc/network/interfaces

| ##Сетевой интерфейс обратной связи auto lo iface lo inet loopback iface eth0 inet manual auto xenbr0 iface xenbr0 inet static address 10.0.9.100 netmask 255.255.255.0 network 10.0.9.0 broadcast 10.0.9.255 gateway 10.0.9.1 # dns-* параметры реализуются пакетом resolvconf, если установлен dns-nameservers 10.0.9.2 dns-search yourdomain.net bridge_ports eth0 #другие, возможно, полезные параметры в виртуализированной среде bridge_stp off # отключить протокол Spanning Tree bridge_waitport 0 # нет задержки перед тем, как порт станет доступным bridge_fd 0 # нет задержки пересылки |

После этого вам следует перезапустить сеть с помощью

/etc/init.d/networking restart

И проверьте, появился ли ваш мост

brctl show

| имя моста идентификатор моста STP включен интерфейсы xenbr0 8000.001a6479cd8c нет eth0 |

6. Настройка XEN-Tools для использования шаблонов для ваших виртуальных машин (гостей-domU)

Теперь давайте создадим наш первый образ нового domU с шаблоном. Нам нужно отредактировать файл:

/etc/xen-tools/xen-tools.conf

| lvm = vg0 # ваша группа томов, которую мы создали ранее install-method = debootstrap # Это запустит установщик debian size = 10Gb # Размер образа диска. memory = 512Mb # Размер памяти swap = 2Gb # Размер подкачки noswap = 1 # Не использовать подкачку вообще для новой системы. fs = ext4 # используйте файловую систему EXT3 для образа диска. dist = `xt-guess-suite-and-mirror --suite` # Дистрибуция по умолчанию для установки. image = sparse # Укажите разреженные или полные образы дисков. gateway = 10.0.9.1 # Ваш шлюз, который также использует dom0 с мостом netmask = 255.255.255.0 # комментарии не нужны;) broadcast = 10.0.9.255 # Ваш широковещательный адрес bridge = xenbr0 # Здесь мы должны использовать мост, который мы создали, xen сделает это в eth0 на domU. cachedir = /var/cache/xen-tools/archives/ # Место для *.debs для дальнейшего использования passwd = 1 #Это запросит пароль root для создания на новой машине kernel = /boot/vmlinuz-`uname -r` #Он будет использовать то же ядро, что и dom0 (это важно, чтобы избежать проблем) initrd = /boot/initrd.img-`uname -r` #То же самое здесь для initrd mirror = `xt-guess-suite-and-mirror --mirror` mirror = ftp://ftp.pl.debian.org/debian/ #Введите ваш зеркальный сайт debian ext3_options = noatime,nodiratime,errors=remount-ro #Простые параметры для применения к новой машине ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults boot = 1 # Хотим ли мы загрузить нашу новую машину после ее создания. Конечно, да! |

7. Создание первого гостя domU

Теперь мы можем создать наш первый хост domU:

xen-create-image --hostname domU-test --dist=jessie --vcpus=4 --ip=10.0.9.101

Это займет около 3-4 минут, в зависимости от скорости вашего соединения, ЦП и скорости диска. Как только это будет сделано, мы можем проверить, работает ли это.

xm list

| Имя ID Память VCPUs Состояние Время(с) Domain-0 0 512 1 r----- 93.8 domU-test 1 512 4 -b---- 23.9 |

Я рекомендую прочитать xen-create-image –help, так как это даст вам представление о том, что вы можете изменить, предоставив ему параметры для создания любого дистрибутива. Пример: запустите команды после и все другие вещи, которые могут вам понадобиться. Также есть возможность сгенерировать образ и использовать его для готовой системы-шаблона, не запуская установщик в течение 3 минут каждый раз.

Теперь вы можете войти на ваш новый хост с помощью ssh.

Ниже вы можете найти ссылки, которые я использовал в этом учебнике:

  1. Xen в вики Debian
  2. OpenVSwitch
  3. Xen 4 в Debian Wheezy
  4. Настройка XEN - вики XEN
  5. Генератор источников Apt
  6. Лучшие практики Xen
  7. Как использовать LVM
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.