Citrix XenServer: различия между версиями
Jay (обсуждение | вклад) |
|||
Строка 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> следующую строку: | ||
<pre> | |||
MODULES_ADD += xenblk xennet | |||
</pre> | |||
Теперь сгенерируем новый initrd командой <tt>make-initrd</tt>. Причем, если дефолтным ядром являлось не el-smp, то команде <tt>make-initrd</tt> при помощи ключа <tt>-k</tt> потребуется указать версию ядра, для которой генерируется initrd. | |||
Следующий шаг — подготовка консоли, чтобы в XenCenter во вкладке Console, относящейся к нашей ВМ все работало корректно. | Следующий шаг — подготовка консоли, чтобы в XenCenter во вкладке Console, относящейся к нашей ВМ все работало корректно. | ||
В | Добавляем hvc0 в файл <tt>/etc/securetty</tt>. В файл <tt>/etc/inittab</tt> добавляем строчку: | ||
<pre> | |||
ca:2345:respawn:/sbin/mingetty --noclear hvc0 | |||
</pre> | |||
Поскольку *getty на виртуальных консолях мы все равно не увидим, то можно их отключить, закомментировав соответствующие строки в <tt>/etc/inittab</tt>. | |||
Выключаем VM. | Выключаем VM. | ||
Строка 44: | Строка 39: | ||
Для этого идем в консоль хоста в XenServer или подключаемся к нему через SSH. | Для этого идем в консоль хоста в XenServer или подключаемся к нему через SSH. | ||
В консоли вводим: | В консоли вводим: <tt>xe vm-list</tt> | ||
Запоминаем 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=<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> | |||
<VM-UUID> заменяем на свой, полученный на предыдущем шаге. Причем его не обязательно вводить вручную. Достаточно ввести несколько первых символов и на жать TAB, сработает автодополнение. | |||
Примечание: /dev/xvda2 в PV-args соответствует /dev/sda2 до смены режима. Если у вас корень установлен не в /dev/sda2, то необходимо подставить соответствующее устройство. | |||
Если | Если вдруг понадобится переключится обратно в режим 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 PV-bootloader="" | |||
</pre> | |||
Далее нужно сделать диск виртуальной машины загрузочным. Получаем список дисковых устройств нашей VM: | |||
<pre> | |||
xe vm-disk-list uuid=<VM-UUID> | |||
</pre> | |||
Запоминаем uuid у диска 0 VBD и выполняем: | |||
<pre> | |||
xe vbd-param-set uuid=<VBD-UUID> bootable=true | |||
</pre> | |||
где <VBD-UUID> равен uuid VBD диска, полученному на предыдущем шаге. | |||
В свойствах ВМ в разделе загрузки выбираем загрузку с HD | |||
В свойствах ВМ в разделе загрузки выбираем HD | |||
Запускаем ВМ | Запускаем ВМ | ||
Строка 84: | Строка 83: | ||
Для исправления необходимо перезапустить XenCenter. | Для исправления необходимо перезапустить XenCenter. | ||
В | В XenCenter подключаем DVD-drive xs-tools.iso | ||
Смотрим в вывод <tt>ls /dev/xvd*</tt> и пытаемся понять, кто из них - DVD-драйв. Обычно это xvdd, но в моем случае это был xvdb. | |||
В | В <tt>/etc/fstab</tt> редактируем строчку для /media/cdrom, меняем /dev/sr0 на соответствующее устройство. | ||
В косоли ВМ: | |||
В косоли ВМ выполняем: | |||
<pre> | |||
mount /media/cdrom | |||
cd /media/cdrom/Linux | |||
# прикидываемся RHEL 6 версии | |||
sh install.sh -d rhel -m 6 | |||
</pre> | |||
Перезагружаемся. | |||
Также необходимо поправить файл <tt>/etc/sysconfig/grub2</tt> | |||
Также необходимо поправить файл / | |||
В парамете 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]] |
Версия от 01:02, 16 декабря 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).