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
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 [...]