Citrix XenServer

Материал из ALT Linux Wiki

Citrix XenServer

Описание процесса запуска ALT Linux 6.0 Centaurus Beta x86_64 в PV-mode на Citrix XenServer

Для начала, создаем новую виртуальную машину (ВМ). Так как продуктов ALT Linux нет в списке доступных шаблонов, то в качестве шаблона выбираем «Other install media». Далее следуем указаниям мастера и завершаем создание ВМ. Запускается установщик ОС. Тут тоже все стандартно. Я выбирал автоматическое разбиение диска, поэтому корневая файловая система у меня на sda2, а на sda1 — swap. Тип устанавливаемой системы был выбран «сервер», поэтому было установлено ядро el-smp

Примечание: данное ядро устанавливалось в бета-версии дистрибутива. Не знаю какое ядро будет устанавливаться в финальной версии. Если по умолчанию будет установлено другое ядро, то возможно надо будет установить ядро el-smp вручную.

После того как система успешно установилась, она работает в режиме HVM (из-за того, что при создании ВМ был выбран шаблон «Other install media»). Работа в режиме HVM имеет следующие недостаки: некоторое снижение производительности, невозможность использования LiveMigration, отсутствует возможность мониторинга в XenCenter памяти, используемой ВМ. Чтобы исправить это, на необходимо переключить ВМ в режим PV.

Чтобы после перезапуска ВМ смогла нормально запуститься нужно сгенерировать новый initrd. Сначала добавим нужные модули в initrd, добавив в файл /etc/initrd.mk следующую строку:

MODULES_ADD += xenblk xennet

Теперь сгенерируем новый initrd командой make-initrd. Причем, если дефолтным ядром являлось не el-smp, то команде make-initrd при помощи ключа -k потребуется указать версию ядра, для которой генерируется initrd.

Следующий шаг — подготовка консоли, чтобы в XenCenter во вкладке Console, относящейся к нашей ВМ все работало корректно.

Добавляем hvc0 в файл /etc/securetty. В файл /etc/inittab добавляем строчку:

co:2345:respawn:/sbin/mingetty --noclear hvc0

Поскольку *getty на виртуальных консолях мы все равно не увидим, то можно их отключить, закомментировав соответствующие строки в /etc/inittab.

Выключаем VM.

В XenCenter переходим на вкладку Storage, относящейся к нашей ВМ. У меня почему-то SR создавался с «Device Position» 1. В свойствах SR меняем «Device Position» на 0

Далее необходимо переключить режим ВМ из HVM в PV. Для этого идем в консоль хоста в XenServer или подключаемся к нему через SSH.

В консоли вводим: xe vm-list

Запоминаем UUID нашей ВМ. Далее вводим:

# Переключаем VM в режим PV
xe vm-param-set uuid=<VM-UUID> HVM-boot-policy=""
xe vm-param-set uuid=<VM-UUID> PV-bootloader=pygrub

# Передаем загрузчику и ВМ дополнительные параметры:
xe vm-param-set uuid=<VM-UUID> PV-bootloader-args="--kernel /boot/vmlinuz --ramdisk /boot/initrd.img"
xe vm-param-set uuid=<VM-UUID> PV-args="root=/dev/xvda2 console=hvc0 quiet"

<VM-UUID> заменяем на свой, полученный на предыдущем шаге. Причем его не обязательно вводить вручную. Достаточно ввести несколько первых символов и на жать TAB, сработает автодополнение.

Примечание: /dev/xvda2 в PV-args соответствует /dev/sda2 до смены режима. Если у вас корень установлен не в /dev/sda2, то необходимо подставить соответствующее устройство.

Если вдруг понадобится переключится обратно в режим HVM, то это можно будет сделать следующими командами:

xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b HVM-boot-policy="BIOS order"

# Эту команду вводить не обязательно. Первой должно быть достаточно
xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b PV-bootloader=""


Далее нужно сделать диск виртуальной машины загрузочным. Получаем список дисковых устройств нашей VM:

xe vm-disk-list uuid=<VM-UUID>

Запоминаем uuid у диска 0 VBD и выполняем:

xe vbd-param-set uuid=<VBD-UUID> bootable=true

где <VBD-UUID> равен uuid VBD диска, полученному на предыдущем шаге.

В свойствах ВМ в разделе загрузки выбираем загрузку с HD

Запускаем ВМ После запуска, консоль ВМ, которая доступна через XenCenter не будет реагировать на клавиатуру. Для исправления необходимо перезапустить XenCenter.

В XenCenter подключаем DVD-drive xs-tools.iso

Смотрим в вывод ls /dev/xvd* и пытаемся понять, кто из них - DVD-драйв. Обычно это xvdd, но в моем случае это был xvdb.

В /etc/fstab редактируем строчку для /media/cdrom, меняем /dev/sr0 на соответствующее устройство.

В косоли ВМ выполняем:

mount /media/cdrom
cd /media/cdrom/Linux

# прикидываемся RHEL 6 версии
sh install.sh -d rhel -m 6   

Перезагружаемся.

Также необходимо поправить файл /etc/sysconfig/grub2

В парамете GRUB_AUTOUPDATE_DEVICE нужно указать устройство '/dev/xvda'

Для того, чтобы на закладке Networking в XenCenter выводился IP-адрес нужно поставить пакет net-tools (нужен ifconfig).