Virtualização · 3 min read · Jan 21, 2026

Virtualização Com KVM Em Um Servidor CentOS 6.3 - Página 5

8 Criando Um Convidado Baseado em LVM A Partir da Linha de Comando

CentOS 6.3 KVM Host:

Os convidados baseados em LVM têm algumas vantagens sobre os convidados baseados em imagem. Eles não são tão pesados em IO de disco rígido e são mais fáceis de fazer backup (usando snapshots LVM).

Para usar convidados baseados em LVM, você precisa de um grupo de volumes que tenha algum espaço livre que não esteja alocado a nenhum volume lógico. Neste exemplo, eu uso o grupo de volumes /dev/vg_server1 com um tamanho de aproximadamente 465GB…

vgdisplay
[root@server1 ~]# vgdisplay  
 --- Volume group ---  
 VG Name               vg_server1  
 System ID  
 Format                lvm2  
 Metadata Areas        1  
 Metadata Sequence No  3  
 VG Access            read/write  
 VG Status            resizable  
 MAX LV               0  
 Cur LV               2  
 Open LV              2  
 Max PV               0  
 Cur PV               1  
 Act PV               1  
 VG Size              465.28 GiB  
 PE Size              4.00 MiB  
 Total PE             119112  
 Alloc PE / Size      26500 / 103.52 GiB  
 Free  PE / Size      92612 / 361.77 GiB  
 VG UUID              ZXWn5k-oVkA-ibuC-ip8x-edLx-3DMw-UrYMXg  
  
[root@server1 ~]#

… que contém os volumes lógicos /dev/vg_server1/LogVol00 com um tamanho de aproximadamente 100GB e /dev/vg_server1/LogVol01 (cerca de 6GB) - o restante não está alocado e pode ser usado para convidados KVM:

lvdisplay
[root@server1 ~]# lvdisplay  
 --- Logical volume ---  
 LV Path                /dev/vg_server1/LogVol01  
 LV Name                LogVol01  
 VG Name                vg_server1  
 LV UUID                uUpXY3-yGfZ-X6bc-3D1u-gB4E-CfKE-vDcNfw  
 LV Write Access        read/write  
 LV Creation host, time server1.example.com, 2012-08-21 13:45:32 +0200  
 LV Status              available  
 # open                 1  
 LV Size                5.86 GiB  
 Current LE            1500  
 Segments               1  
 Allocation             inherit  
 Read ahead sectors     auto  
 - currently set to     256  
 Block device           253:0  
  
 --- Logical volume ---  
 LV Path                /dev/vg_server1/LogVol00  
 LV Name                LogVol00  
 VG Name                vg_server1  
 LV UUID                FN1404-Aczo-9dfA-CnNI-IKn0-L2hW-Aix0rV  
 LV Write Access        read/write  
 LV Creation host, time server1.example.com, 2012-08-21 13:45:33 +0200  
 LV Status              available  
 # open                 1  
 LV Size                97.66 GiB  
 Current LE            25000  
 Segments               1  
 Allocation             inherit  
 Read ahead sectors     auto  
 - currently set to     256  
 Block device           253:1  
  
[root@server1 ~]#

Agora vou criar a máquina virtual vm12 como um convidado baseado em LVM. Eu quero que vm12 tenha 20GB de espaço em disco, então crio o volume lógico /dev/vg_server1/vm12 com um tamanho de 20GB:

lvcreate -L20G -n vm12 vg_server1

Depois, usamos o comando virt-install novamente para criar o convidado:

virt-install --connect qemu:///system -n vm12 -r 512 --vcpus=2 --disk path=/dev/vg_server1/vm12 -c /var/lib/libvirt/images/debian-6.0.5-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm

Por favor, note que em vez de –disk path=/var/lib/libvirt/images/vm12.img,size=20 eu uso –disk path=/dev/vg_server1/vm12, e não preciso mais definir o espaço em disco porque o espaço em disco é definido pelo tamanho do volume lógico vm12 (20GB).

Agora siga o capítulo 5 para instalar esse convidado.

9 Convertendo Convidados Baseados em Imagem Para Convidados Baseados em LVM

CentOS 6.3 Host:

Agora vamos supor que queremos converter nosso convidado baseado em imagem vm10 em um convidado baseado em LVM. É assim que fazemos:

Primeiro, certifique-se de que o convidado está parado:

virsh --connect qemu:///system
shutdown vm10
quit

Em seguida, crie um volume lógico (por exemplo, /dev/vg_server1/vm10) que tenha o mesmo tamanho que o arquivo de imagem. Para descobrir o tamanho da imagem, digite…

ls -l /var/lib/libvirt/images/
[root@server1 ~]# ls -l /var/lib/libvirt/images/  
total 13819392  
-rw-r--r-- 1 qemu qemu   177209344 May 12 22:41 debian-6.0.5-amd64-netinst.iso  
-rw------- 1 root root 12884901888 Aug 21 15:37 vm10.img  
-rw------- 1 qemu qemu 12884901888 Aug 21 15:51 vm11.img  
[root@server1 ~]#

Como você pode ver, vm10.img tem um tamanho de exatamente 12884901888 bytes. Para criar um volume lógico do mesmo tamanho, devemos especificar -L 12884901888b (por favor, não se esqueça do b no final que diz ao lvcreate para usar bytes - caso contrário, ele assumiria megabytes):

lvcreate -L 12884901888b -n vm10 vg_server1

Agora convertemos a imagem:

qemu-img convert /var/lib/libvirt/images/vm10.img -O raw /dev/vg_server1/vm10

Depois, você pode excluir a imagem do disco:

rm -f /var/lib/libvirt/images/vm10.img

Agora devemos abrir o arquivo de configuração xml do convidado /etc/libvirt/qemu/vm10.xml…

vi /etc/libvirt/qemu/vm10.xml

… e mudar a seguinte seção…

| [...]

[...] |

… para que fique assim:

| [...]

[...] |

Depois, devemos redefinir o convidado:

virsh --connect qemu:///system
define /etc/libvirt/qemu/vm10.xml

Ainda no shell do virsh, podemos iniciar o convidado…

start vm10

… e sair do shell do virsh:

quit

10 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.