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


Пожалуй, единственная статья, которая начинается с приведения ссылок. Действительно, следует чётко понимать нужна ли вам именно эта технология или можно обойтись чем-то другим. Хотя не так страшен xen как его малюют. И сейчас он становится популярнее, чем OpenVZ.

Итак, перво-наперво о  виртуализации, особое внимание стоит уделить паравиртуализации, т. к. 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 - "жёсткое" выключение, в крайнем случае
Пользуемся как обычным сервером!

0 коммент.: (+add yours?)

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.