XEN Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:xen [2010/08/23 11:59]
wiki:xen [2012/03/28 22:17] (текущий)
Строка 2: Строка 2:
  
 [[http://​www.xen.org/​|XEN]] — это монитор виртуальных машин или гипервизор с поддержкой паравиртуализации (para-virtualization) для процессоров x86 архитектуры,​ распространяющийся с открытым исходным кодом. Xen может организовать совместное безопасное исполнение нескольких виртуальных машин на одной физической системе с производительностью близкой к непосредственной (native). [[http://​www.xen.org/​|XEN]] — это монитор виртуальных машин или гипервизор с поддержкой паравиртуализации (para-virtualization) для процессоров x86 архитектуры,​ распространяющийся с открытым исходным кодом. Xen может организовать совместное безопасное исполнение нескольких виртуальных машин на одной физической системе с производительностью близкой к непосредственной (native).
 +
 +Ubuntu ориентирована на использование [[KVM]] вместо Xen. KVM считается более перспективным,​ но ещё немного сырым продуктом. Его активно развивает Red Hat, которая тоже перешла на него с Xen в RHEL6. Единственное преимущество Xen над KVM состоит в поддержке паравиртуализации (т. е. виртуализации с внесением изменений в гостевую систему). Стоит заметить,​ что преимущество это довольно весомое,​ и часто позволяет получить производительность намного большую,​ чем полная (аппаратная) виртуализация. Кроме того, паравиртуализация возможна на любом процессоре. А это значит,​ что возможно создать полноценный и довольно производительный сервер виртуализации,​ даже на устаревшем оборудовании.
 +
 +Режим паравиртуализации экономит ресурсы системы в разы по сравнению с полной виртуализацией ([[KVM]]).
 +
 +Стоит отдельно отметить возможность быстрого и легкого "​проброса"​ любых устройств в виртуальную машину. Так например,​ возможен проброс всяческих usb-принтеров и hasp-токенов. Возможен проброс видео-карт и остального оборудования. такой проброс позволит полноценно играть в windows игры на гостевой windows системе (не забывайте,​ что на нее тоже требуется лицензия),​ не перезагружая компьютер.
 +
 +Предвзятое отношение со стороны Canonical к технологиям виртуализации отличным от [[KVM]] совершенно непонятно. Потому как некоторые задачи совершенно не требуют таких расходов на ресурсы,​ какие требуются для [[KVM]]. Полноценное использование [[http://​www.xen.org/​|XEN]] из коробки доступно только с версии 11.10 в связи с тем, что [[http://​www.xen.org/​|XEN]] включен в чистое ядро linux. ​
 +
 +
 ===== Ссылки ===== ===== Ссылки =====
-[[http://​www.xen.org/​|Офицальный сайт XEN]]+[[http://​www.xen.org/​|Официальный сайт XEN]]
  
 [[https://​help.ubuntu.com/​community/​Xen|Документация англоязычного сообщества ​ Ubuntu]] [[https://​help.ubuntu.com/​community/​Xen|Документация англоязычного сообщества ​ Ubuntu]]
Строка 9: Строка 19:
 [[http://​xgu.ru/​wiki/​Xen|Русскоязычная wiki документация]] [[http://​xgu.ru/​wiki/​Xen|Русскоязычная wiki документация]]
  
 +===== Xen на Ubuntu (11.10) шаг за шагом =====
 +==== Первоначальная установка ====
 +
 +  - Проще настройку производить в режиме администратора<​code>​sudo -i</​code>​
 +  - Сразу стоит настроить сеть<​code>​
 +nano /​etc/​network/​interfaces
 +/​etc/​init.d/​networking restart
 +</​code>​
 +  - И удалить Network Manager (иначе он помешает корректной работе сети) ​ (FIXME да ну :​-?​)<​code>​apt-get purge network-manager</​code>​
 +  -  Ставим пакеты<​code>​apt-get install \
 +xen-hypervisor-4.1-amd64 \
 +xen-hypervisor-4.1-i386 \
 +xen-utils-4.1 \
 +xenwatch \
 +xen-tools \
 +xen-utils-common \
 +xenstore-utils
 +</​code>​
 +  - Правим конфиг<​code>​nano /​etc/​xen/​xend-config.sxp</​code>​
 +    - раскомментим<​code>#​(network-script network-bridge)
 +</​code>​
 +   - Так-же необходимо внести изменения в Grub<​code>​nano /​etc/​default/​grub</​code>​
 +     - Увеличиваем кол-во loop<​code>​GRUB_CMDLINE_LINUX="​max_loop=64"</​code>​
 +   - Переименовываем 10_linix_xen в 09_linix_xen<​code>​mv /​etc/​grub.d/​10_linix_xen /​etc/​grub.d/​09_linix_xen</​code>​
 +   - И обновляем <​code>​grub update-grub</​code>​
 +   - Перезагружаем систему <​code>​reboot</​code>​
 +   - Проверяем <​code>​sudo xm info</​code>​ Должна выдать информацию о нашем xen
 +   ​- ​ Проверяем наши бриджи<​code>​sudo brctl show</​code>​
 +==== Настройка xen-tools ==== 
 +=== Создаем Image-Based Virtual Machines === 
 +Правим /​etc/​xen-tools/​xen-tools.conf
 +<​code>#​ Все параметры могут быть изменены флагами командной строки
 +# Расположение файлов xen
 +dir = /​mnt/​xen ​
 + 
 +# Метод установки
 +install-method = debootstrap
 + 
 +# Размер диска по умолчанию
 +size = 2Gb
 + 
 +# Размер памяти по умолчанию
 +memory = 256Mb
 + 
 +# Размер Swap
 +swap = 256Mb
 + 
 +# Тип файловой системы
 +fs = ext3
 + 
 +# Дистрибутив по умолчанию
 +dist = lenny
 +# dist = `xt-guess-suite-and-mirror --suite`
 + 
 +# Тип образа (может быть и full с файловой таблицей)
 +image = sparse
 + 
 +# Настройки сети
 +gateway = 192.168.1.1
 +netmask = 255.255.255.0
 +broadcast = 192.168.1.255
 + 
 +# Ядро
 +kernel = /​boot/​vmlinuz-`uname -r`
 +initrd = /​boot/​initrd.img-`uname -r`
 + 
 +# Адрес репозитория
 +mirror = http://​mirror.yandex.ru/​ubuntu/​
 + 
 +# Параметры к дисковым системам
 +ext3_options = noatime,​nodiratime,​errors=remount-ro
 +ext2_options = noatime,​nodiratime,​errors=remount-ro
 +xfs_options = defaults
 +reiserfs_options = defaults
 +btrfs_options = defaults
 + 
 +serial_device = hvc0 #default
 + 
 +# Наименование диска
 +disk_device = xvda
 + 
 +# Генерировать случайный пароль root или нет
 +genpass=0
 +</​code>​
 +=== Правим /​usr/​bin/​xen-create-image ===
 +В процедуре exportEnvironment закомментируем строчку:​
 +<​code>​
 +# $CONFIG{ '​mirror'​ } = $CONFIG{ $distMirror };
 +</​code>​
 +Это делается для того, чтоб **bootstrap** не игнорировал --mirror. Иначе он начинает пробовать ставить из репозитория,​ из которых ставился dom0. 
 +
 +=== Скрипты инициализации для xen-tools ===
 +Хранятся в /​usr/​lib/​xen-tools. Особенно интересным будет /​usr/​lib/​xen-tools/​lenny.d/​20-setup-apt.
 +
 +В /​usr/​lib/​xen-tools/​lenny.d/​20-setup-apt можно добавить что-то типа:
 +<​code>​
 +deb ${mirror} ${dist}-backports main multiverse restricted universe
 +deb ${mirror} ${dist}-proposed main multiverse restricted universe
 +deb ${mirror} ${dist}-security main multiverse restricted universe
 +deb ${mirror} ${dist}-updates main multiverse restricted universe
 +deb ${mirror} ${dist} main multiverse restricted universe
 +</​code>​
 +В /​usr/​lib/​xen-tools/​squeeze.d/​20-setup-apt можно добавить что-то типа:
 +<​code>​
 +deb ${mirror} ${dist}-proposed-updates contrib main non-free
 +deb ${mirror} ${dist}-updates contrib main non-free
 +deb ${mirror} ${dist} contrib main non-free
 +</​code>​
 +==== Создаем структуру каталогов ====
 +<​code>​mkdir -p /​mnt/​xen/​cfg /​mnt/​xen/​domains /​mnt/​xen/​skel</​code>​
 +
 +==== Создаем нашу первую виртуальную машину ====
 +<​code>​
 +xen-create-image --pygrub \
 +--password="​123456"​ \
 +--hostname=testServer \
 +--size=4G \
 +--swap=256Mb \
 +--ip=192.168.1.155 \
 +--memory=512Mb \
 +--arch=amd64 \
 +--role=udev \
 +--dist=lenny \
 +--mirror="​http://​mirror.yandex.ru/​ubuntu"​
 +
 +mv /​etc/​xen/​testServer.cfg /​mnt/​xen/​cfg/​
 +xm create /​mnt/​xen/​cfg/​testServer.cfg
 +xm console testServer</​code>​
 +Как мы видим: в командной строке копируются параметры из /​etc/​xen-tools/​xen-tools.conf.
 +Сделала это специально,​ чтоб указать что задавать оные можно и там и здесь. Приоритет имеют параметры из строки.
 +==== Управление ====
 +Управление виртуальными машинами осуществляем через **xm**.
 +<​code>​
 +# Например
 +xm list
 +xm destroy vitDom11
 +xm create /​mnt/​xen/​cfg/​virtDom111.cfg
 +xm console virtDom111
 +</​code>​
  
 {{tag>​Виртуализация Администрирование FIXME}} {{tag>​Виртуализация Администрирование FIXME}}
 +