Citrix XenServer

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

(Различия между версиями)
Перейти к: навигация, поиск
(Citrix XenServer)
м (Citrix XenServer)
Строка 12: Строка 12:
Примечание: данное ядро устанавливалось в бета-версии дистрибутива. Не знаю какое ядро будет устанавливаться в финальной версии. Если по умолчанию будет установлено другое ядро, то возможно надо будет установить ядро el-smp вручную.
Примечание: данное ядро устанавливалось в бета-версии дистрибутива. Не знаю какое ядро будет устанавливаться в финальной версии. Если по умолчанию будет установлено другое ядро, то возможно надо будет установить ядро el-smp вручную.
-
После того как система успешно установилась, она работает в режиме HVM (из-за того, что при создании ВМ был выбран шаблон «Other install media»). Работа в режиме HVM имеет следующие недостаки: некоторое снижение производительности, невозможность использования LiveMigration, отсутствует
+
После того как система успешно установилась, она работает в режиме HVM (из-за того, что при создании ВМ был выбран шаблон «Other install media»). Работа в режиме HVM имеет следующие недостаки: некоторое снижение производительности, невозможность использования LiveMigration, отсутствует возможность мониторинга в XenCenter памяти, используемой ВМ. Чтобы исправить это, на необходимо переключить ВМ в режим PV.
-
возможность мониторинга в XenCenter памяти, используемой ВМ. Чтобы исправить это, на необходимо переключить ВМ в режим PV.
+
-
Чтобы после перезапуска ВМ смогла нормально запуститься нужно сгенерировать новый initrd.
+
Чтобы после перезапуска ВМ смогла нормально запуститься нужно сгенерировать новый initrd. Сначала добавим нужные модули в initrd, добавив в файл <tt>/etc/initrd.mk</tt> следующую строку:  
-
Для этого редактируем файл '''/etc/initrd.mk''', добавляем в него строки:
+
<pre>
 +
MODULES_ADD += xenblk xennet
 +
</pre>
-
'''MODULES_ADD = \'''
+
Теперь сгенерируем новый initrd командой <tt>make-initrd</tt>. Причем, если дефолтным ядром являлось не el-smp, то команде <tt>make-initrd</tt> при помощи ключа <tt>-k</tt> потребуется указать версию ядра, для которой генерируется initrd.
-
 
+
-
'''xenblk \'''
+
-
 
+
-
'''xennet'''
+
-
 
+
-
И запускаем:
+
-
'''make-initrd'''
+
Следующий шаг — подготовка консоли, чтобы в XenCenter во вкладке Console, относящейся к нашей ВМ все работало корректно.
Следующий шаг — подготовка консоли, чтобы в XenCenter во вкладке Console, относящейся к нашей ВМ все работало корректно.
-
В файле '''/etc/inittab''' добавляем строчку:
+
Добавляем hvc0 в файл <tt>/etc/securetty</tt>. В файл <tt>/etc/inittab</tt> добавляем строчку:
-
 
+
<pre>
-
'''T0:2345:respawn:/sbin/mingetty hvc0'''
+
ca:2345:respawn:/sbin/mingetty --noclear hvc0
 +
</pre>
-
И добавляем hvc0 в файл '''/etc/securetty'''
+
Поскольку *getty на виртуальных консолях мы все равно не увидим, то можно их отключить, закомментировав соответствующие строки в <tt>/etc/inittab</tt>.
Выключаем VM.
Выключаем VM.
Строка 44: Строка 39:
Для этого идем в консоль хоста в XenServer или подключаемся к нему через SSH.
Для этого идем в консоль хоста в XenServer или подключаемся к нему через SSH.
-
В консоли вводим:
+
В консоли вводим: <tt>xe vm-list</tt>
-
'''xe vm-list'''
+
-
Запоминаем UUID нашей ВМ.
+
Запоминаем UUID нашей ВМ. Далее вводим:
-
Далее вводим:
+
<pre>
 +
# Переключаем 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=c22179cb-cb92-0a66-d382-1def050ceb4b HVM-boot-policy=""'''
+
# Передаем загрузчику и ВМ дополнительные параметры:
 +
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"
 +
</pre>
-
'''xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b PV-bootloader=pygrub'''
+
<VM-UUID> заменяем на свой, полученный на предыдущем шаге. Причем его не обязательно вводить вручную. Достаточно ввести несколько первых символов и на жать TAB, сработает автодополнение.
-
Естественно uuid вводим свой, полученный на предыдущем шаге. Причем его не обязательно вводить вручную. Достаточно ввести несколько первых символов и на жать TAB, сработает автодополнение.
+
Примечание: /dev/xvda2 в PV-args соответствует /dev/sda2 до смены режима. Если у вас корень установлен не в /dev/sda2, то необходимо подставить соответствующее устройство.
-
Если необходимо переключится обратно в режим HVM, то это можно сделать этими командами:
+
Если вдруг понадобится переключится обратно в режим HVM, то это можно будет сделать следующими командами:
 +
