Xen FAQ

Материал из Xgu.ru

(Перенаправлено с XenFaq)
Перейти к: навигация, поиск


Перевод: Игорь Чубин


Содержание

[править] Общая информация

[править] Что такое Xen?

Xen — это монитор виртуальных машин (virtual machine monitor, VMM) для компьютеров x86 архитектуры. Xen может безопасно выполнять на отдельной физической системе со скоростью близкой к скорости непосредственного исполнения несколько виртуальных машин, каждая из которых выполняет собственную ОС.

[править] Какая лицензия у Xen?

Xen — это приложение с открытым исходным кодом (Open Source). Оно распространяется по условиям лицензии GNU GPL (GNU General Public License). Операционные системы или любые другие приложения, использующие интерфейс гипервызовов Xen не основаны на Xen, поэтому могут лицензироваться иначе.

[править] Какие операционные системы работают под Xen?

Для достижения высокой производительности операционной системы при работе в домене Xen, нужно чтобы она была портирована под Xen. См. страницу «Поддержка Xen операционными системами».

[править] Поддерживает ли Xen Microsoft Windows?

Паравиртуализация, которая позволила добиться столь высокой производительности, не может использоваться для Windows в настоящий момент. Однако в Xen 3.0 добавилась поддержка аппаратной виртуализации с использованием архитектурных расширений центрального процессора (Intel VT-x), что позволяет запускать и выполнять в Xen немодифицированные операционные системы, включая Windows XP и Windows 2003 server. Xen 3.0.2 и более поздние поддерживают так же технологию Pacifica (аналог Intel VT-x от AMD).

Если процессор поддерживает аппаратную виртуализацию, он должен быть указан в списке HVM Compatible Processors, а материнская плата в списке HVM Compatible Motherboards.

Note-icon.gif

Это не означает, что абсолютно любая ОС будет работать в режиме HVM. Неоднозначная ситуация с *BSD; уверенно запускается и работает только OpenBSD. Как работает FreeBSD зависит от типа процессора: на AMD она запускается нормально, на Intel — проблемы при запуске загрузчика (см. «FreeBSD в Xen»).

[править] Работает ли Xen на ноутбуках?

Xen, как правило, работает на ноутбуках, но в настоящий момент нет поддержки APM и ACPI, поэтому будет наблюдаться сокращение жизни батареи и не будет поддерживаться suspend/resume.

Есть надежда, что поддержка ACPI появится в будущем. Она будет основываться на существующей поддержке ACPI, которая есть в Linux.

[править] Какие архитектуры поддерживает Xen?

В настоящий момент Xen работает только на архитектуре x86 и требует процессор «P6» или новее (это любой процессор x86 Intel или AMD, купленный в течение последних пяти лет). Поддерживаются многопроцессорные машины, включая базовую поддержку hyper-threading'а (SMT). Поддержка x86/64 доступна начиная с Xen 3.0. Кроме того, близится к завершению портирование на IA64. Есть надежда, что в будущем появится поддержка архитектур PPC и ARM.

[править] 32 бита и 64 бита

Icon-caution.gif

Ответ в процессе написания.

Вопросы связанные с поддержкой 32 и 64 битов сложнее, чем можно подумать. Во-первых, есть 32 бита, 32 бита с поддержкой PAE и 64 бита. Есть железо, гипервизор, ядро dom0, программы работающие в пространстве пользователя в домене 0, ядро domU и программы работающие в пространстве пользователя в домене U.

В 3.1.0 cуществует так называемый 32-on-64 режим исполнения, который, предположительно, должен позволять 32-битным системам с поддержкой PAE работать в 64-битной среде.


                    32bit Dom0         64bit Dom0         
------------------------------------------------------------------------------
32bit PV DomU       Yes                Kernel must be 64bit, but userland may be 32bit
64bit PV DomU       No                 Yes
32bit HVM DomU      Yes                Yes
64bit HVM DomU      No                 Yes

[править] Запуск Xen

[править] Xen выдает ошибку... (вывод на консоль, начинающийся с "(XEN)")

(XEN) Initial guest OS requires too much space
(XEN) (8MB is greater than 0MB limit)

