Conhecimento para todos

Xen mais, Xen menos. Particionando uma máquina virtual no Xen utilizando Debian Etch 4.0

Agosto 16, 2007 · 5 Comentários

Particionando uma máquina virtual no Xen utilizando Etch 4.0

Nesse pequeno texto-script, vou relatar os passos necessários para instalação de máquinas virtuais particionadas no Xen, mas isso é uma das forma de se fazer, existem muitos documentos em Inglês, não achei nenhum em português, então tive que quebrar a cabeça um pouquinho, mas consegui configurar, portanto vou citar como eu faço. Gostaria de coloborar postando isso no meu blog :-) E ai está !!!

Mãos a obra, vamos começar a trabalhar:

 

 

1)Criando os volumes logicos (lv), á partir de um vg já existente

 

Primeiro é necessário ver se a espaço disponível em disco para criação da máquina:

 

# vgdisplay

 

Na saída do comando irá aparcer uma série de opções. Mas as que nos interessa é como está no exemplo abaixo:

 

 

VG Size 289,18 GB

PE Size 4,00 MB

Total PE 74029

Alloc PE / Size 62080 / 242,50 GB

Free PE / Size 11949 / 46,68 GB

 

 

Isso significa que temos “utilizado” (não fisicamente, mas sim nos tamanhos das partições), aproximadamente 242,50 GB, e temos livre 46,68 GB. E um total de 289,18 GB.

 

 

Mas também não podemos esquecer de verificar qual é o nosso VG. Para isso digitamos:

 

 

# vgscan

 

 

Ele irá listar todos os nossos Vgs criados, e ainda, qual partições estão sendo utilizadas para constituir o VG que nós temos. Um exemplo de saída do comando:

 

 

PV /dev/sda8 VG vg00 lvm2 [65,59 GB / 0 free]

PV /dev/sdc1 VG vg00 lvm2 [149,05 GB / 21,85 GB free]

PV /dev/sdb1 VG vg00 lvm2 [74,54 GB / 24,82 GB free]

Total: 3 [289,18 GB] / in use: 3 [289,18 GB] / in no VG: 0 [0 ]

 

 

Veja que salada, mas é facil de entender, bom ele aparece a partição e depois o quando ela tem no total e quanto ela tem livre. Nas Vgs é claro.

 

 

Pensando em uma estrutura, nossa máquina vai ser utilizada para o que ? No exemplo desse documento será uma máquina básica, sem frescura, mas nada empede de você melhorar isso é claro.

 

 

Agora temos que criar as Lvs (partições) dentro da LVM, teremos, um /, swap, /usr, /var, /tmp e /home. Então: # lvcreate -L(tamanho em megas)M -n hostname.ponto-de-montagem vg-grupo. Mas nesse documento iremos particionar até o fim uma máquina chamada caio. :)

 

 

Criando as partições:

 

 

# lvcreate -L2048M -n caio.raiz vg00

 

# lvcreate -L10024M -n caio.var vg00

 

# lvcreate -L5024M -n caio.usr vg00

 

# lvcreate -L1024M -n caio.home vg00

 

# lvcreate -L512M -n caio.tmp vg00

 

# lvcreate -L512M -n caio.swap vg00

 

 

Verifique se todas foram criadas corretamente:

 

# lvs | grep caio

 

 

 

 

 

2)Aplicando um sistemas de arquivos

 

 

Não podemos de esquecer de aplicar um sistema de arquivos as nossas Lvs, por que são partiçoes, e para serem instaladas e montadas no futuro, precisam ter um sistemas de arquivos. Você pode utilizar, a que você quiser, ext2, ext3, reiserfs, xfs …. Não NTFS heim :)

 

 

Aplicando Sistemas de arquivos:

 

 

# mkfs.xfs -f /dev/vg00/caio.raiz

 

# mkfs.xfs -f /dev/vg00/caio.var

 

# mkfs.xfs -f /dev/vg00/caio.usr

 

