LibVirt: A imagem do disco tem tamanho errado dentro do convidado

2

Estou criando um novo disco virtual usando o seguinte comando *:

$ virsh vol-create-as --format=qcow2 guest-disks disk_instid.24_diskid.30 8192M
Vol disk_instid.24_diskid.30 created

O pool de "guest-disks" é um simples pool de "dir". Como você pode ver, o comando é bem-sucedido, mas quando estou tentando instalar um sistema operacional no novo domínio, ele aparece apenas com uma fração de megabyte de tamanho:

# fdisk -l /dev/sda 

Disk /dev/sda: 0 MB, 262144 bytes
1 heads, 1 sectors/track, 512 cylinders, total 512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table

Como você vê, o tamanho está completamente errado. Alguma idéia do porquê disso?

* Não se preocupe com os números - faz parte de uma ferramenta que cria domínios automaticamente.

    
por Dave Vogt 28.01.2011 / 17:33

2 respostas

5

Ok, eu descobri sozinho. Se você não especificar o formato no XML do domínio, o Libvirt espera que ele seja do formato "bruto" por padrão, que não se expande com o uso, mas precisa ser totalmente alocado (veja a resposta por dyasny). Os ~ 200KB são a estrutura de dados inicial do formato qcow2.

O que precisa ser feito é: você deve adicionar um elemento "driver" à parte "disk" do domínio xml, mencionando explicitamente o formato qcow2, da seguinte forma:

<disk type="file" device="disk">
    <driver name="qemu" type="qcow2" />
    <source file="/var/lib/virt/guest-disks/disk_instid.24_diskid.30" />
    <target dev="sda" />
</disk>

Após essa alteração, o SO do domínio vê o disco como esperado.

    
por 28.01.2011 / 19:19
0

tente com --allocation 8192M isso alocará o tamanho do disco

    
por 28.01.2011 / 17:54