Убедитесь, что вы правильно указали параметр dom0_mem при запуске Xen. В новых версиях можно указывать единицы измерения, например, dom0_mem=512M, а в более старых можно указывать только размер памяти в килобайтах, например: dom0_mem=524288.

(Вы должны оставить немного памяти для самого Xen. В вышеприведённом примере предполагается, что у вас больше чем 512M в системе; если проблемы сохранились, попробуйте уменьшить объём памяти дальше).

[править] Как скрыть PCI-устройство от домена 0?

В Xen 2.x для того чтобы скрыть одно или больше устройств в домене 0, можно добавить параметр physdev_dom0_hide (см. XenBooting (англ.)), и эти устройства могут быть использованы в domU.

Наименования PCI-слотов должны быть в такой форме:

    (nn:nn.n) 

то есть:

     (03:06.1) - правильно;
     (03:6.1)  - НЕ правильно;

Определить адрес PCI-устройства в Linux можно с помощью команды lspci:

%# lspci | grep Ethernet
0000:02:03.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
0000:02:03.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (Copper) (rev 01)

После этого:

  • для того чтобы скрыть второй сетевой интерфейс от домена 0, нужно добавить параметр physdev_dom0_hide=(02:03.1) в качестве аргумента для /boot/xen-2.0.gz
  • для того чтобы скрыть несколько PCI-устройств, нужно просто перечислить друг за другом адреса слотов, которые должны быть скрыты: physdev_dom0_hide=(02:03.0)(02:03.1)

Если всё работает правильно, после перезагрузки при загрузке Xen (или в выводе xm dmesg) вы должны увидеть строки:

(XEN) Hiding PCI device 02:03.0 from DOM0
(XEN) Hiding PCI device 02:03.1 from DOM0

[править] Сообщение об ошибке, что устройство смонтировано, когда оно не смонтировано; зомби-домен, который нельзя убить; domU подвисающий при активном вводе/выводе

Это нерешённая проблема в Xen 3.0.

Можно попробовать:

  • передать nousb ядру dom0 [1](англ.);
  • передать ignorebiostables ядру dom0 [2](англ.);
  • отключить IRQ affinity для систем 1850/2850 [3](англ.).
  • перезапустить домены (/etc/init.d/xendomains restart)

Подробнее: обсуждение в списке рассылки xen-users (англ.).

[править] Не стартует xserver

Fatal server error:
xf86MapVidMem: Could not mmap framebuffer (0xfdbf0000,0x10000) (Invalid argument)

Данная проблема наблюдается только в 86_64 системах с RAM > 1 Gb. Для решения проблемы в menu.lst к ядру добавляем параметр dom0_mem=512M проблема с xserver решится, если указать параметр больше 1 Гб проблема возвращается. При тестировании использовался дистрибутив Debian lenny

[править] xen не загружается, grub выдает Error 13

Booting 'Debian GNU/Linux, kernel ...'
root (hd0,0)
   Filesystem type is ext2fs, partition type 0x83

kernel      /boot/vmlinuz-2.6.x-x-xen-...    root=/dev/sdX ro quiet
Error 13:  Invalid or unsupported executable format

Press any key to continue...

Вы выбираете неверную запись для загрузки dom0, нужно выбрать в grub запись что начинается с Xen 3.2. Причиной этой ошибки является update-grub, который запускается во время установки с репозиториев и проверяет наличие новых ядер при этом автоматически их добавляет в menu.lst. Желательно все записи относящиеся к vmlinuz-2.6.x-x-xen-... закоментировать или удалить.

[править] Проблемы с сетью

[править] Что такое veth, vif и xenbr0?

Прочитайте страничку «Сеть в Xen» или XenNetworking (англ.).

[править] Почему я не могу зайти с помощью ssh и даже пропинговать новый домен?

В конфигурации по умолчанию работа сети основывается на работе bridge-utils в домене 0.

Если запустить в домене 0 ifconfig, после того как создан новый домен (например, домен 1), можно увидеть интерфейс с именем наподобие vif1.0. С помощью команды

%#  brctl show xen-br0