# mkfs.ext3 /dev/vg00/caio.home

 

# mkfs.ext2 /dev/vg00/caio.tmp

 

 

# mkswap /dev/vg00/caio.swap

 

 

 

 

3)Criando os pontos de montagem para Instalção

 

 

Precisamos definir onde serão os pontos de montagem temporario que iremos utilizar para iniciarmos a instalação. Criando:

 

 

# mkdir /mnt/caio

 

 

Mas, mais importante de nós criarmos os pontos de montagem das partições, é montar o raiz primeiro, para criamos as partições dentro da LV, e depois montar em seus respectivos pontos, na prática fica assim:

 

 

# mount /dev/vg00/caio.raiz /mnt/caio/

 

 

Pronto, montamos, mas agora é preciso, criar e montar as demais Lvs.

 

 

 

 

 

4)Criando e montando as Lvs para instalação

Antes de criar as demais, verifique se a raiz está montada:

 

 

# df -h

 

 

Caso estiver, vamos criar:

 

 

# mkdir /mnt/caio/var

 

# mkdir /mnt/caio/usr

 

# mkdir /mnt/caio/home

 

# mkdir /mnt/caio/tmp

 

 

E depois montar:

 

 

# mount /dev/vg00/caio.var /mnt/caio/var/

 

# mount /dev/vg00/caio.usr /mnt/caio/usr/

 

# mount /dev/vg00/caio.home /mnt/caio/home/

 

# mount /dev/vg00/caio.tmp /mnt/caio/tmp/

 

 

 

 

5)Instalação via debootstrap

 

 

Debootstrap, é uma das maneiras de instalar a máquina. Mas antes de instalar, verifique:

 

 

# cat /etc/apt/sources.list

deb http://ftp.debian.org/debian stable main contrib non-free

 

 

 

Instalação:

 

# debootstrap etch /mnt/caio/

 

 

Agora é só aguardar ……………………………………..

 

 

 

6)Pós Instalação

 

 

Depois que instalamos a máquina via debootstrap, vamos ter que fazer alguma modificações.

 

 

Adicionando os arquivos:

 

 

# cp -v /etc/apt/* /mnt/caio/etc/apt/

 

# cp -v /etc/fstab /mnt/caio/etc/

 

# cp -v /etc/hosts /mnt/caio/etc/hosts

 

# cp -v /etc/network/interfaces /mnt/caio/etc/network/

 

 

A opção -v imprime o nome de cada arquivo antes de copia-lo.

 

Adicionando o “Kernel”:

 

# cp -av /lib/modules/2.6.18-3-* /mnt/caio/lib/modules/

 

 

A opção -a preserva o máximo possível a estrutura e atributos dos arquivos originais na cópia. Após a cópia:

 

 

 

# cd /mnt/caio/lib/

 

# mv tls tls.orig

 

# cd /mnt/caio

 

 

Editando os arquivos:

 

 

# vi etc/hosts

 

127.0.0.1 localhost

192.168.3.28 caio.com.br caio

 

 

# vi etc/hostname

 

caio

 

 

# vi etc/network/interfaces

 

auto eth0

iface eth0 inet static

address 192.168.0.137

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

 

 

# vi etc/fstab

 

proc /proc proc defaults 0 0

/dev/sda1 / xfs defaults 0 1

/dev/sda5 /home ext3 defaults 0 2

/dev/sda6 /tmp ext2 defaults 0 2

/dev/sda3 /var xfs defaults 0 2

/dev/sda2 none swap sw 0 0

/dev/sda7 /usr xfs defaults 0 2

 

 

 

 

7)Arquivo de configuração do Xen p/ máquina

 

 

# vi /etc/xen/caio.cfg

 

kernel = ‘/boot/vmlinuz-2.6.18-3-xen-686′

ramdisk = ‘/boot/initrd.img-2.6.18-3-xen-686′

memory = ‘256′

root = ‘/dev/sda1 ro’