<pre>
 +
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 HVM-boot-policy=«BIOS order»'''
+
# Эту команду вводить не обязательно. Первой должно быть достаточно
 +
xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b PV-bootloader=""
 +
</pre>
-
('''xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b PV-bootloader=""''' Эту команду вводить не обязательно. Первой достаточно)
 
-
Передаем загрузчику и ВМ дополнительные параметры:
+
Далее нужно сделать диск виртуальной машины загрузочным. Получаем список дисковых устройств нашей VM:
 +
<pre>
 +
xe vm-disk-list uuid=<VM-UUID>
 +
</pre>
 +
Запоминаем uuid у диска 0 VBD и выполняем:
 +
<pre>
 +
xe vbd-param-set uuid=<VBD-UUID> bootable=true
 +
</pre>
-
'''xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b PV-bootloader-args="--kernel /boot/vmlinuz --ramdisk /boot/initrd.img"'''
+
где <VBD-UUID> равен uuid VBD диска, полученному на предыдущем шаге.
-
'''xe vm-param-set uuid=c22179cb-cb92-0a66-d382-1def050ceb4b PV-args=«root=/dev/xvda2 console=tty0 xencons=tty»'''
+
В свойствах ВМ в разделе загрузки выбираем загрузку с HD
-
 
+
-
примечание: /dev/xvda2 соответствует /dev/sda2 до смены режима. Если у вас корень установлен не в /dev/sda2, то необходимо изменит /dev/xvda2.
+
-
 
+
-
Далее нужно сделать диск виртуальной машины загрузочным:
+
-
'''xe vm-disk-list uuid''' запоминаем uuid у диска 0 VBD и выполняем:
+
-
 
+
-
'''xe vbd-param-set uuid=d101b2dc-b57c-5205-6192-0bff9d2d8f67 bootable=true'''
+
-
 
+
-
где uuid равен uuid VBD диска, полученному на предыдущем шаге.
+
-
 
+
-
В свойствах ВМ в разделе загрузки выбираем HD
+
Запускаем ВМ
Запускаем ВМ
После запуска, консоль ВМ, которая доступна через XenCenter не будет реагировать на клавиатуру.
После запуска, консоль ВМ, которая доступна через XenCenter не будет реагировать на клавиатуру.
Для исправления необходимо перезапустить XenCenter.
Для исправления необходимо перезапустить XenCenter.
-
 
-
В '''/etc/fstab''' редактируем строчку для cd-rom, меняем sr0 на xvdd
 
В XenCenter подключаем DVD-drive xs-tools.iso
В XenCenter подключаем DVD-drive xs-tools.iso
-
В косоли ВМ:
 
-
'''mount /media/cdrom'''
+
Смотрим в вывод <tt>ls /dev/xvd*</tt> и пытаемся понять, кто из них - DVD-драйв. Обычно это xvdd, но в моем случае это был xvdb.
 +
 
 +
В <tt>/etc/fstab</tt> редактируем строчку для /media/cdrom, меняем /dev/sr0 на соответствующее устройство.
 +
 
 +
В косоли ВМ выполняем:
 +
 
 +
<pre>
 +
mount /media/cdrom
 +
cd /media/cdrom/Linux
-
'''cd /media/cdrom/Linux'''
+
# прикидываемся RHEL 6 версии
 +
sh install.sh -d rhel -m 6 
 +
</pre>
-
'''sh install.sh -d rhel -m 6''' (прикидываемся RHEL 6 версии)
+
Перезагружаемся.
-
Перезагружаемся
+
Также необходимо поправить файл <tt>/etc/sysconfig/grub2</tt>
-
Также необходимо поправить файл /'''etc/sysconfig/grub2'''
+
-
В парамете GRUB_AUTOUPDATE_DEVICE указать устройство '/dev/xvda'
+
В парамете <tt>GRUB_AUTOUPDATE_DEVICE</tt> нужно указать устройство '/dev/xvda'
Для того, чтобы на закладке Networking в XenCenter выводился IP-адрес нужно поставить пакет net-tools (нужен ifconfig).
Для того, чтобы на закладке Networking в XenCenter выводился IP-адрес нужно поставить пакет net-tools (нужен ifconfig).
[[Категория:Enterprise Software]]
[[Категория:Enterprise Software]]
[[Категория:Xen]]
[[Категория:Xen]]

Версия 22:02, 15 декабря 2011

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 добавляем строчку:

ca: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).

 
Личные инструменты