можно посмотреть, как подключен интерфейс домена к мосту внутри домена 0.

После всего этого, можно подключиться к консоли домена с помощью команды

  xm console

и посмотреть, какой IP-адрес установлен на сетевом интерфейсе домена с помощью таких интерфейсов как ip, ifconfig и route.

[править] Почему мой новый домен не получает сетевого трафика до тех пор пока он сам не не инициирует исходящее соединение?

Проблема может проявиться при следующих обстоятельствах:

  • Вы не указали MAC-адрес при создании домена, и он выбрался автоматически.
  • У маршрутизатора более высокого уровня есть локальный ARP-кэш.

Когда домен завершается, хост-система очищает кэш от записи соответствующей нерабочему интерфейсу. Когда домен создаётся снова он получает случайный MAC-адрес. Для хост-машины это не проблема, но внешний коммутатор/маршрутизатор знает прошлый адрес. Коммутатор/маршрутизатор должен получить исходящий пакет от домена, для того чтобы удалить старую ARP-запись. Это не проблема Xen, это просто особенности реализации ARP.

Решение проблемы: или вручную указать MAC-адрес в конфигурационном файле виртуальной машины, или перейти на дерево 2.0-testing, где проблема решена. Проблема решена в релизе 2.0.4.

[править] Как побороть проблемы MTU, связанные с сообщением "Received packet needs 8 bytes more headroom" в dmesg или /var/log/messages?

Проблему можно обойти так: уменьшить MTU на eth0 в домене 0.

  ifconfig eth0 mtu 1400

Эту команду нужно добавить в скрипты настройки сети, например, в /etc/sysconfig/network/ifcfg-eth0 для RedHat-подобных систем ([4], англ.) или в /etc/network/interfaces для Debian-подобных систем (см. man interfaces).

Решение для проблемы предложено в виде фикса в testing-дереве кода.

Оно касается только ядер dom0, собранных с конфигурацией -xen, а не -xen0.


См. также [5] (англ.).

[править] Ошибки контрольных сумм TCP и UDP, пинг идёт но не более, IPSec туннели не поднимаются, трансляция DNAT не работает

Попробуйте запустить такую команду в каждом домене:

%# ethtool -K eth0 tx off

Эта команда отключает контрольные суммы при передаче.

Для того чтобы проверить проблемы с контрольными суммами, нужно использовать tcpdump:

%# tcpdump -vv -n -i eth0

Дополнительная информация: [6] (англ).

Может работать, а может и не работать.

Патч для network-bridge: [7]

[править] Xen и Shorewall

Есть документы, посвящённые настройке Shorewall в домене 0:

[править] Слишком много виртуальных сетевых интерфейсов vethX и vif0.X

По умолчанию создаётся 8 интерфейсов vethX и 8 интерфейсов vif0.X. Это интерфейсы "пустышки", они не потребляют ресурсов, но засоряют список системных интерфейсов.

Если нужно создать определённое количество таких сетевых интерфейсов, ядру, при его загрузке, нужно передать параметр netloop.nloopbacks=NUMBER.

[править] Я не могу сделать больше чем три интерфейса в domU

Это ограничение Xen 3.0. В более новых версиях (3.1) допускается до 8 сетевых интерфейсов в домене. Но это должно поддерживать и ядро, которое запускается в домене.

[править] Запуск Linux в Xen

[править] При загрузке Linux на экран выводится какие-то предупреждения. Что-то связанное с '/lib/tls'. Что мне делать?

Выводятся не только предупреждения, но и советы. Следуйте этим рекомендациям. Некоторые дистрибутивы поставляются с TLS-версией glibc, которая не совсем совместима с Xen. Для того чтобы Xen работал надёжно и с максимальной производительностью, нужно запретить работу несовместимой библиотеки glibc.

Самый простой способ: переименовать каталог /lib/tls (например, сделать это командой mv /lib/tls /lib/tls.disabled).

Другой способ: установить специальную версию glibc, см. XenSpecificGlibc (англ.).

[править] При загрузке множество программ падает с сообщением 'Segmentation fault' . Что я не так делаю?

