palestra xen-flisol2011
DESCRIPTION
Palestra sobre o Xen hypervisor, apresentada no FLISOL-ES de 2011.TRANSCRIPT
Virtualização com
André Luiz F. Moreira [email protected]
Xen hypervisor (1/2)
● Software de virtualização;● Também conhecido como VMM (Virtual
Machine Monitor);● Lançado sob a licença GPL v2;● Suporta as arquiteturas:
– x86;
– x86-64;
– Itanium;
– Power PC;
– ARM.
Xen hypervisor (2/2)
● Originalmente desenvolvido pelo Grupo de Pesquisa de Sistemas na Universidade de Cambridge como parte do projeto Xenoservers;
● O projeto Xenoservers tem como objetivo proporcionar uma “infra-estrutura global para computação distribuída”;
● Primeira versão lançada em Outubro de 2003.
Cenários de uso
● Consolidação de servidores;● Computação em cluster;● Variedade de sistemas operacionais;● Independência do hardware;● Desenvolvimento de kernel.
Tipos de virtualização
● Virtualização completa (HVM):– Vms não sabem que estão virtualizadas;
– Desempenho muito próximo a sistemas instalados do modo convencional;
– É necessário um processador adequado (IVT e AMD-V).
● Paravirtualização– Vms sabem que estão virtualizadas;
– Em geral, possui melhor desempenho do que o HVM;
– SO precisa ser modificado.
Virtualização completa (HVM)
Paravirtualização
Verificando se o processador tem suporte a HVM
● Intel VT:– # grep vmx /proc/cpuinfo
● AMD-V:– # grep svm /proc/cpuinfo
● Ativar na BIOS a opção de virtualização do processador caso o mesmo tenha suporte;
Hypervisor, dom0 e domU
● Hypervisor:– Controla os recursos de
comunicação,memória e processamento das vms.
● dom0:– Iniciado pelo hypervisor após o boot do
sistema;
– Possui privilégios que permitem gerenciar as outras máquinas virtuais.
● domU:– Domínios não-privilegiados (Unprivileged)
lançados e controlados pelo dom0;
Rings
SOs suportados como domU
SOs que podem ser utilizados como dom0
Instalação do Xen 4
● Debian:– # apt-get install xen-linux-system-2.6-xen-
amd64
● Opensuse:– # zypper install xen xen-libs xen-tools vm-
install kernel-xen virt-manager virt-viewer
Entrada no GRUB
title Debian Xen 2.0.7/2.6.11
root (hd0,0)
kernel /boot/xen-2.0.7.gz dom0_mem=65536 noreboot
module /boot/xen-linux-2.6.11-ksxen0 root=/dev/hda1 ro ramdisk_size=24576 console=tty0
module /boot/initrd-2.6.11-ksxen0
Arquivos de configuração
● /etc/xen/xend-config.sxp● /etc/xen/scripts/● /etc/xen/vm.cfg● /etc/xen/auto/vm.cfg
Criando máquinas virtuais (domUs)
● Criação manual:– Criação dos discos;
– Criação do chroot;
– Ajustes em alguns arquivos do chroot;
– Usar o kernel do Xen;
– Criação do arquivo de configuração.
● Uso de ferramentas automáticas:– xen-create-image;
– virt-install.
Criando arquivos para serem usados como partições do
domU● # dd if=/dev/zero of=vm.img bs=1M
count=10240● # qemu-img create vm.img 10G
Criando as partições do domU usando LVM
● # pvcreate /dev/sda3● # vgcreate vgxen01 /dev/sda3● # lvcreate -L 2G -n vm-root vgxen01● # lvcreate -L 3G -n vm-usr vgxen01● # lvcreate -L 512M -n vm-swap vgxen01● # mkfs.ext3 /dev/vgxen01/vm-root● # mkfs.ext3 /dev/vgxen01/vm-usr● # mkswap /dev/vgxen01/vm-swap
Criação do chroot
● Usando debootstrap:– # debootstrap --arch=amd64 squeeze
/mnt http://ftp.us.debian.org
● Usando o tar:– # tar -zcpvf chroot.tar.gz --exclude /proc
--exclude /sys --exclude /chroot.tar.gz /
– # tar -xzpvf chroot.tar.gz -C /mnt
Ajustes no chroot e uso do kernel do Xen
● /etc/inittab● /etc/securetty● /etc/fstab
● linux-image-2.6.32-5-xen-amd64● linux-image-2.6.32-5-xen-686● kernel-xen-2.6.18-194.32.1.el5
Arquivo de configuração (HVM)
kernel = “/usr/lib/xen/boot/hvmloader”
builder = “hvm”
name = “vm-web”
memory = “256”
vcpus = “2”
vif = [ “bridge = eth0” ]
disk = [ 'phy:/dev/vgxen01/vm-web-root,xvda1,w', 'phy:/dev/vgxen01/vm-web-swap,xvda2,w' ]
root = "/dev/xvda1 ro"
Arquivo de configuração (paravirtualização)
kernel = “/boot/vmlinuz”
ramdisk = “/boot/initrd.img”
builder = “linux”
name = “vm-web”
memory = “256”
vcpus = “2”
vif = [ “bridge = eth0” ]
disk = [ 'phy:/dev/vgxen01/vm-web-root,xvda1,w', 'phy:/dev/vgxen01/vm-web-swap,xvda2,w' ]
root = "/dev/xvda1 ro"
Ferramentas automáticas
● xen-create-image:– xen-create-image --hostname <hostname> --ip
<ip> --scsi --vcpus 2 --pygrub --dist <lenny|maverick|whatever>
● virt-install --prompt
Comandos para gerenciamento dos domUs
● # xm list● # xm create -c vm-web.cfg● # xm console vm-web● # xm reboot vm-web● # xm shutdown vm-web● # xm destroy vm-web● # xm mem-set vm-web● # xm info● # xm migrate vm-web xen-server -l
Remus
● Fornece alta disponibilidade para as vms do Xen;
● Mantém uma cópia atualizada da vm em um servidor de backup;
● É transparente.
Ferramentas gráficas
● Virt-manager;● Convirture;● Enomalism.
Virt-manager
Xen 4.1
● Suporte para sistemas com mais de 255 processadores e super-páginas de 1GB/2MB;
● Advanced Vector Extension (AVX);● API Access Memory;● Mais informações sobre a release:
http://wiki.xen.org/xenwiki/Xen4.1
Mais informações
● http://www.xen.org● http://www.xen.org/support/community.html
● http://wiki.xen.org● http://wiki.debian.org/Xen● http://en.gentoo-wiki.com/wiki/Xen● http://wiki.freebsd.org/FreeBSD/Xen● http://www.netbsd.org/ports/xen/howto.html
Dúvidas, Perguntas