Бездисковая загрузка узла 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:

  1. Выполнять загрузку по PXE;
  2. Выполнять загрузку с устройства, подключенного по iSCSI.

В первом случае возможны такие варианты:

  1. Использовать GRUB;
  2. Использовать PXELINUX и специальный модуль mboot32.

[править] Загрузка узла Xen по PXE

На этой странице рассматривается процедура загрузки Xen с помощью PXELINUX.


Icon-caution.gif

Бездисковая загрузка узла в соответствии с описанной процедурой невозможна при использовании 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               

[править] Дополнительная информация

[править] Материалы на Xgu.ru посвящённые загрузке системы

Бездисковая загрузка:

Xen
Xen

Виртуализация и паравиртуализация
Эмуляция | Виртуализация | Паравиртуализация | Рекурсивная виртуализация
Паравиртуальные драйверы | Виртуализация ввода/вывода

Общие вопросы по Xen
Аппаратные требования Xen | Поддержка Xen операционными системами | Поддерживаемые аппаратные архитектуры |
Примеры использования Xen | Сравнение виртуальных машин |
Хостинг на Xen
Альтернативы Xen

свободные: KVM | LXC | OpenVZ | VServer | QEMU | VirtualBox
проприетарные: Hyper-V | VMware ESX Server

Технические вопросы
Инсталляция Xen | Конфигурационный файл домена
ОС в Xen: Linux small icon.png Linux | Solaris small icon.png OpenSolaris | Freebsd small icon.png FreeBSD | Openbsd small icon.png OpenBSD | Netbsd small icon.png NetBSD | Windows xp small icon.png Windows XP | Windows vista small icon.png Windows Vista
Устройства: Блочные | USB | SCSI | Сеть | PV-драйверы для Linux | PV-драйверы для Windows | Консоль

Распределение ресурсов между доменами | Перенос системы внутрь Xen | HVM -> PV

Управление и кластеризация | Enomalism | Xen+DRBD | Ganeti | Convirt 2.0 | SkyCover Infrastructure