Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

linux:artigos:howto-xen3 [13/01/2015 10:44] (atual)
Linha 1: Linha 1:
 +~~NOTOC~~
 +====== HOWTO Xen 3 - Debian Etch ======
 +
 +===== Introdução =====
 +
 +//**Xen**// é um monitor de máquinas virtuais de código aberto. Ele foi desenvolvido com a capacidade de executar até 100 (cem) sistemas operacionais em um único computador. Ele segue o conceito de para-virtualização,​ onde um mesmo hardware (físico) é compartilhado entre várias instalações de GNU/Linux, onde as mesmas trabalham de maneira totalmente individual, apenas utilizando o mesmo //kernel// da máquina real em todas as máquinas virtuais.
 +
 +Aproveito também para indicar a leitura do tutorial de João Eriberto Mota Filho, que ajuda bastante o entendimento do uso do XEN, incluindo opções de uso com LVM (item que eu **não** abordo aqui).
 +
 +Vamos às etapas:
 +
 +===== Instalação do Debian =====
 +
 +Crie uma instalação limpa (//​vanilla//​) do Debian Etch. Selecione apenas os pacotes básicos do sistema ou outros pacotes que lhe sejam necessários.
 +
 +Caso você tenha duvidas neste processo, poderá consultar o manual oficial de instalação do Debian Etch GNU/Linux em [[http://​www.debian.org/​releases/​stable/​i386/​]].
 +
 +==== Atualizando o sistema ====
 +
 +Antes de continuarmos vamos atualizar o sistema recém instalado. ​
 +
 +Configure seu apt (sources.list) da seguinte forma:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ cd /etc/apt
 +root@maq_etch_real:/​etc/​apt#​ mv sources.list sources.list.bkp
 +root@maq_etch_real:/​etc/​apt#​ wget -c http://​downloads.fabriciovc.eti.br/​apt/​sources.list
 +root@maq_etch_real:/​etc/​apt#​ aptitude update
 +root@maq_etch_real:/​etc/​apt#​ aptitude dist-upgrade
 +root@maq_etch_real:/​etc/​apt#​ aptitude install vim vim-scripts ctags ntpdate nmap tcpdump bzip2 less links
 +</​code>​
 +
 +==== Outras configurações ====
 +
 +Precisamos renomear o diretório /lib/tls para que o mesmo permaneça desabilitado. O TLS (//Thread Local Storage//) pode causar lentidão no XEN. É por isso que o desabilitamos.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ mv /lib/tls /​lib/​tls.disabled
 +</​code>​
 +
 +===== Instalação do Xen =====
 +
 +Instale os seguintes pacotes:
 +
 +  * xen-hypervisor-3.0.3-1-i386
 +  * xen-utils-3.0.3-1
 +  * xen-docs-3.0
 +  * xen-tools
 +
 +<​code>​
 +root@maq_etch_real:​~#​ aptitude install <​pacotes_listados>​
 +</​code>​
 +
 +==== Instalação do Kernel XEN ====
 +
 +Após o sistema e o XEN prontos, precisamos agora preparar o kernel XEN para o boot. Para isso, vamos instalar o kernel XEN disponível no repositório do debian. Atualmente, o pacote está disponível para a versão 2.6.25-2 (686), versão atual do kernel linux do Debian Etch utilizando repositórios //​backports//​.
 +
 +  * linux-image-2.6.25-2-xen-686
 +  * linux-modules-2.6.25-2-xen-686
 +
 +Note que esta versão, disponível no repositório,​ é para processadores 686 e compatíveis,​ caso você possua um processador AMD (K7), essa versão do kernel não irá funcionar.
 +
 +Existe um repositório //​backports//​ com algumas outras versões de //kernel// XEN, incluindo suporte processadores AMD. Claro, por serem pacotes backports, não estão disponíveis no repositório oficial.
 +
 +Caso esse seja sua situação, com a minha, acrescente o repositório backport no //​sources.list//​.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​etc/​apt/​sources.list
 +
 +deb http://​puga.vdu.lt/​debian etch main
 +deb-src http://​puga.vdu.lt/​debian etch main
 +</​code>​
 +
 +Agora atualize a lista de pacotes.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ aptitude update
 +</​code>​
 +
 +Neste repositório,​ você vai encontrar vários pacotes do kernel linux disponíveis para 686 e para K7. Recomendo instalar os pacotes oficiais para 686, mas para a K7, os pacotes disponíveis atualmente no repositório backports, que inclusive estão funcionando perfeitamente aqui são:
 +
 +  * linux-image-2.6.18-3-xen-k7
 +  * linux-modules-2.6.18-3-xen-k7
 +
 +<​code>​
 +root@maq_etch_real:​~#​ aptitude install <​pacotes_listados>​
 +</​code>​
 +
 +**Nota:** Aqui na minha máquina, possuo 1G de memória RAM, porém depois que reiniciei a máquina com o kernel XEN, foi detectado apenas 712M. Isso é por questões de uso de memória entra a máquina real e a XEN. De acordo com a documentação oficial, a memória utilizada pela máquina real não pode ser utilizada pelas virtuais, com isso, temos aproximadamente 384M de memória disponível para as duas máquinas virtuais que iremos criar.
 +
 +===== Configurando o Grub =====
 +
 +Bom, instalado a versão do kernel linux com suporte a XEN, podemos conferir se o grub foi atualizado com sucesso. Normalmente ele é atualizado automaticamente.
 +
 +Veja exemplo do /​boot/​grub/​menu.lst a seguir.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​boot/​grub/​menu.lst
 +
 +default ​        0
 +timeout ​        5
 +color cyan/blue white/blue
 +
 +title           ​Debian GNU/Linux, kernel 2.6.18-3-xen-k7 / Xen 3.0.3-1-i386
 +root            (hd0,0)
 +kernel ​         /​xen-3.0.3-1-i386.gz
 +module ​         /​vmlinuz-2.6.18-3-xen-k7 root=/​dev/​hda3 ro console=tty0
 +module ​         /​initrd.img-2.6.18-3-xen-k7
 +savedefault
 +
 +title           ----
 +root            (hd0,0)
 +
 +title           ​Debian GNU/Linux, kernel 2.6.18-5-k7
 +root            (hd0,0)
 +kernel ​         /​vmlinuz-2.6.18-5-k7 root=/​dev/​hda3 ro
 +initrd ​         /​initrd.img-2.6.18-5-k7
 +savedefault
 +</​code>​
 +
 +Com isso, a instalação e a configuração do grub está concluída. Reinicie a máquina e carregue o kernel linux com o suporte ao XEN que você acabou de adicionar.
 +
 +Como citado anteriormente,​ aqui estaremos com uma limitação de memória RAM devido a reserva da mesma para as máquinas virtuais. De acordo com pesquisas, encontrei essas possibilidades a seguir a serem colocanas no grub, porém, **não foram testadas**. ​
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​boot/​grub/​menu.lst
 +
 +kernel ​        /​xen-3.0.3-1-i386.gz dom0_mem=131072
 +module ​        /​vmlinuz-2.6.18-3-xen-k7 root=/​dev/​hda3 ro console=tty0 mem=1G
 +</​code>​
 +
 +===== Configurando a rede =====
 +
 +Outro item importante é configurar a rede do seu sistema real para que possa atender a rede da máquina virtual. Para isso, altere o arquivo //​**/​etc/​network/​interfaces**//​ e o deixe da seguinte maneira:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​etc/​network/​interfaces
 +
 +auto lo
 +iface lo inet loopback
 +
 +auto xen
 +iface xen inet static
 +        address 10.0.15.2
 +        netmask 255.255.255.0
 +        network 10.0.15.0
 +        broadcast 10.0.15.255
 +        gateway 10.0.15.120
 +        bridge_ports eth0
 +        bridge_maxwait 0
 +</​code>​
 +
 +Note que no parâmetro //​bridge_ports//​ estamos relacionando a //bridge// de rede com a placa //eth0//. Caso você possua mais placas de rede, relacione à placa correspondente.
 +
 +Caso esta placa de rede trabalhe com endereçamento dinâmico (dhcp), a configuração fica da seguinte maneira:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​etc/​network/​interfaces
 +
 +auto lo
 +iface lo inet loopback
 +
 +auto xen
 +iface xen inet dhcp
 +        bridge_ports eth0
 +        bridge_maxwait 0
 +</​code>​
 +
 +===== Criando a máquina virtual XEN =====
 +
 +Aqui iremos mostrar os passos da criação de uma máquina virtual Debian Etch GNU/Linux e um Mandriva 2007 Spring, ou seja, após a conclusão dessas etapas, estaremos com três máquinas operando simultânemanente. Uma máquina real e duas máquinas virtuais.
 +
 +==== Criando a máquinas virtual XEN Debian 4.0 ====
 +
 +O comando a seguir está incluso no pacote //​**xen-tools**//​. Ele irá criar uma máquina virtual Debian Etch em um arquivo local (.img) para ser iniciado pelo XEN.
 +
 +Crie um arquivo //script// com as informações a seguir. Altere as opções desejadas e execute o mesmo para que a máquina seja criada. ​
 +
 +Este comando irá criar a máquina virtual em um arquivo, juntamente com um arquivo //swap//. Essas duas imagens serão criadas em //​**/​home/​xen/​domains/​etch/​arquivos.img**//​ já configuradas com nome de máquina, ip, tamanho, etc.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​etc/​xen/​xen-create-image.sh
 +
 +xen-create-image \
 +--initrd /​boot/​initrd.img-2.6.18-3-xen-k7 \
 +--kernel /​boot/​vmlinuz-2.6.18-3-xen-k7 \
 +--memory 128Mb \
 +--swap 256Mb \
 +--size 2Gb \
 +--image sparse \
 +--fs xfs \
 +--dist etch \
 +--debootstrap \
 +--mirror ftp://​ftp.br.debian.org/​debian \
 +--ip 192.168.0.10 \
 +--netmask 255.255.255.0 \
 +--gateway 192.168.0.10 \
 +--dir /home/xen \
 +--passwd \
 +--hostname etch
 +</​code>​
 +
 +**Nota:** Para maiores informações sobre os parâmetros do comando //​xen-create-image//,​ execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xen-create-image --help
 +</​code>​
 +
 +Executando o script recém criado para a criação da máquina virtual.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ chmod u+x /​etc/​xen/​xen-create-image.sh
 +root@maq_etch_real:​~#​ /​etc/​xen/​xen-create-image.sh
 +</​code>​
 +
 +==== Ajustes necessários ====
 +
 +Após a instalação,​ teremos as imagens em /home/xen (como já falado) e ainda o arquivo com as configurações da máquina virtual para que a mesma funcione corretamente. Este arquivo está no diretório /​etc/​xen/​etch.cfg.
 +
 +Um exemplo do mesmo esta mostrado a seguir, já com as alterações necessárias para que a máquina funcione perfeitamente.
 +
 +<​code>​
 +root@maq_etch_real:​~#​ vi /​etc/​xen/​etch.cfg
 +
 +kernel ​ = '/​boot/​vmlinuz-2.6.18-3-xen-k7'​
 +ramdisk = '/​boot/​initrd.img-2.6.18-3-xen-k7'​
 +
 +memory ​ = '​128'​
 +
 +root    = '/​dev/​sda1 ro'
 +disk    = [ '​file:/​home/​xen/​domains/​etch/​disk.img,​sda1,​w',​ '​file:/​home/​xen/​domains/​etch/​swap.img,​sda2,​w'​ ]
 +
 +name    = '​etch'​
 +
 +# Altere esta opção
 +vif     = [ '​bridge=xen'​ ]
 +
 +on_poweroff = '​destroy'​
 +on_reboot ​  = '​restart'​
 +on_crash ​   = '​restart'​
 +</​code>​
 +
 +==== Criando a máquinas virtual XEN Mandriva 2007 Spring ====
 +
 +Esta parte do howto foi baseado no manual oficial da Mandriva descrito no wiki da mesma [[linux:​howto:​xen_debian_img_howto#​tutoriais_consultados |(2)]].
 +
 +**Nota**: É necessário estar em uma máquina do mandriva 2007 spring para que esses passos possam realizados de maneira correta, pois o sistema base é usado para a geração da máquina virtual.
 +
 +Primeiramente precisamos criar um arquivo .img que irá armazenar a nossa instalação virtual do Mandriva 2007 Spring. Netsa etapa, iremos criar dois arquivos. O primeiro será o arquivo que conterá o sistema instaldo (raiz - /) e o outro, a área de swap. 
 +
 +==== Criando e formatandos os arquivos de imagem ====
 +
 +Iniciamos então com a criação dos arquivos de imagens.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ mkdir -p /​home/​xen/​domains/​mdv2007.1
 +root@maq_mdv_real:​~#​ dd if=/​dev/​zero of=/​home/​xen/​domains/​mdv2007.1/​disk.img bs=1024 count=2097152
 +root@maq_mdv_real:​~#​ dd if=/​dev/​zero of=/​home/​xen/​domains/​mdv2007.1/​swap.img bs=1024 count=262144
 +</​code>​
 +
 +E claro, não podemos esquecer de formatá-las.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ mkfs.ext3 /​home/​xen/​domains/​mdv2007.1/​disk.img
 +root@maq_mdv_real:​~#​ mkfs.swap /​home/​xen/​domains/​mdv2007.1/​swap.img
 +</​code>​
 +
 +==== Preparando a ambiente ====
 +
 +Primeiramente vamos criar uma variável de ambiente para que possamos usá-la no decorrer do processo.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ export raizvirtual=/​mnt/​disk.img
 +</​code>​
 +
 +Agora vamos criar o ponto de montagem e montar o arquivo de imagem que será utilizada para a instalação da máquina virtual.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ mkdir -p $raizvirtual
 +root@maq_mdv_real:​~#​ mount -o loop /​home/​xen/​domains/​mdv2007.1/​disk.img $raizvirtual
 +</​code>​
 +
 +==== Instalando a máquina virtual com Urpmi ====
 +
 +Primeiramente,​ vamos criar um repositório RPM na máquina local:
 +
 +Um exemplo desta criação é:
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ urpmi.removemedia -a
 +root@maq_mdv_real:​~#​ urpmi.addmedia main ftp://​mirror.cricyt.edu.ar/​MandrivaLinux/​official/​2007.1/​i586/​media/​main/​release
 +root@maq_mdv_real:​~#​ urpmi.addmedia --update main_updates ftp://​mirror.cricyt.edu.ar/​MandrivaLinux/​official/​2007.1/​i586/​media/​main/​updates
 +root@maq_mdv_real:​~#​ urpmi.addmedia contrib ftp://​mirror.cricyt.edu.ar/​MandrivaLinux/​official/​2007.1/​i586/​media/​contrib/​release
 +root@maq_mdv_real:​~#​ urpmi.addmedia --update contrib_updates ftp://​mirror.cricyt.edu.ar/​MandrivaLinux/​official/​2007.1/​i586/​media/​contrib/​updates
 +</​code>​
 +
 +Agora podemos criar a estrutura de instalação RPM para a máquina virtual.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ mkdir -p $raizvirtual/​var/​lib/​rpm
 +root@maq_mdv_real:​~#​ rpm --initdb --root $raizvirtual
 +</​code>​
 +
 +Em seguida, o comando para a instalação do mandriva na máquina virtual.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ urpmi --root $raizvirtual basesystem urpmi
 +</​code>​
 +
 +==== Copiando e criando arquivos necessários ====
 +
 +Instalado o sistema base na máquina virtual, vamos copiar mais alguns arquivos necessários para que a máquina virtual funcione corretamente.
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ cp /​etc/​resolv.conf $raizvirtual/​etc
 +root@maq_mdv_real:​~#​ cp /etc/fstab $raizvirtual/​etc
 +root@maq_mdv_real:​~#​ cp /​etc/​sysconfig/​network-scripts/​ifcfg-eth0 $raizvirtual/​etc/​sysconfig/​network-scripts
 +</​code>​
 +
 +Em seguida, alteramos a raiz do sistema para a raiz do sistema virtual
 +
 +<​code>​
 +root@maq_mdv_real:​~#​ chroot $raizvirtual
 +</​code>​
 +
 +E criamos alguns arquivos necessários
 +
 +<​code>​
 +root@maq_mdv_chroot:​~#​ touch /etc/mtab /​etc/​urpmi/​urpmi.cfg /​var/​lib/​urpmi/​MD5SUM
 +</​code>​
 +
 +Agora criamos o arquivo de senha do sistema e setamos uma senha para o usuario root.
 +
 +<​code>​
 +root@maq_mdv_chroot:​~#​ pwconv
 +root@maq_mdv_chroot:​~#​ passwd root
 +</​code>​
 +
 +Em seguida habilite a rede na máquina virtual editando o arquivo /​etc/​sysconfig/​network e configure a rede da máquina virtual no arquivo /​etc/​sysconfig/​network-scripts/​ifcfg-eth0.
 +
 +<​code>​
 +root@maq_mdv_chroot:​ vi $raizvirtual/​etc/​sysconfig/​network
 +
 +NETWORKING=yes
 +</​code>​
 +
 +<​code>​
 +root@maq_mdv_chroot:​ vi $raizvirtual/​etc/​sysconfig/​network-scripts/​ifcfg-eth0
 +
 +DEVICE=eth0
 +BOOTPROTO=static
 +IPADDR=10.0.15.4
 +NETMASK=255.255.255.0
 +NETWORK=10.0.15.0
 +BROADCAST=10.0.15.255
 +GATEWAY=10.0.15.120
 +DNS1=10.0.15.120
 +ONBOOT=yes
 +METRIC=10
 +MII_NOT_SUPPORTED=yes
 +</​code>​
 +
 +Antes de finalizarmos,​ precisamos alterar o arquivo /etc/fstab da máquina virtual para que a mesma seja carregada de maneira correta no XEN.
 +
 +<​code>​
 +root@maq_mdv_chroot:​ vi $raizvirtual/​etc/​fstab
 +
 +/​dev/​sda1 ​    / ​     ext3     ​defaults ​                 0     2
 +proc          /proc  proc     ​rw,​nodev,​nosuid,​noexec ​   0     0
 +/​dev/​sda2 ​    ​none ​  ​swap ​    ​sw ​                       0     0
 +</​code>​
 +
 +Por fim, saia do ambiente chroot e desmonte o arquivo de imagem.
 +
 +<​code>​
 +root@maq_mdv_chroot:​~#​ exit
 +root@maq_mdv_real:​~#​ umount $raizvirtual
 +</​code>​
 +
 +==== Ajustes necessários ====
 +
 +Por fim, precisamos criar o arquivo de configuração em //​**/​etc/​xen**//​ para que a máquina virtual do mandriva possa ser carregada de maneira correta.
 +
 +<​code>​
 +root@maq_mdv_real:​ vi /​etc/​xen/​mdv2007.1.cfg
 +
 +kernel ​ = '/​boot/​vmlinuz-2.6.18-3-xen-k7'​
 +ramdisk = '/​boot/​initrd.img-2.6.18-3-xen-k7'​
 +
 +memory ​ = '​128'​
 +
 +root    = '/​dev/​sda1 ro'
 +disk    = [ '​file:/​home/​xen/​domains/​mdv2007.1/​disk.img,​sda1,​w',​ '​file:/​home/​xen/​domains/​mdv2007.1/​swap.img,​sda2,​w'​ ]
 +
 +name    = '​mdv2007.1'​
 +
 +# Altere esta opção
 +vif     = [ '​bridge=xen'​ ]
 +
 +on_poweroff = '​destroy'​
 +on_reboot ​  = '​restart'​
 +on_crash ​   = '​restart'​
 +</​code>​
 +
 +==== Problemas com módulos no Mandriva ====
 +
 +Um problema que acontece com esse método de instalação do mandriva, é em relação aos módulos do kernel. Como o kernel executado na máquina virtual e na real é o mesmo, o mandriva não terá os módulos do kernel da máquina real. Para isso, você precisa copiar os módulos da máquina real para a virtual. Vamos ao processo.
 +
 +Primeiramente inicie a máquina virtual do mandriva. Mesmo com erros de módulos, ela será iniciada normalmente.
 +
 +Agora você precisa configurar os repositórios Urpmi na máquina virtual, como já realizado na máquina mandriva real (explicado anteriormente).
 +
 +Instale os seguintes pacotes:
 +
 +  * openssh
 +  * openssh-server
 +  * openssh-clients
 +
 +<​code>​
 +root@maq_mdv_virtual:​~#​ urpmi <​pacotes>​
 +</​code>​
 +
 +Agora realize a cópia do módulos da máquina real para a virtual.
 +
 +<​code>​
 +root@maq_mdv_virtual:​~#​ scp -r ip_maquina_real:/​lib/​modules/​2.6.18-3-xen-k7/​ /​lib/​modules
 +</​code>​
 +
 +Agora apenas reinicie a máquina virtual.
 +
 +===== Comando de gerenciamento das máquinas virtuais =====
 +
 +Para iniciar uma máquina virtual, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm create -c maquina_virtual.cfg
 +</​code>​
 +
 +A opção "​-c"​ habilita o tty1 após o boot da máquina virtual. Caso você opte por carregar a máquina virtual em background, execute o mesmo comando sem a opção "​-c"​.
 +
 +Caso você tenha optado por carregar a máquina com console, para sair desta console sem desabilitá-la,​ utilize a combinação de teclas: "Ctrl ]".
 +
 +Para voltar da máquina real para a máquina virtual carregada em background, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm console maquina_virtual
 +</​code>​
 +
 +**Nota**: Sua máquina virtual é idêntica a uma máquina real. Todos os comandos, arquivos de configuração,​ etc, funcionam normalmente. A única diferença é que o kernel que está sendo utilizado pela máquina virtual é o mesmo kernel que está sendo utilizado pela máquina real. É ele que possibilita o gerenciamento do mesmo hardware pelas várias máquinas estanciadas.
 +
 +Para desligar uma máquina virtual, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm shutdown -H maquina_virtual
 +</​code>​
 +
 +Para reiniciar uma máquina virtual em execução, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm reboot maquina_virtual
 +</​code>​
 +
 +Para desligar uma máquina virtual em execução sem realizar o sincronismo dos discos, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm destroy maquina_virtual
 +</​code>​
 + 
 +**Cuidado**:​ Este comando é similar ao uso do "kill -9 PID", ou seja este comando poderá causar danos à máquina virtual, portanto, só o utilize em casos extremos.
 +
 +Para listar as máquina(s) virtual(is) em execução, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm list
 +</​code>​
 +
 +**Obs**: Você vai notar que serão mostradas letras de identificação de estado das máquinas listadas. Essas letras identificam:​
 +
 +  * b (blocked): máquina bloqueada
 +  * c (crashed): máquina sofreu um "​crash"​
 +  * d (dying): máquina saindo do ar. Normalmente ocorre em um desligamento ou "​crash"​.
 +  * p (paused): máquina pausada
 +  * r (running): máquina em execução
 +  * s (shutdown): máquina em processo de desligamento
 +
 +Para verificar o uso de recursos de uma máquina virtual em execução, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~# ​ xm top
 +</​code>​
 +
 +Para paralizar uma máquina virtual em execução, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~# ​ xm pause maquina_virtual
 +</​code>​
 +
 +Para desparalizar uma máquina virtual paralizada, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~# ​ xm unpause maquina_virtual
 +</​code>​
 +
 +Para redefinir a quantidade de memória de uma máquina virtual em execução, execute:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ xm mem-set maquina_virtual 256
 +</​code>​
 +
 +===== Midias removíveis na máquina virtual =====
 +
 +Para isso, apenas acrescente a entrada da unidade removível (ex: cdrom) no /etc/fstab e altere o arquivo de configuração do xen (/​etc/​xen/​maquina.cfg) informando o dispositível móvel a ser disponibilizado.
 +
 +<​code>​
 +# /etc/fstab
 +/​dev/​sda1 ​    / ​     ext3     ​defaults ​                 0     2
 +proc          /proc  proc     ​rw,​nodev,​nosuid,​noexec ​   0     0
 +/​dev/​sda2 ​    ​none ​  ​swap ​    ​sw ​                       0     0
 +/​dev/​hdc ​     /mnt   ​iso9660 ​ ro,​user,​noauto ​           0     0
 +</​code>​
 +
 +<​code>​
 +root@maq_etch_real:​ vi /​etc/​xen/​maquina_virtual.cfg
 +disk    = [ '​file:/​home/​xen/​domains/​etch/​disk.img,​sda1,​w',​ '​file:/​home/​xen/​domains/​etch/​swap.img,​sda2,​w',​ '​phy:/​dev/​hdc,​hdc,​ro'​ ]
 +</​code>​
 +
 +===== Carregando máquinas virtuais automaticamente =====
 +
 +Para carregar as máquinas virtuais automaticamente junto ao boot da máquina real, realize os seguintes comando para cada máquina virtual:
 +
 +<​code>​
 +root@maq_etch_real:​~#​ mkdir /​etc/​xen/​auto
 +root@maq_etch_real:​~#​ cd /​etc/​xen/​auto
 +root@maq_etch_real:​~#​ ln -s /​etc/​xen/​maquina.cfg
 +</​code>​
 +
 +===== Hardware Utilizado =====
 +  * Processador:​ AMD Athlon(tm) XP 1700+ (1.46 Ghz)
 +  * Memória RAM: 1GB
 +  * Placa Mãe: Asus A7V266 MX
 +  * Disco: 40 GB 7200 RPM Seagate
 +
 +===== Tutoriais consultados =====
 +  * (1)http://​www.eriberto.pro.br/​xen/​
 +  * (2)http://​wiki.mandriva.com/​en/​Development/​Howto/​Xen#​Guest_domain_installation
 +
 +===== Outros Tutoriais =====
 +  * http://​caiocandido.wordpress.com/​2007/​08/​09/​xen-misterios-instalacao-via-deb/​
 +
 +===== Links =====
 +  * http://​xen.com.br
 +
 +----
 +<​html>​
 +<a href="​javascript:​window.history.go(-1)">​Voltar</​a>​
 +</​html>​
  
linux/artigos/howto-xen3.txt · Última modificação: 13/01/2015 10:44 (edição externa)