disk = [ 'phy:vg00/caio.raiz,sda1,w', 'phy:vg00/caio.var,sda3,w', 'phy:vg00/caio.tmp,sda6,w', 'phy:vg00/caio.home,sda5,w', 'phy:vg00/caio.swap,sda2,w', 'phy:vg00/caio.usr,sda7,w' ]

name = ‘caio’

vif = [ 'ip=192.168.3.50' ]

on_poweroff = ‘destroy’

on_reboot = ‘restart’

on_crash = ‘restart’

 

 

 

 

 

8)Finalizando Instalação

 

 

Acesso a máquina antes de reiniciar:

 

 

# cd /mnt

 

# chroot /mnt/caio/

 

 

Troque a senha da máquina:

 

 

# passwd

 

 

Ckeck list, IMPORTANTE:

 

 

#cat /etc/fstab

 

#cat /etc/hostname

 

#cat /etc/hosts

 

#cat /etc/network/interfaces

 

 

# exit

 

 

9)Desmontando Partições e Iniando Máquina

 

 

Desmontar:

 

 

# umount /mnt/caio/usr/

 

# umount /mnt/caio/var/

 

# umount /mnt/caio/home/

 

# umount /mnt/caio/tmp/

 

# umount /mnt/caio

 

 

# df -h

 

Iniciando a máquina:

 

 

# xm create -c /etc/xen/caio.cfg

 

 

 

 

OBS: Se você instalar o Sarge 3.1, depois de subir a máquina pela primeira vez, você vera que o sistema não montou todas as partições, para resolver isso é necessário instalar o pacote:

 

 

# aptitude update

# aptitude install module-init-tools

 

 

 

http://www.xensource.com/Pages/default.aspx

 

Valew :-)

 

 

 

 

Categorias: debian · etch · virtualização · xen

5 respostas Até agora ↓

  • Sandro Amilton Vieira // Agosto 17, 2007 às 11:08 am

    Esses passos vale para Ubuntu também? Temos criar uma Maquina Virtual Windows???

  • Eriksen Costa // Agosto 17, 2007 às 12:00 pm

    Muito bom o tutorial, essa série tá ajudando muita gente!

  • msinhore // Agosto 17, 2007 às 2:57 pm

    Olá Caio,

    Outro caminho que te possibilita o particionamento de maneira que vc possa migrar uma vm de paravirt pra full-virt é particionar o dispositivo de blocos, usar o kpartx para acessar as partições dentro no dispositivo de blocos (o LV) e usar o grub pra escrever a mbr. Para paravirt, vc pode usar o pygrub para fazer a leitura da mbr e carregar o kernel na partição que vc definiu como /boot na sua tabela de particionamento. Se por algum motivo, vc precisar utilizar hvm, vai ser muito mais simples a migração já que bastará apenas alterar o /boot/grub/menu.lst dentro de sua vm.

    Quero tb aproveitar e te convidar pra participar do grupo de usuários xen-br. Temos poucos braços e tenho certeza que vc poderia nos ajudar a fomentar o uso de virtualização. Nosso wiki está em wiki.xen-br.org (é aberto para escrita após cadastrado um usuário) e tb temos uma lista de discussão e um canal irc na freenode ##xen-br

    []s

  • jalexandre // Outubro 7, 2007 às 2:16 pm

    Caio, Keep Bloging. :)
    Faz um tempinho que eu coloquei teu blog no RSS, agora só falta você escrever mais.

    [ ] ’s

  • Um manual de virtualizacao - Under-Linux.org // Janeiro 13, 2009 às 11:33 pm

    [...] Ubuntu | HowtoForge – Linux Howtos and Tutorials Particionando uma maquina virtual no xen em debian Xen mais, Xen menos. Particionando uma máquina virtual no Xen utilizando Debian Etch 4.0 Conhecim… Lista de comandos e referencia xen http://www-usr.inf.ufsm.br/~canofre/…ais/t_xen.html Abrao [...]

Deixe um comentário