September 15, 2020

Виртуализация с Xen

1. Установка Xen:
Примечание: version - заменить на версию устанавливаемого ядра
# linux-image-version-xen # apt-get install xen-linux-system xen-utils bridge-utils
Таким образом установится xen и зависящие от него пакеты и библиотеки.
Теперь загляните в /boot/grub/menu.lst и убедитесь в том, что загрузчик модифицирован - добавлена поддержка Xen:

title Xen version / Debian GNU/Linux, kernel xen-version root (hd0,0) kernel /boot/xen-version.gz
а также имеется возможность загрузить обычное ядро:

title Debian kernel_version root (hd0,0) kernel /boot/debian-version.gz
По умолчанию происходит загрузка ядра xen. Если это не так, следует поменять порядок загрузки, прописав в строке default то ядро, что имеет поддержку.
Например:
default=1 меняем на default=0
Перезагружаем систему. Убеждаемся в том, что она загрузилась с нужным нам ядром:
# uname -r
kernel_version.xen

После установки перезагрузитесь и проверьте работу Xen:

$ sudo xm list
Name ID Mem VCPUs State Time(s) Domain-0 0 8006 8 r----- 32.2

Если вы не видите в списке Domain-0, убедитесь, что выбрали вариант загрузки с гипервизором, и демон xend запущен.

2. Создание виртуальной машины

Настройка сети:
В файле /etc/xen/xend-config.sxp раскомментируйте строки:

(network-script network-bridge)(vif-script vif-bridge)
Перезапустите xen:
# /etc/init.d/xendomains stop# /etc/init.d/xend restart# /etc/init.d/xendomains start Проверка:
# brctl show bridge name bridge id STP enabled interfaces eth0 xxxx.xxxxxxxxxxxx no peth0 Можете также заглянуть в /etc/network/interfaces.

Новая машина:

# virt-install What is the name of youre virtual machine? - linuxvirtu - вводим название виртуальной машины, в примере linuxvirtu
How much RAM should be allocated? - введите размер выделяемой памяти в Mб для машины
What would you like to use as the disk? - /wmhadr/linuxvirtu.img - укажите предполагаемый путь к виртуальной машине
How large would you like the disk? - укажите размер диска виртуальной машины
Whould you like to enable graphics support? - вы можете включить графическую поддержку
What is the install location? - укажите путь к примонтированному диску, откуда вы собираетесь устанавливать систему

3. Процесс инсталляции

- выбор языка, источника и места установки, создание файловых систем и точек монтирования, установка загрузчика, конфигурирование сетевого интерфейса - в общем, всё как при установке обычной машинки.
Совершив последовательность обыденных действий, перезагружаем виртуальную машину.
Выход из виртуальной машины осуществляется нажатием Cnrl+ ].
Войти снова:
# xm console linuxvirtu Чтобы посмотреть список имеющихся виртуальных машин вводим:
# xm-list Конфигурационный файл виртуальной машины расположен по пути:
/etc/xen/имявиртуальноймашины
Чтобы загружать виртуальную машину при старте физической системы нужно создать одну символическую ссылку:
# ln -s /etc/xen/linuxvirtu /etc/xen/auto теперь в /etc/xen/auto у вас должна лежать ссылочка на машину linuxvirtu.
Включить виртуальную машину:
# xm create linuxvirtu Выключить виртуальную машину:
# mx shutdown linuxvirty - обычное выключение # mx destroy linuxvirtu - "жёсткое" выключение, в крайнем случае
Пользуемся как обычным сервером!