В этой заметке я хотел бы рассказать вам, как установить Fedora 16 в качестве гостевой машины PV в XenServer/Xen Cloud Platform. В принципе, описанный ниже метод установки дистрибутивов, напрямую не поддерживаемых, хорошо известен, но при установке Fedora 16 возник ряд сложностей, потребовавших немного повозиться.
Готовое решение под катом.
Шаг 1. Установите HVM
Поскольку у XenServer нет теплых композиций для Fedora, мы начинаем установку с создания абстрактной HVM-машины из теплой версии «Другой установочный носитель».Здесь все стандартно, настраиваем память, сеть, создаем диск, прикрепляем образ с дистрибутивом и запускаем.
На первом появившемся экране (Установить или обновить.
) нажмите клавишу Tab и добавьте параметр nogpt в командную строку загрузки ядра.
В противном случае установщик пометит диск под gpt и в дальнейшем загрузчик pygrub PV не сможет найти ядро и рамдиск установленной системы.
Пункт №2. По умолчанию установщик создает раздел /boot в формате ext4, что опять же непонятно для pygrub. Поэтому не забудьте указать, что /boot должен быть отформатирован как ext2. В противном случае настраиваем систему по своему вкусу.
Шаг 2. Преобразование HVM в PV
Прежде чем изменить параметры запуска машины, вам необходимо внести пару изменений в grub:- Традиционно файл конфигурации grub.cfg находится в каталоге /boot/grub. Однако в Fedora 16 grub переместился в каталог /boot/grub2, и поэтому pygrub не может его найти.
Чтобы это преодолеть, перейдите по ссылке:
[root@localhost ~]# ln /boot/grub2/grub.cfg /boot/grub
- Несмотря на то, что pygrub обычно понимает формат grub2, некоторые проекты приводят к его сбою с очень неясными сообщениями.
В частности, в этом случае pygrub взрывается, когда встречает следующую строку в grub.cfg:
set default="${saved_entry}"
измените это наset default=0
[root@xcp01 bin]# xe vm-list name-label=f16
uuid ( RO) : da8d401c-93b9-67a5-5275-39c6f76e67c9
name-label ( RW): f16
power-state ( RO): halted
[root@xcp01 bin]# xe vm-param-set uuid=da8d401c-93b9-67a5-5275-39c6f76e67c9 HVM-boot-policy=""
[root@xcp01 bin]# xe vm-param-set uuid=da8d401c-93b9-67a5-5275-39c6f76e67c9 PV-bootloader=pygrub
[root@xcp01 bin]# xe vm-disk-list uuid=da8d401c-93b9-67a5-5275-39c6f76e67c9
Disk 0 VBD:
uuid ( RO) : 37301b8f-c490-c1b3-ee11-09ea749289af
vm-name-label ( RO): f16
userdevice ( RW): 0
Disk 0 VDI:
uuid ( RO) : 8259df56-47d2-494d-a1a8-437ce5388cf5
name-label ( RW): f16
sr-name-label ( RO): NetApp XCP NFS
virtual-size ( RO): 32212254720
[root@xcp01 bin]# xe vbd-param-set uuid=37301b8f-c490-c1b3-ee11-09ea749289af bootable=true
[root@xcp01 bin]# xe vm-start uuid=da8d401c-93b9-67a5-5275-39c6f76e67c9
[root@xcp01 bin]#
Убеждаемся, что все работает нормально, устанавливаем XS Tools и получаем полноценную виртуальную машину со всеми вкусностями в виде живых снимков, живой миграции и так далее.
P.S.
- Чтобы предотвратить появление набора по умолчанию в будущем, вам необходимо отредактировать файл /etc/grub.d/00_header.
- Аналогичная проблема возникла при обновлении Ubuntu 10.10 до Ubuntu 11.04, но pygrub сломался при обработке подменю в grub.cfg. Я просто вырезал генерацию подменю из скриптов /etc/grub.d
-
Кто Ваш Эксперт?
19 Oct, 24 -
На Поверхности Черной Дыры
19 Oct, 24 -
Детектор Эллипсов В Реальном Времени
19 Oct, 24