Смотрите ответ на предыдущий вопрос. В некоторых средах (например, при запуске на машинах VMware) с библиотеками TLS могут возникнуть серьёзные проблемы. Если они настолько серьёзны, что вы даже не можете войти в систему, можно временно сделать так чтобы командный интерпретатор запускался сразу же при старте системы. Для этого нужно добавить параметр

 init=/bin/sh

в командную строку Linux.

[править] Не могу экспортировать в DomU устройства типа /dev/sdaX

Если вы получаете ошибку вида

Registering block device major 8
register_blkdev: cannot get major 8 for sd
xen_blk: can't get major 8 with name sd

вы должны отключить всю подсистему SCSI:

CONFIG_SCSI=n

Это даст возможность блочному frontend'устройству Xen зарегистрировать ID устройства, который обычно занято SCSI.

[править] Когда я запускаю 9й домен использующий loop-back-файл как виртуальный диск, я получаю сообщение "Error: vbd: Segment not found: uname=file:/path/to/image". Почему?

По умолчанию Linux позволяет использовать до 8 активных loopback-устройств. Можно увеличить это число с помощью параметра max_loop, установив например

  max_loop=32 

в командной строке ядра домена 0 в GRUB.

Также нужно будет создать новые файлы устройств в каталоге /dev.

[править] Я пытаюсь заставить X'ы работать в домене 0, но сервер подвисает (или даже домен 0 паникует). Что происходит?

Похоже на то, что ваш X-сервер пытается использовать agpart, поддержка которого в настоящее время есть только в 2.0-testing и unstable ветках. Попробуйте скачать последний архив исходных текстов или получить его из одного из репозиториев BK.

[править] У меня появляются сообщения "Badness in local_bh_enable at kernel/softirq.c" , почему это?

Очень похоже на то, что причина в модуле, откомпилированном для i386, а не для Xen. При сборке модулей вне дерева сборки Xen, нужно использовать параметр ARCH=xen.

Ещё одной прчиной может быть драйвер, использующий прерывания напрямую вместо того чтобы использовать соответсвующий API.

[править] Как мне загрузить initrd?

Если нужно чтобы в домене 0 использовался initrd, нужно сразу за строкой, указывающей в качестве модуля ядро, добавить дополнительную строку module в конфигурационный файл GRUB. Например:

module /boot/initrd-2.6-xen0.img

Для того чтобы использовать initrd в других доменах, нужно указывать переменную ramdisk в соответствующем конфигурационном файле домена:

ramdisk = path/to/initrd-2.6-xenU.img

[править] Файл initrd который идёт вместе с моим дистрибутивом нормально с Xen не работает. Как мне его отредактировать?

Есть множество разных форматов образа initrd, наиболее распространнёными из которых являются сжатая файловая система и сжатый архив cpio. В любом случае для создания initrd можно использовать такие шаги:

# mkdir initrd.mnt
# gzip -d -S ".img" /path/to/initrd.img
# mount -o loop /path/to/initrd initrd.mnt OR (cd initrd.mnt && cpio -ic <../path/to/initrd)
# ...edit files in directory initrd.mnt....
# umount initrd.mnt OR (cd initrd.mnt && find . | cpio -oc --quiet >../path/to/initrd)
# gzip -9 -S ".img" /path/to/initrd

Если используется cpio, могут быть сообщения об обрезанных номерах inode'ов (truncated inode numbers). Эти сообщения можно игнорировать. Некоторы дистрибутивы (в частности, SLES 9) создают initrd с мусором в конце файла. Xen не сможет загрузитьтакие initrd. Обойти проблему можно так: расжать, а потом снова сжать образ с помощью gzip.

[править] Когда я использую baloon-драйвер утилиты top и free не показывают изменения в использовании памяти. Почему?

Baloon-драйвер запрашивает память у системы распределения памяти и передаёт её Xen. Однако, с точки зрения ядра эта память принадлежит системе и используется baloon-драйвером. Отсюда и несовсем понятная статистка использования памяти.

[править] Я увеличил объём оперативной памяти на домен и перезагрузил его, но он снова показывает старое значение

Нужно пересоздать домен с помощью команды

