Xen — кросс-платформенный гипервизор распространяемый на условиях лицензии GPL.
Основные особенности:
- поддержка режима паравиртуализации помимо аппаратной виртуализации
- минимальность кода самого гипервизора за счёт выноса максимального количества компонентов за пределы гипервизора
- виртуальная машина обладает производительностью, сравнимой с реальной
- возможность миграции запущенной виртуальной машины между физическими машинами
- хорошая поддержка оборудования (поддерживается большинство драйверов устройств Linux)
- возможность создания песочницы, перезагружаемые драйверы устройств
Настраиваем Ubuntu для XEN
Указываем имя компьютера. Действие выполняется двумя командами
sudo nano /etc/hosts
sudo nano /etc/hostname
Перезагружаем службы hostname
sudo service hostname restart
Перезапускаем сеть и изменения вступят в силу:
sudo service networking restart
sudo nano /etc/network/interfaces
Для применения изменений, перезапускаем сеть
sudo service networking restart
Если XEN будет устанавливаться на desktop версию ubuntu, тогда стоит удалить Network Manager, иначе корректная работа сети не гарантируется
sudo apt-get purge network-manager
Устанавливаем XEN в Ubuntu 13.10 server
Устнанавливаем гипервизор xen. Если систем i386 пакет «xen-hypervisor-amd64» меняется на «xen-hypervisor-i386«, но тогда поддержки 64 разрядных систем не ждите.
sudo apt-get install \ xen-hypervisor-amd64 \ xen-utils \ xenwatch \ xen-tools \ xen-utils-common \ xenstore-utils
Дожидаемся окончания установки
Чтобы мы могли назначать на каждый гостевой домен свой сетевой интерфейс, правим конфиг
sudo nano /etc/xen/xend-config.sxp
раскомментируем
#(network-script network-bridge)
Указываем системе, что по-умолчанию будем грузить «‘Ubuntu GNU/Linux, с Xen 4.3-amd64»
sudo sed -i 's/GRUB_DEFAULT=.*\+/GRUB_DEFAULT="Xen 4.3-amd64"/' /etc/default/grub
Проверяем сделанные изменения
cat /etc/default/grub | grep GRUB_DEFAULT
Этот вариант подходит если вы не собираетесь обновлять систему и гипервизор. Если вы всё же переодически обновляетесь, тогда используем другую настройку GRUB:
Смотрим содержимое папки «/etc/grub.d/»
ls -1 /etc/grub.d/
Эта папка содержит скрипты, которые при обновлении GRUB (grub update-grub) находят все установленные в системе ядра и формируют меню загрузки (grub.cfg), которое мы и видим.
Для того чтобы в загрузочном меню GRUB приподнять в списке XEN, переименовываем 20_linix_xen в 09_linix_xen
sudo mv /etc/grub.d/20_linux_xen /etc/grub.d/09_linux_xen
Советую проверять все, что делаете:
Не зависимо от выбранного варианта конфигурирования, обновляем GRUB
sudo update-grub
Теперь можно перезагрузить систему и загрузиться в новое ядро xen
sudo reboot
Проверяем
sudo xm info
Проверяем бриджи
sudo brctl show
На этом все. В качестве бонуса выкладываю основные команды для управления виртуальными машинами:
xm console — вызывает первый терминал виртуальной машины
xm create — запускает виртуальную машину на основе конфигурационного файла
xm pause — временно останавливает виртуальную машину
xm unpause — запускает виртуальную машину после остановки
xm save — сохраняет состояние виртуальной машины
xm restore — востанавливает состояние виртуальной машины
xm reboot — перезагружает виртуальную машину
xm shutdown — выключает виртуальную машину
xentop — показывает текущую загрузку всех виртуальных машин
xm list — список запущенных виртуальных машин
xm dmesg — показывает dmesg виртуальной машины
xm delete — удаляет виртуальную машину
xm destroy — принудительно удаляет виртуальную машину Вот собственно и все.
Документация и ссылки по XEN для вкуривания:
- www.xenproject.org/
- xgu.ru/wiki/Xen
- help.ubuntu.com/community/Xen
- help.ubuntu.ru/wiki/xen
- www.youtube.com/watch?v=WpibG1dqOq8
- www.opennet.ru/tips/2647_xen_xcp_xapi_ubuntu_debian_virtual.shtml
- help.ubuntu.com/community/XenProposed
- 7terminals.com/articles/step-by-step-guide-to-setting-up-xen-and-xenapi-xcp-on-ubuntu-12-04-and-managing-it-with-xencenter/
Так-же необходимо внести изменения в Grub
nano /etc/default/grub
Увеличиваем кол-во loop
GRUB_CMDLINE_LINUX=»max_loop=64″