Stub
De Xen-BR wiki
Conteúdo |
Por que usar Stub Domains?
O modelo anterior para se usar HVM (Hardware Virtual Machine), acabava deixando o Dom0 com um número grande de processos quando se precisava ter um HVM. O Dom0 era responsável por rodar o gerenciandor de domínios, o construtor de domínios, os device models, o pygrub, usando o usuário root que era um grande problema com relação a segurança e escalabilidade.
Stub Domains são domínios paravirtualizados que auxiliam o Dom0 a a rodar os componentes do Xen para o HVM. Eles ficam responsáveis por praticamente todos os componentes que antes eram destinados ao Dom0. É um domínio baseado no Mini-OS e é baseado em POSIX.
O Mini-OS faz o papel de frontend de dispositívos de blocos, Frame Buffer, Sistema de arquivos, gerenciamento de memória mais avançado (memória read-only e CoW para páginas vazias), Espaço de endereçamento simples, mono-VCPU e sem direito de preempção. Este modelo acaba por retirar toda a carga que antes era delegada ao Dom0 e melhora a performace do domínio HVM.
Considerações iniciais
Este HowTo foi testado em uma instalação do debian lenny AMD64 com o xen3.3. A instalação foi feita utilizando o howto "Xen-3.3.0-install-all".
Stubdom é uma feature que está disponível apenas a partir do Xen 3.3.
Verificando o processador
Apenas para relembrar, seu processador deve ter suporte a virtualização:
egrep -i "vmx|svm" /proc/cpuinfo
Criando volume lógico
Vamos criar um volume lógico chamado "windows" dentro do grupo de volumes "xendisk".
lvcreate -L 10G -n windows.disk xendisk
Criando imagem do cd do Windows
Para criar a imagem do cd de instalação do windows faça:
dd if=/media/cdrom of=/admrede/win2003.iso
Ajustes no ambiente
Vocé deve criar os diretórios e os links com os comando abaixo:
mkdir -p /exports/usr/share/xen/qemu ln -s /usr/share/xen/qemu/keymaps /exports/usr/share/xen/qemu mkdir -p /exports/var/lib ln -s /var/lib/xen /exports/var/lib
Assim, toda vez que a dom0 for inciada será necessário executar este comando:
/usr/sbin/fs-backend &
Você pode adicioná-lo no arquivo /etc/rc.local, antes da linha "exit 0"
Arquivos de configuração
Para utilizar stub domais são necessários 2 arquivos de configuração, um para a domU e outro para o mini-os.
Neste exemplo a domU chamará "windows", então os arquivos de configuração serão "windows" (domU) e "windows-dm" (mini-os).
Arquivo "windows"
kernel = "/usr/lib/xen/boot/hvmloader" builder='hvm' memory = 1024 name = "windows" vif = [ 'type=ioemu, bridge=eth0,mac=00:16:3E:78:CD:EE' ] device_model = '/usr/lib/xen/bin/stubdom-dm' boot="dc" acpi=1 sdl=0 stdvga=0 vnc=1 vnclisten = '172.16.10.21' on_crash='restart' on_reboot='restart' usb=1 usbdevice='tablet'
Atente que o ip da opção vnclisten NÃO É o ip da domU nem da Dom0, é usado apenas para acesso via vnc.
arquivo "windows-dm"
Este arquivo deve obrigatóriamente ter o mesmo nome que a domU, seguido de "-dm"
kernel = "/usr/lib/xen/boot/ioemu-stubdom.gz" vif = [ ' ip=172.16.10.21', 'bridge=eth0,mac=00:16:3E:78:CD:EE'] disk = ['file:/admrede/win2003.iso,hdd:cdrom,r','phy:/dev/xendisk/windows.disk,hda,w']
O ip do "vif" deve ser o mesmo do arquivo anterior.
Inciando a VM
xm create windows
Execute um xm list e verifique se subiram duas vms, conforme exemplo abaixo.
hbueno:/etc/xen# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 911 4 r----- 109560.6 windows 17 300 1 r----- 302.4 windows-dm 18 32 1 -b---- 4.1
Agora já podemos acessar a domU via vnc para concluir a instalação do windows.
vncviewer 172.16.10.21
Depois que o windows estiver instalado você pode alterar a opção de boot no arquivo "windows".
boot="dc" para boot = "c"
Links de referência
AUTOR: hbueno
