Бездисковая загрузка узла Xen
Материал из Xgu.ru
- Автор: Игорь Чубин
- Короткий URL: xen/diskless
Составлено на основе: http://lists.xensource.com/archives/html/xen-users/2005-05/msg00039.html
На этой странице рассматриваются процедуры бездисковой загрузки узла Xen при помощи PXE или iSCSI.
Содержание |
[править] Бездисковая загрузка Xen
Бездисковая загрузка узла под управлением Xen может потребоваться при построении кластера виртуализации: хост-системы, на которых будут выполняться домены Xen не содержат дисков, нужна только их вычислительная мощность. Загруженные впоследствии домены Xen используют в качестве дисковых систем сетевые хранилища, доступные, например, по AoE, GNBD или iSCSI.
Варианты загрузки бездискового узла, на котором будет работать Xenolinux:
- Выполнять загрузку по PXE;
- Выполнять загрузку с устройства, подключенного по iSCSI.
В первом случае возможны такие варианты:
- Использовать GRUB;
- Использовать PXELINUX и специальный модуль mboot32.
[править] Загрузка узла Xen по PXE
На этой странице рассматривается процедура загрузки Xen с помощью PXELINUX.
Бездисковая загрузка узла в соответствии с описанной процедурой невозможна при использовании PXELINUX версии меньше 2.12 |
[править] Подготовка сервера бездисковой загрузки
Процедура подготовки сервера загрузки при условии что в качестве загрузчика используется PXELINUX, описана на странице PXE.
[править] Настройка сервера для загрузки Xen
После этого, необходимо:
1. Скачать загрузчик mboot.c32 и разместить его в корне tftpboot.
Получить загрузкик можно по адресу:
2. Скопировать гипервизор Xen, ядро Linux и файл initrd в корень tftpboot.
3. Отредактировать конфигурационный файл pxelinux и добавить в него вызов mboot.c32. Модули mboot32 нужно разделять с помощью символов --- (три минуса подряд) .
Пример:
DEFAULT mboot.c32 xen-2.0.5.gz dom0_mem=258048 --- vmlinuz-2.6.10-xen0 ro console=tty root=/dev/hda --- initrd-2.6.10-xen0
Другой пример:
label xen kernel pxelinux/com32/modules/mboot.c32 append boot/xen.gz nosmp noacpi --- boot/res-1-kernel ramdisk_size=131072 ramdisk_blocksize=1024 console=ttyS0 apm=off id=1 qrm=10.0.1.1 ip=10.0.0.99:10.0.1.1:10.0.0.1:255.0.0.0 BOOTIF=00:0d:60:d5:d6:3b --- boot/res-1-initrd.img ipappend 3
[править] Загрузка по iSCSI
Идея Ника Коучмана (Nick Couchman) одного из участников списка рассылки Xen-users [1]:
> I guess maybe it's more a discussion for the devel list, but I attempted > to generate a gpxe .rom file on rom-o-matic.net and then use the mkhex > tool in the tools/firmware/hvmloader directory to make it into a header. > I think rebuilt the hvmloader file and installed in the > /usr/lib/xen/boot directory and attempted to boot an HVM off the network > card. No good - didn't even try to load the ROM image. So, I guess > I'll have to try to figure out why, but apparently there's more than > just regenerating the header file :-). > > Thanks for the additional info - most of the support nowadays seems to > be for servers - I'd actually love to boot my workstations off iSCSI. > Maybe that will come in time... > I think gPXE should allow that for your workstation.. It's also possible to do iscsi-root without iBFT. but then you need to configure all the iscsi settings twice - for the boot initiator, and then for the OS itself.. with iBFT you only have the configuration in one place.
[править] Весь домен 0 в initrd
From: Javier Guerra <javier@guerrag.com> To: "Denis J. Cirulis" <denis@opensource.lv> Subject: Re: [Xen-users] stateless dom0 Cc: xen-users@lists.xensource.com On Thu, Mar 19, 2009 at 2:50 AM, Denis J. Cirulis <denis@opensource.lv> wrote: > Hello, > > I'm trying to setup stateless dom0 host image. > The idea is to make dom0 host diskless booted off storage/pxe. What are > the best practices of making such a setup ? > I already tried nfs-root iscsi-root and aoe-root all these setups works > perfect, what about making xen running rootless I mean in ramdisk ? most loaders (including PXE): - load kernel + initrd: - initrd is small, compressed and R/O (maybe cramfs) - on initrd there's a startup script that loads some extra kernel modules, mounts other filesystem, does a pivot/root and continues with another script on the new root - the new script does the rest of the work, and unmounts the initrd. but.... there's no hard rule about what the startup script on the initrd _must_ do. you can easily build a complete system on initrd, one that: - loads all needed modules (not just the few needed to mount the next root) - mounts a few writeable directories (either tmpfs or nfs) on /var, /tmp, /log, etc - starts xen daemons - launches any DomU i wouldn't call it 'rootless' but 'initrd based'. well done, it makes all boxes really interchangeable and reduces the load on NFS servers. i'm not sure if it's much better than iSCSI or AoE for root, but might reduce duplications. (since it's 'more natural' to mount initrd as R/O) -- Javier
[править] Дополнительная информация
- http://lists.xensource.com/archives/html/xen-devel/2006-08/msg00009.html (англ.) — обсуждение в списке рассылки Xen-devel
- http://lists.xensource.com/archives/html/xen-users/2005-05/msg00039.html (англ.) — оригинальное сообщение в списке рассылки Xen-users
- http://syslinux.zytor.com/archives/2006-November/007725.html (Booting Xen hypervisor) — пример в списке рассылки syslinux
[править] Материалы на Xgu.ru посвящённые загрузке системы
Бездисковая загрузка:
- PXE
- pxe/rhel — Инсталляция RHEL/CentOS с помощью PXE
- Бездисковая загрузка FreeBSD с помощью PXE
- Бездисковая загрузка узла Xen с помощью PXE
- pxe/win7 — Бездисковая загрузка Windows 7 с помощью PXE
- pxe/win2008 — Бездисковая загрузка Windows Server 2008 с помощью PXE
|
---|