%# xm create <domU>

При простой перезагрузке конфигурационный файл не перечитывается.

=== SLES 11 SP1 & DRBD & XEN. При попытке указать для вирт машины ресурс drbd вида disk = [ "drbd:vm1,xvda1,w" ] вирт. машина не грузится.

патчим /usr/bin/pygrub следующим патчем:

diff -rupN bin/pygrub bin.new/pygrub --- bin/pygrub 2009-06-12 19:06:44.000000000 +0300 +++ bin.new/pygrub 2009-09-24 17:08:35.000000000 +0300 @@ -647,6 +647,33 @@ if __name__ == "__main__":

            print "  initrd: %s" % chosencfg["ramdisk"]
        print "  args: %s" % chosencfg["args"]
        sys.exit(0)

+ + """ We need to extract kernel from image. for this we shoud make DRBD image primary + Is this device in drbd list? If is, then 1 returned + """ + drbdcount = string.strip(os.popen('drbdadm sh-dev all | grep ' + file + ' | wc -l').readline(), " \n") + if drbdcount == '1': + drbdresource = string.strip(os.popen('drbdadm sh-resources ' + file).readline(), " \n") + peerstate = string.strip(os.popen('drbdadm role ' + drbdresource).readline(), " \n").lower().split("/",1)[0] + + if peerstate == "unknown": + print "DRBD resource " + drbdresource + " is " + peerstate + " on peer. Maybe split brain state?" + sys.exit(1) + if peerstate == "primary": + print "We is Primary" + if peerstate == "secondary": + print "We is Secondary" + while 1: + ourdstate = string.strip(os.popen('drbdadm dstate ' + drbdresource).readline(), " \n").lower().split("/",1)[0] + if ourdstate == "uptodate": + break + print "We is UpToDate. Lets be Primary" + retcode = os.popen('drbdadm primary ' + drbdresource + "> /dev/null 2>&1").close() + if retcode != None and retcode % 256: + print "Failed to be primary :( Exiting" + sys.exit(retcode) + """ All done for DRBD + """

    fs = fsimage.open(file, get_fs_offset(file))

Запускаем примерно так: patch -p0 < имя_diff Далее для запуска виртуальной машины указываем: disk = [ "phy:drbd0,xvda1,w" ]

Примечание: если указывать так disk = [ "phy:/dev/drbd/by-res/vm1,xvda1,w" ], то придется или руками переключить ресурс в primary или использовать pacemaker, который при падении двух нод и при попытке загрузится с одной ноды нормально не работал с drbd!!! Приходилось руками делать drbdsetup /dev/drbd0 primary -o и далее руками стартовать вирт.машину). А потом когда железо на другой ноде было поменяно возникали прблемы. Ну, на х... этот pacemaker!!! С drbd он работать нормально НЕ умеет!!!

[править] Сборка Linux для Xen

[править] Как конфигурировать ядро домена 0 для моего оборудования?

Нужно отредактировать файл .config в верху дистрибутива ядра. Например, с помощью редактора конфигурации ядра Linux с графических интерфейсом:

# cd linux-2.6-xen0
# make xconfig (в более старых версиях нужно указать ARCH=xen при сборке в строке make)
# cd ..
# make

Если уже есть файл .config в дереве ядра, он остаётся. Если его нет, его можно скопировать из ./dist/install/boot/config-2.6-xen0. В крайнем случае выбирается один из конфигурационных файлов arch/xen/configs/defconfig.

[править] Почему сборка останавливается с сообщением "error: isa_virt_to_bus_is_UNSUPPORTED undeclared"?

Некоторые драйверы (главным образом драйверы ISA-устройств) не работают с Xen из-за ограничений адресов памяти, к которым могут обращаться устройства. Для таких драйверов и выдаётся ошибка. Это лучше чем странное поведение в ходе работы, которое возникло бы в противном случае. Xen стремится к тому чтобы поддерживать весь спектр современного аппаратного обеспечения для платформы x86.

Указанное исключение распространяется только на несколько старых сетевых карт и дисковых контроллеров.

[править] Как собрать Xen из исходников с более новым ядром?

