Archive:Установка Xen на SuSE Linux 10.0
Эта статья актуальна для версии '10.0', которая теперь является устаревшей! Пожалуйста, обратитесь к странице обсуждения этой статьи для получения подробной информации. |
Инструкции по установке Xen потерпели значительные изменения с момента написания этой статьи. Последнии указания по установке и использовании Xen до сих пор находятся в разработке, однако вы можете просмотреть следующие статьи:
- An Introduction to Virtualization
- How to Install a Xen VM Server
- How to Add a VM
- How to Install a VM's OS from CD
- How to Install a VM's OS from ISO
- How to Install a VM's OS from Installation Source
- How to Install a VM's OS from Disk Image
- How to Create an OS Disk Image for a VM
- How to Manage VMs
Прежде всего необходимо загрузить новейшие версии пакетов Xen3, поскольку Xen до сих пор находится в стадии активной разработки. Последние сборки для SLES 10 могут быть теперь найдены на xen technical preview. Дополнительная информация и инструкция по установке также доступны там.
После загрузки вы можете установить все пакеты:
rpm -Uvh *.rpm
Или только установить пакеты, содержащие документацию:
rpm -Uvh xen-doc*
поскольку вам необходимо прочесть её перед установкой виртуальной машины. Вы можете также распечатать её и сверяться с нею во время установки. ( Документация по Xen3 находится в /usr/share/doc/packages/xen/ )
После прочтения документации можно продолжить установку.
Xen некоторым образом конфликтует со службой powersave. Так что лучше деактивировать её:
/etc/init.d/powersaved stop insserv -r powersaved
Далее нужно создать правильную конфигурацию grub. Для этого необходимо отредактировать /boot/grub/menu.lst в соответствии со следующим примером:
(Убедитесь, что строка "kernel" не является символической ссылкой на символическую ссылку!)
color white/blue black/light-gray default 0 timeout 4 title Xen Master root (hd0,1) kernel /boot/xen-3.0.gz dom0_mem=256M module /boot/vmlinuz-xen root=/dev/sda2 module /boot/initrd-xen title SUSE Linux 10.0 root (hd0,1) kernel /boot/vmlinuz root=/dev/sda2 resume=/dev/sda1 initrd /boot/initrd
Далее вы можете активировать службу Xen:
/etc/init.d/xend start insserv –d xend
И в завершение перезагружаем систему:
reboot
После перезагрузки необходимо создать файловую систему, которая будет root filesystem для вашего domU. Если у вас установлен пакет lvm и создана группа томов вы можете создать файловую систему по следующему примеру:
Этот пример создаст том, названный root с размером 8 GB в группе томов xenvg:
lvcreate -L 8g -n root xenvg
Теперь вы можете создать файловую систему reiser на этом томе и смонтировать его:
mkfs -t reiserfs /dev/xenvg/root mkdir /var/tmp/dirinstall mount -t reiserfs /dev/xenvg/root /var/tmp/dirinstall
Теперь вы можете заполнить эту файловую систему с
yast dirinstall
или с
yast2 dirinstall
Это запустит модуль YAST названный "dirinstall". Выберите все пакеты которые вы желаете установить. Как альтернативу, вы можете выбрать другую целевую директорию, например
/mnt если вы смонтировали там вашу файловую систему.
Нажмите "Next",и все выбранные пакеты будут установлены. В завершение выйдете из YAST .
Теперь вы должны создать несколько дополнительных элементов:
cd /var/tmp/dirinstall cp /boot/*xen* ./boot cp -ax /lib/modules/`uname -r` /var/tmp/dirinstall/lib/modules/ echo "/dev/hda1 / reiserfs defaults 1 1" > ./etc/fstab rm -f ./etc/mtab sed -ie "s/^[2-6]:/#\\0/" ./etc/inittab cp /etc/passwd /etc/shadow ./etc ###optional cp /etc/ssh/sshd_config ./etc/ssh/sshd_config ###optional cp /var/adm/YaST/ProdDB/prod_* ./var/adm/YaST/ProdDB cd / umount /var/tmp/dirinstall
Ваш domU теперь создан. Теперь необходимо создать конфигурацию domU. Следующий пример представляет конфигурационный файл /etc/xen/inhouse для domU "inhouse":
# -*- mode: python; -*- # configuration name: name = "inhouse" # usable ram: memory = 2048 # kernel und initrd: kernel = "/boot/vmlinuz-xen" ramdisk = "/boot/initrd-xen" # boot device: root = "/dev/hda1" # boot to run level: extra = "3" # network interface: vif = [ 'mac=aa:cc:00:00:00:01, bridge=xenbr0' ] dhcp = "dhcp" hostname = name # storage devices: disk = [ 'phy:xenvg/root,hda1,w' ]
В opensuse вы должны дать mac адрес для вашего domU интерфейса(сов). Если вы этого не сделаете, ваш сетевой интерфейс для domU будет изменятся при каждой загрузке domU. Это происходит под влиянием системы udev.
Теперь вы можете загрузить этот domU:
xm create -c /etc/xen/inhouse
Больше информации об управлении domUs можно получить командой:
xm help --long
Выявление неисправностей сети
Совет Kurt Garloff из команды SuSE:
Для создания сети для Dom0 работающей в SuSE вы должны поднять вашу сеть по следующему примеру:
- выбрать 'классический' путь настройки сетевых подключений (без 'NetworkManager', как предписывается Yast)
- поставить STARTMODE of ifplugd на 'onboot' (по умолчанию 'on connect')
- выключить или правильно сконфигурировать SuSEfirewall2
- включить ip_forward (используя Yast или sysctl.conf)"
После перезагрузки, brctl должен показать что-то вроде следующего:
xenmaster:~ # brctl show bridge name bridge id STP enabled interfaces xenbr0 8000.feffffffffff no vif0.0 peth0
Если xenbr0 не показывает подключенных интерфейсов, сетевое подключение вашего DomU не удалось. Большое спасибо Kurt Garloff за его усилия в представлении Xen RPM's!
Как настроить SuSEfirewall2 на разрешение xenbr0 траффика
(основано на SuSE 10.1)
Симптомы: У нас есть загруженный Xen-kernel и нет исходящего траффика dom0. Это происходит вследствие блокировки пакетов файерволом.
Решение: Включить xenbr0 forwarding:
- открыть файл /etc/sysconfig/SuSEfirewall2 в вашем любимом текстовом редакторе.
- в строке 33 изменить FW_FORWARD_ALWAYS_INOUT_DEV="" на FW_FORWARD_ALWAYS_INOUT_DEV="xenbr0".
- перезагрузить файервол: /etc/init.d/SuSEfirewall2_setup restart.
Теперь вы должны быть способны пропинговать любой сетевой адрес.