Автор: Xen-Users Common Questions Guide
Перевод: Сгибнев Михаил
Введение
Этот документ родился в ходе усилий сообщества Xen.org по анализу задаваемых вопросов в списке рассылки xen-users и призван помочь как новым так и опытным пользователям гипервизора Xen в решении наиболее часто возникающих проблем. Если вам есть, что добавить к этому документу, сообщите об этом на адрес stephen.spector@xen.org.
Те пользователи, которые интересуются Xen, но не хотят его устанавливать, могут воспользоваться Live CD версией, доступной по адресу http://wiki.xensource.com/xenwiki/LiveCD.
Где могут вам помочь
Сайты, посвященные гипервизору Xen:
- xen-users mailing list — http://lists.xensource.com/mailman/listinfo/xen-users
- IRC Freenode on ##xen & 2 years searchable data — http://www.zentific.com/irclogs/
- Xen 3.0 Documentation — http://bits.xensource.com/Xen/docs/user.pdf
- Stack Oveflow — http://stackoverflow.com/
- Complete email history of all xen mailing lists – http://xen.markmail.org
- Language Specific Support
- Japanese — http://lists.xensource.com/mailman/listinfo/xen-japanese
- Italian — http://forum.xen-it.org/
- Portuguese — http://groups.google.com/group/xen-br
Ссылки на руководства
Xen.org поддерживает Wiki, именуемое “HowTo Page”, и содержащее различные руководства, доступные по адресу http://wiki.xensource.com/xenwiki/HowTos. Обновление статей в Wiki приводит к созданию новых руководств.
Примерами руководств внутри Wiki могут служить:
- Xen Networking — http://wiki.xensource.com/xenwiki/XenNetworking
- Xen Ubuntu Breezy — http://wiki.xensource.com/xenwiki/UbuntuBreezyHowTo
- Xen FreeBSD — http://wiki.xensource.com/xenwiki/FreeBSDdomU
Внешними руководствами могут служить:
- Adding USB Devices to Xen HVM
- PDF Running Xen Tutorial/li>
- Xen Dom0 Root FileSystem over NFS
- Xen on Fedora
- Create and Install CentOS on Xen
- http://www.virtuatopia.com/index.php/Configuring_a _VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest
Гостевые системы:
Конвертирование образов
Q (G1.0): Как конвертировать Centos HVM Guest в PV Guest?
A (G1.0): Создайте Centos HVM domU с драйвером PV: http://pastebin.com/fb6fe631 Сконвертируйте HVM guest в PV guest: http://pastebin.com/f6a5022bf
Если вы все сделали согласно этим руководствам, то должны получить работающий PV domU. Если в процессе конвертации что-то пошло не так, то вы все еще можете загрузить HVM domU, выбрав non-xen kernel (вторая запись) из grub menu.list.
Консоль
Q (G2.0): У меня есть образ виртуальной машины Xen, использующий графическую консоль (VNC). Есть ли способ использовать текстовую консоль (xen console)?
A (G2.0): Для гостевой машины HVM, вам необходимо включить серийный порт в файле конфигурации domU (пример можно посмотреть здесь) и указать domU использовать этот порт (ttyS0 в Linux), внеся изменения (для Linux domU) в файлы /boot/grub/menu.lst, /etc/inittab и /etc/securetty.
В случае гостевой машины PV, вам необходимо указать domU использовать консоль xen (в текущей версии xen именуемой xvc0, hvc0 в ядре pv_ops). Таким образом мы поднимем в domU консоль на серийном порту, но необходимо будет заменить ttyS0 на hvc0. С примером, показывающим работу с xvc0 и vnc, можно ознакомиться здесь.
Q (G2.1): Как мне удалить активную виртуальную машину?
A (G2.1): xm shutdown или xm delete
Q (G2.2): Как мне запустить xm console в WindowsXP DomU?
A (G2.2): Этого нельзя сделать
Драйверы
Q (G3.0): Что такое драйверы GPLPV и где их взять?
A (G3.0): Это коллекция open source драйверов для Window PV, позволяющая произвести пара-виртуализацию. В настоящее время разработкой руководит Джеймс Харпер (James Harper). Дополнительную информацию можно получить по адресу:
- http://wiki.xensource.com/xenwiki/XenWindowsGplPv/Installing
- http://lists.xensource.com/archives/html/xen-users/2009-04/msg00058.html
- http://meadowcourt.org/downloads/
Domain0
Q (G4.0): Почему я не могу видеть всю свою оперативную память на моем Dom0?
A (G4.0): Domain 0 — это паравиртуальная машина в реальной, поэтому сколько вы назначили, столько вы и увидите, используя локальный инструментарий типа free, /proc/meminfo, top, etc.
Для просмотра системных параметров вам необходимо воспользоваться утилитой xm, в данном случае — xm info.
Кроме того, если у вас в системе более 16GB (но, вы, вероятно, об этом знаете), а ядро не использует PAE (в случае 32bit Xen), то вы увидите только 4GB.
Q (G4.1): Есть способ посмотреть DomUґs I/O из Dom0?
A (G4.1): iostat (Debian: sysstat-package)
Q (G4.2): Я могу назначить один из CPU только для Dom0?
A (G4.2): Добавьте это к строке загрузки ядра — dom0_max_vcpus=1 & dom0_vcpus_pin
Отредактируйте /etc/xen/xend-config.sxp — установите “(dom0-cpus 1)”
Перезагрузите Dom0
Чтобы обойтись без перезагрузки — xm vcpu-set 0 1 xm vcpu-pin 0 0 0
DomainU
Q (G5.0): Мой DomU не запускается! Виснет где-то посередине между жизнью и смертью…
$ sudo xm console test
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Xen virtual console successfully installed as xvc0 Event-channel device installed. netfront: Initialising
virtual ethernet driver. i8042.c: No controller found. mice: PS/2 mouse device common for all mice
TCP bic registered NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI No-Shortcut mode xen-vbd: registered block device major 8 blkfront: sda2: barriers enabled
5
XENBUS: Device with no driver: device/console/0 Freeing unused kernel memory: 140k freed
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
***************************************************************
***************************************************************
** WARNING: Currently emulating unsupported memory accesses **
** in /lib/tls glibc libraries. The emulation is **
** slow. To ensure full performance you should **
** install a 'xen-friendly' (nosegneg) version of **
** the library, or disable tls support by executing **
** the following as root: **
** mv /lib/tls /lib/tls.disabled **
** Offending process: modprobe (pid=663) **
***************************************************************
***************************************************************
Continuing...
A (G5.0): Вполне вероятно, что у вас нет физической консоли VPS и VPS загружается,но вы этого не видите. Проверить это предположение можно так:
Сперва убедитесь в том, что VPS имеет устройство «console» в каталоге /dev. Подмонтируйте файловую систему domU к dom0, перейдите в каталог /dev и выполните команду:
/dev/MAKEDEV console
Если вы используете современное ядро и гипервизор Xen проверьте параметры в файле начального запуска. Необходимо наличие следующей опции:
extra = "4 TERM=xterm xencons=tty console=tty1"
Проверьте, будет ли загружаться ваша система после проведенных изменений. Так же необходимо убедиться в наличии подходящей вашей версии xen библиотеки libc6 (в Debian вы можете сделать «apt-get install libc6-xen»).
Q (G5.1): Как установить ограничения планировщика и веса domU в конфигурационном файле domU?
A (G5.1): Параметр weight= в файле конфигурации xm будет работать, если вы не используете RHEL или CentOS.
Q (G5.2): Как мне запустить приложение в DomU?
A (G5.2): Странный вопрос. Войдите в консоль виртуальной машины и делайте что хотите.
Q (G5.3): Мои domUs постоянно имеют статус ‘b’ (blocked) в выводе команды ‘xm list’, но при этом всё работает. Ну скажите, это нормально?
A (G5.3): Это нормально, если гостевой домен не нагружен работой. Можно провести аналогию между обычным процессом, находящимся в нормальном режиме блокировки при ожидании ввода пользователем какой-либо команды. Если заставить процессор поработать, то вы увидите изменение состояния виртуальной вашины на running.
Q (G5.4): Я могу назначить имя машины domU из скрипта network-common?
A (G5.4): hostname=$(xenstore_read «$XENBUS_PATH/domain» | tr — ‘_.:/+’ ‘——‘)
Вопросы инсталляции
Файловая система
Q (I1.0): Можно ли иметь иметь общую корневую файловую систему для нескольких серверов Xen?
A (I1.0): Вы можете установить OS в раздел LVM и использовать его между всеми domU, указывая ‘r’ вместо ‘w’ при определении диска. Но так как корневая файловая система будет примонтирована только для чтения, нам необходимо будет организовать ramfs для /tmp и /var.
Я использую в Xen два диска, один из которых примонтирован только для чтения в качестве корневого раздела, а второй используется для данных. У меня есть необходимость в разделах, содержащих предустановленное ПО, поэтому я создаю логический том и помещаю на него необходимую информацию например, программное обеспечение и т.д.,), затем создают снапшот этого тома и монтирую его с правами rw на машину xen. Таким образом у меня всегда есть «эталонный» раздел с предустановленным ПО и даже в случае неких катаклизмов возможно полное восстановление.
Q (I1.1): Я установил два web-сервера Debian, на каждом из которых живет форум phpbb3. Один из серверов представляет собой паравиртуальную машину domU (512 MB of ram, 1 vcpu, образ диска file:/home/vale/debian.img,hda,w), в качестве корневой системы выступает OpenSuse 11.0. Второй сервер представляет собой виртуальную машину hyper-v (512 MB 1 cpu) в окружении Windows Server 2008 R2. Производительность PV по сравнению с hyper-v очень мала.
Почему?
Я установил гостевую ОС как HVM домен, затем установил файлы linux-xen-image и libc6-xen.
Файл конфигурации Xen PV:
name='pv'
ramdisk='/home/vale/initrd.img-2.6.18-6-xen-686'
kernel='/home/vale/vmlinuz-2.6.18-6-xen-686'
bootloader=''
vif=['mac=00:16:3e:33:37:4f, bridge=xenbr0']
vcpus=1
memory=512
disk=['file:/home/vale/pv.img,hda,w']
on_reboot='restart'
on_crash='restart'
extra=''
root='/dev/hda1'
platform='xen'
A (I1.1): Всё дело в том, что phpBB3 очень активно использует операции ввода/вывода (если вы используете базу данных, установленную на той же машине). Вашей ошибкой было использование:
disk=['file:/home/vale/pv.img,hda,w']
В Xen использование file:/ в качестве образа виртуальной машины не рекомендуется, лучше воспользоваться tap:aio:/, хотя с мест сообщают, что и это не самое лучшее решение.
Если коротко, то для хранения образов виртуальных лучше всего использовать раздел LVM.
Q (I1.2): Возможен ли запуск виртуальной машины, содержащей только gpxe (после старта образ виртуальной машины будет получен с другого
сервера)?
A (I2.2): Имеется руководство по настройке окружения PXE boot для корневого хоста Xen (hypervisor + dom0) и гостевого хоста Xen, как PV (Para-Virtualized) так и HVM (Hardware-assisted Virtual Machine). Ознакомиться с ним вы можете здесь.
Вопросы работы сети
Мост
Q (N1.0): Какой механизм использует Xen для обработки пакетов, приходящих с различных VM, при отправке их
к месту назначения?
A (N1.0): Никакой. Xen этим не знанимается. Это задача ОС, используемой в качестве dom0.
В случае Linux dom0: http://www.linuxfoundation.org/en/Net:Bridge
В случае opensolaris dom0: http://opensolaris.org/os/project/crossbow/
Определение IP
Q (N2.0): Я хочу знать IP, назначенный VM в XEN.. Любым способом, но без входа в систему этой VM..
A (N2.0): Найдите mac-адрес domU. Это просто, если domU использует статический MAC).
Простым способом получения IP-адреса будет изучение файла конфигурации domU или выполнение команды:
xm network-list domU_name
Где вас должна заинтересовать строка:
Idx BE MAC Addr. handle state evt-ch tx-/rx-ring-ref BE-path 0 0 00:16:3E:F7:D6:E7 0 4
6 16238/16237 /local/domain/0/backend/vif/163/0
Теперь, когда у вас есть MAC адрес, можно найти и IP адрес, выполнив команду tcpdump на интерфейсе eth0 корневого хоста:
# tcpdump -n -i eth0 ether src 00:16:3e:f7:d6:e7
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:54:56.419482 IP 10.0.0.10 > 10.0.0.1: ICMP echo reply, id 5443, seq 1, length 64 15:54:57.422349
IP 10.0.0.10 > 10.0.0.1: ICMP echo reply, id 5443, seq 2, length 64
IP-адрес нашего домена — 10.0.0.10.
NAT
Q (N3.0): Я никак не могу сконфигурировать NAT на dom0. Исходящий от domU трафик отправляется с оригинальным domU IP-адресом, вместо IP-адреса dom0 и запросы не возвращаются в domU.
A (N3.0): Вы забыли применить маскарадинг. Используйте следующую команду:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
SSL/VPN
Q (N4.0): У меня не получается использовать openvpn на гостевой машине Xen, не загружается модуль tun.
A (N4.0): Требования openvpn к ОС, находящейся в domU, идентичны к требованиям обычной ОС. Если вы не можете загрузить какой-либо модуль, то вам необходимо использовать ядро с поддержкой этого модуля.
В качестве альтернативы, можете скомпилировать ядро с поддержкой tun/tap.
Вопросы отказоустойчивости
Сервисы
Q (HA1.0): Какое ПО существует для Xen, предназначенное для обеспечения отказоустойчивости?
A (HA1.0): Есть несколько инструментов:
- CentOS Cluster
- Project Kemari — http://www.osrg.net/kemari/
- Project Remus — http://blog.xen.org/index.php/2009/04/02/project-remus-released/
- Linux Cluster Resource Manager — http://clusterlabs.org/mediawiki/images/f/fb/Configuration_Explained.pdf
Разное
Вложенный Xen
Q (D1.0): Я могу запустить Xen в виртуальной машине Xen?
A (D1.0): Да. Вы можете установить Xen на базовую систему, создать домен HVM и в нем опять установить Xen. Обратите внимание, что внутренний Xen пока не поддерживает HVM.
Как работает Xen
Q (D3.0): Как Xen делает системные вызовы на паравиртуальной машине?
A (D3.0): Прим. переводчика. Я ничего не понял, что там объяснялось, в виду отсутствия специфических знаний. Тот, кому может это понадобиться, прочтет и оригинал, я думаю.
Q (D3.1): Как Xen делает системные вызовы на виртуальной машине (HVM)?
A (D3.1): Для HVM domU нет никаких изменений в поведении системных вызовов. HVM поддерживается только для процессоров Intel-VT and AMD-SVM, так как они поддерживают виртуализацию. Такие процессоры создают новое кольцо (Root-Ring 0) с более высокой привилегией для VMM и гостевая ОС работает с теми же самыми привелегиями (как и без Xen) в Non-Root Ring 0. Таким образом, системные вызовы гостевой ОС ведут себя как обычно.
Q (D3.2): Я могу использовать в качестве DomU операционные системы, отличные от Dom0??
A (D3.2): Да.
[ad name=»Google Adsense»]
Уважайте труд автора, сохраняйте копирайты.
Реклама на сайте висит не просто так и если статья Вам понравилась, с ее помощью Вы можете отблагодарить автора за проделанную работу. Спасибо!
спасибо большое! отличная статья, отличный перевод!
Попробуйте распечатать эту страницу. Цитирую:
A (G2.0): Для гостевой машины HVM, вам необходимо включить серийный порт в файле конфигурации domU (пример можно посмотреть здесь)
Где здесь? На бумаге будет ссылка?
Хм. Откройте предварительно ссылку и распечатайте указанный на ней листинг. Если в оригинале листинга нет, то он здесь так же не появится.
Уважаемые разработчики Xen и все кто интересуется Xen.
Открылись интересные вакансии для Xen разработчиков. ЗП от 70 000.
Информация о вакансиях по ссылкам
http://hh.ru/vacancy/4717877
http://hh.ru/vacancy/4739529
Пишите на мыло ragingblizzard@gmail.com
Спасибо за внимание.
Уважаемые администраторы сайта не удаляйте, пожалуйста, данное сообщение, это не спам, большое спасибо.
Уважаемые разработчики и администраторы Linux/Openfiler/Xen.
Открылись интересные вакансии для специалистов. ЗП от 90 000.
Информация о вакансиях по ссылкам:
http://hh.ru/vacancy/4717877
http://hh.ru/vacancy/4739529
http://hh.ru/vacancy/4763698
http://hh.ru/vacancy/4776329
Пишите на мыло ragingblizzard@gmail.com
Спасибо за внимание.
Уважаемые администраторы сайта не удаляйте данное сообщение, пожалуйста, это не спам, большое спасибо.