Модифицировать дерево исходников ядра для поддержки Xen это не очень простая задача. Может показаться, что достаточно несколько патчей, и Xen заработает, но это не так.

Самое лучшее в настоящий момент — это следить за тем, что есть в дистрибутивах. Например, Fedora 7 поставляется с Xen 3.1.0 и ядром 2.6.20. В Fedora есть SRPMS, который будет полезен всем, кто собирается сделать свое собственное ядро Linux 2.6.20 с поддержкой Xen.

[править] Дистрибутивы Linux

[править] Какие пакеты Debian нужны для Xen?

Для того чтобы запустить Xen из бинарников, не нужны никакие дополнительные пакеты.

Для того чтобы собрать Xen, XenLinux и документацию из исходников, понадобятся пакеты:

  • make,
  • libncurses5-dev,
  • libncurses5,
  • gcc,
  • libc6-dev,
  • zlib1g-dev,
  • python,
  • python-dev,
  • python-twisted,
  • openssl,
  • openssl-dev,
  • bridge-utils,
  • iproute,
  • libcurl3,
  • libcurl3-dev,
  • bzip2,
  • module-init-tools,
  • latex,
  • latex2html,
  • transfig,
  • tgif.



[править] Как побороть сообщения 4gb seg fixup в syslog'е?

Это сообщение выдает glibc, которое собрали с отрицательными смещениями регистра GS. Xen может работать с отрицательными значениями регистра GS, но он должен перехватывать и эмулировать эти условия, что является довольно медленным и довольно требовательным к ресурсам процессом.

Если у вас нет пропатченной библиотеки glibc, можно использовать патч no-tls-direct-seg-refs, упомянутый в XenSpecificGlibc (англ.).

Большинство новых дистрибутивов поставляются с glibc, скомпилированной с "-mno-tls-direct-seg-refs", но она может быть по умолчанию не включена.

В некоторых новых дистрибутивах таких как RHEL5 Beta1/Beta2 нужно выполнить нижеописанный трюк для того чтобы обратиться к пропатченной библиотеке glibc.

echo 'hwcap 0 nosegneg' > /etc/ld.so.conf.d/libc6-xen.conf && ldconfig

В других, немного более старые дистрибутивы, таких, например, как Ubuntu Dapper, достаточно пересборки glibc (см. UbuntuDapperHowTo (англ.))

Дополнительная информация:

[править] Использование Xen

[править] Как подключаться и отключаться от консоли Xen?

Можно подключиться к консоли прямо при старте domU:

%# xm create -c your-DomU-config

Эта команда запускает домен и сразу же подключается к нему.

Если вы хотите подключиться к domU, который уже работает, нужно сначала определить какой id использует домен:

%# xm list
Name Id Mem(MB) CPU State Time(s) Console
Domain-0 0 123 0 r---- 2482.9
testXM1 30 127 1 -b--- 4.9 9630
testXM2 32 127 1 -b--- 4.7 9632
testXM3 34 128 1 -b--- 0.3 9634

Теперь, если, например, для того чтобы подключиться к testXM2 с id 32, нужно дать команду:

# xm console 32

Отключиться от консоли можно с помощью комбинации Ctrl-].

На немецких клавиатурах, если предыдущая комбинация не заработала, попробуйте Ctrl-5. Работает в PuTTY и Gnome Terminal. На шведских клавиатурах (mac с iTerm) работает Ctrl-å.

[править] Как в Xen 3.0 можно вывести консоль на TCP-порт как в Xen 2.0?

Xen 3.0 из соображений безопасности больше по умолчанию не открывает консоль на TCP-порту. Если эта функциональность необходима (и сервер находится в изолированной сети), её можно добиться с помощью inetd и xinetd.

Вот пример описания сервиса xinetd, который может быть размещён в файле /etc/xinetd.d/xen:

# default: on
# description: Xen console port
service xen1
{
        disable         = yes
        type            = UNLISTED
        socket_type     = stream
        protocol        = tcp
        user            = root
        wait            = no
        port            = 9001
        server          = /usr/sbin/xm
        server_args     = console 1
}
service xen2
{
        disable         = yes
        type            = UNLISTED
        socket_type     = stream
        protocol        = tcp
        user            = root
        wait            = no
        port            = 9002
        server          = /usr/sbin/xm
        server_args     = console 2
}

