Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:xen [2012/03/26 18:22] [Ссылки] |
wiki:xen [2012/03/28 22:17] (текущий) |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
[[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 состоит в поддержке паравиртуализации (т. е. виртуализации с внесением изменений в гостевую систему). Стоит заметить, что преимущество это довольно весомое, и часто позволяет получить производительность намного большую, чем полная (аппаратная) виртуализация. Кроме того, паравиртуализация возможна на любом процессоре. | + | 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]] | ||
Строка 11: | Строка 19: | ||
[[http://xgu.ru/wiki/Xen|Русскоязычная wiki документация]] | [[http://xgu.ru/wiki/Xen|Русскоязычная wiki документация]] | ||
- | ===== Xen on Ubuntu (11.10) step by step ===== | + | ===== Xen на Ubuntu (11.10) шаг за шагом ===== |
==== Первоначальная установка ==== | ==== Первоначальная установка ==== | ||
- | <code> | ||
- | # Проще настройку производить под админом | ||
- | sudo -i | ||
- | # Сразу стоит настроить сеть | + | - Проще настройку производить в режиме администратора<code>sudo -i</code> |
+ | - Сразу стоит настроить сеть<code> | ||
nano /etc/network/interfaces | nano /etc/network/interfaces | ||
/etc/init.d/networking restart | /etc/init.d/networking restart | ||
- | + | </code> | |
- | # И удалить манагер | + | - И удалить Network Manager (иначе он помешает корректной работе сети) (FIXME да ну :-?)<code>apt-get purge network-manager</code> |
- | # Иначе он помешает корректной работе сети | + | - Ставим пакеты<code>apt-get install \ |
- | apt-get purge network-manager | + | |
- | + | ||
- | # Ставим пакеты | + | |
- | apt-get install \ | + | |
xen-hypervisor-4.1-amd64 \ | xen-hypervisor-4.1-amd64 \ | ||
xen-hypervisor-4.1-i386 \ | xen-hypervisor-4.1-i386 \ | ||
Строка 33: | Строка 35: | ||
xen-tools \ | xen-tools \ | ||
xen-utils-common \ | xen-utils-common \ | ||
- | xenstore-utils | + | xenstore-utils |
- | + | ||
- | # Правим конфиг | + | |
- | nano /etc/xen/xend-config.sxp | + | |
- | #открываем /etc/xen/xend-config.sxp и раскомментим | + | |
- | #(network-script network-bridge) | + | |
- | + | ||
- | # Так-же необходимо внести измения в груб | + | |
- | + | ||
- | # Увеличиваем кол-во loop | + | |
- | # правим /etc/default/grub | + | |
- | # GRUB_CMDLINE_LINUX="max_loop=64" | + | |
- | + | ||
- | # Переименовываем 10_linix_xen в 09_linix_xen | + | |
- | mv /etc/grub.d/10_linix_xen /etc/grub.d/09_linix_xen | + | |
- | + | ||
- | # И обновляем grub | + | |
- | update-grub | + | |
- | + | ||
- | # Перезагружаем систему | + | |
- | reboot | + | |
- | + | ||
- | # Проверяем | + | |
- | sudo xm info | + | |
- | # Должна выдать информацию о нашем xen | + | |
- | + | ||
- | # Проверяем наши бриджи | + | |
- | sudo brctl show | + | |
</code> | </code> | ||
- | + | - Правим конфиг<code>nano /etc/xen/xend-config.sxp</code> | |
- | + | - раскомментим<code>#(network-script network-bridge) | |
- | ==== Настрока xen-tools ==== | + | </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 === | === Создаем Image-Based Virtual Machines === | ||
Правим /etc/xen-tools/xen-tools.conf | Правим /etc/xen-tools/xen-tools.conf | ||
Строка 74: | Строка 57: | ||
install-method = debootstrap | install-method = debootstrap | ||
- | # Размер диска поумолчанию | + | # Размер диска по умолчанию |
size = 2Gb | size = 2Gb | ||
- | # Размер памяти поумолчанию | + | # Размер памяти по умолчанию |
memory = 256Mb | memory = 256Mb | ||
Строка 86: | Строка 69: | ||
fs = ext3 | fs = ext3 | ||
- | # Дистрибутив поумолчанию | + | # Дистрибутив по умолчанию |
dist = lenny | dist = lenny | ||
# dist = `xt-guess-suite-and-mirror --suite` | # dist = `xt-guess-suite-and-mirror --suite` | ||
- | # Тип имиджа (может быть full с файловой таблицей) | + | # Тип образа (может быть и full с файловой таблицей) |
image = sparse | image = sparse | ||
Строка 102: | Строка 85: | ||
initrd = /boot/initrd.img-`uname -r` | initrd = /boot/initrd.img-`uname -r` | ||
- | # Адрес Репы | + | # Адрес репозитория |
mirror = http://mirror.yandex.ru/ubuntu/ | mirror = http://mirror.yandex.ru/ubuntu/ | ||
Строка 120: | Строка 103: | ||
genpass=0 | genpass=0 | ||
</code> | </code> | ||
- | === Правим кривоЖопый /usr/bin/xen-create-image === | + | === Правим /usr/bin/xen-create-image === |
- | В процедуре exportEnvironment комментим строчку: | + | В процедуре exportEnvironment закомментируем строчку: |
<code> | <code> | ||
# $CONFIG{ 'mirror' } = $CONFIG{ $distMirror }; | # $CONFIG{ 'mirror' } = $CONFIG{ $distMirror }; | ||
</code> | </code> | ||
- | Это делается для того, чтоб **bootstrap** не игнорировал --mirror. Иначе он начинает пробовать ставить из репов, из которых ставился dom0. | + | Это делается для того, чтоб **bootstrap** не игнорировал --mirror. Иначе он начинает пробовать ставить из репозитория, из которых ставился dom0. |
=== Скрипты инициализации для xen-tools === | === Скрипты инициализации для xen-tools === | ||
- | Хранятся в /usr/lib/xen-tools. Особенно интересныйм будет /usr/lib/xen-tools/lenny.d/20-setup-apt. | + | Хранятся в /usr/lib/xen-tools. Особенно интересным будет /usr/lib/xen-tools/lenny.d/20-setup-apt. |
- | В /usr/lib/xen-tools/lenny.d/20-setup-apt можно добавить что-нить типа: | + | В /usr/lib/xen-tools/lenny.d/20-setup-apt можно добавить что-то типа: |
<code> | <code> | ||
deb ${mirror} ${dist}-backports main multiverse restricted universe | deb ${mirror} ${dist}-backports main multiverse restricted universe | ||
Строка 138: | Строка 121: | ||
deb ${mirror} ${dist} main multiverse restricted universe | deb ${mirror} ${dist} main multiverse restricted universe | ||
</code> | </code> | ||
- | В /usr/lib/xen-tools/squeeze.d/20-setup-apt можно добавить что-нить типа: | + | В /usr/lib/xen-tools/squeeze.d/20-setup-apt можно добавить что-то типа: |
<code> | <code> | ||
deb ${mirror} ${dist}-proposed-updates contrib main non-free | deb ${mirror} ${dist}-proposed-updates contrib main non-free | ||
Строка 147: | Строка 130: | ||
<code>mkdir -p /mnt/xen/cfg /mnt/xen/domains /mnt/xen/skel</code> | <code>mkdir -p /mnt/xen/cfg /mnt/xen/domains /mnt/xen/skel</code> | ||
- | ==== Создаем нашу первую виртуалочку ==== | + | ==== Создаем нашу первую виртуальную машину ==== |
<code> | <code> | ||
xen-create-image --pygrub \ | xen-create-image --pygrub \ | ||
Строка 164: | Строка 147: | ||
xm create /mnt/xen/cfg/testServer.cfg | xm create /mnt/xen/cfg/testServer.cfg | ||
xm console testServer</code> | xm console testServer</code> | ||
- | Как мы видим: в коммандной строчке копируются параметры из /etc/xen-tools/xen-tools.conf. | + | Как мы видим: в командной строке копируются параметры из /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}} | ||