Нужно добавить записи для каждого домена, который должен быть доступен через TCP-порт. В приведённом выше примере записи сделаны только для доменов 1 и 2.

Можно использовать дополнительные параметры xinetd для того чтобы ограничить адреса, с которых возможно подключение и выполнить другие настройки.

[править] Как увеличить размер raw диска?

считаем количество блоков в новом диске

echo $[(X*1024*1024*1024)/512]

где Х новый размер диска в гигабайтах.

Увеличиваем размер

dd if=/dev/zero of=test.raw bs=512 count=0 seek=Y

где Y количество блоков нового диска.

После входа в гостевую систему, остается лишь увеличить размер вашей FS

[править] Помощью по Xen

[править] Где найти документацию по Xen?

Документация на русском языке:

Документация на английском языке:

  • Xen users' manual — официальное руководство пользователя Xen (англ.)
  • http://wiki.xensource.com/ — Wiki-страницы о Xen на английском языке (англ.)

[править] Какая поддержка по Xen доступна?

Существует коммерческая поддержка Xen и поддержка добровольцев-энтузиастов.

Коммерческая поддержка оказывается XenSource, Inc. и другими компаниями.

Поддержка добровольцев доступна через списки рассылки Xen или черз IRC:

  1. Канал #xen на irc.oftc.net
  2. Канал ##xen на irc.freenode.net (этот немного больше)

[править] Куда сообщать об ошибке?

Эту информацию нужно бы обновить, но на сегодня, как сообщает Эван Меллор (Ewan Mellor) и Кейр Фразер (Keir Fraser), сообщить об ошибке можно так:

  1. Разместить вопрос в списке рассылки xen-users (только перед этим нужно убедиться, что на вопрос уже нет ответа в Faq или где-то в подобном месте).
  2. Если проблему не решили в списке рассылки и она действительно описывает баг, нужно:
    1. Поместить баг в bugzilla
    2. Сообщить о проблеме (с ссылкой на bugzilla, если вы считаете что в этом есть необходимость) в список рассылки xen-devel

[править] Как и куда я могу отправить патч?

Для того чтобы отправить патч, нужно послать его в список рассылки xen-devel в обычном текстовом формате в виде unified diff или прямо в письме или в виду атачмента.

Кроме этого, к письму с патчем, пожалуйста, добавляйте:

Signed-off-by: Name Surname <email@domain>

Если есть баг в bugzill'е, пожалуйста, укажите и идентификатор этого бага.


Xen
Xen

Виртуализация и паравиртуализация
Эмуляция | Виртуализация | Паравиртуализация | Рекурсивная виртуализация
Паравиртуальные драйверы | Виртуализация ввода/вывода

Общие вопросы по Xen
Аппаратные требования Xen | Поддержка Xen операционными системами | Поддерживаемые аппаратные архитектуры |
Примеры использования Xen | Сравнение виртуальных машин |
Хостинг на Xen
Альтернативы Xen

свободные: KVM | LXC | OpenVZ | VServer | QEMU | VirtualBox
проприетарные: Hyper-V | VMware ESX Server

Технические вопросы
Инсталляция Xen | Конфигурационный файл домена
ОС в Xen: Linux small icon.png Linux | Solaris small icon.png OpenSolaris | Freebsd small icon.png FreeBSD | Openbsd small icon.png OpenBSD | Netbsd small icon.png NetBSD | Windows xp small icon.png Windows XP | Windows vista small icon.png Windows Vista
Устройства: Блочные | USB | SCSI | Сеть | PV-драйверы для Linux | PV-драйверы для Windows | Консоль

Распределение ресурсов между доменами | Перенос системы внутрь Xen | HVM -> PV

Управление и кластеризация | Enomalism | Xen+DRBD | Ganeti | Convirt 2.0 | SkyCover Infrastructure
Источник — «http://xgu.ru/wiki/Xen_FAQ»