Como eu importo uma imagem de disco para o libvirt?

7

Alguém pode postar a sintaxe correta? Eu tentei usar o comando chmod, mas estou fazendo algo incorretamente. Eu estou apenas tentando mover um arquivo centos iso para / images para configurar um teste vm

    
por Fmoov 24.05.2013 / 18:08

4 respostas

13

Você não é realmente "suposto" para fazer isso dessa maneira, já que o libvirt cuida de seus próprios conjuntos de volumes. Use:

size=$(stat -Lc%s centos.iso)
virsh vol-create-as default centos $size --format raw
virsh vol-upload --pool default centos centos.iso

Isso criará um volume virsh chamado centos no conjunto padrão com o conteúdo de centos.iso .

Dessa forma, o libvirt cuida de todas as permissões e propriedades necessárias.

    
por Robie Basak 24.05.2013 / 18:42
1

Eu assumo duas coisas: /var/lib/libvirt/images/ é de propriedade de root e você não é root . Tudo bem, mas você tem que respeitar o problema.

Provavelmente faria mais sentido apenas copiar o arquivo para como root , usando sudo :

sudo cp my-image /var/lib/libvirt/images/

Como alternativa, você pode assumir /var/lib/libvirt/images/ :

sudo chown $USER /var/lib/libvirt/images/

Ou (menos bom), você poderia torná-lo globalmente gravável:

sudo chmod 755 $USER /var/lib/libvirt/images/

Eu seguiria a lógica de que é a raiz por um motivo, mas se você está apenas brincando e isso nunca vai ser uma máquina de produção, você provavelmente não precisa ser tão cuidadoso.

    
por Oli 24.05.2013 / 18:21
1

Você pode tentar fazer isso no nautilus apenas digite

sudo -i nautilus

e depois copie o arquivo como você faria normalmente.

    
por Mihai 24.05.2013 / 18:23
0

Eu sei que é um post antigo, mas queria compartilhar o que fiz.

No meu caso, precisei importar uma imagem qcow2 para um volume. Eu usei jq, qemu-img ee bash:

# export IMGSIZE=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .[\"virtual-size\"])
# export IMGFMT=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .format)

Relacione os pools e selecione o que você deseja:

# virsh pool-list --all
 Name                 State      Autostart
-------------------------------------------
 default              active     yes

# export IMGPOOL=default

Crie o volume:

# virsh vol-create-as $IMGPOOL myvolume $IMGSIZE --format $IMGFMT
Vol myvolume created

E envie a imagem:

# virsh vol-upload --pool $MGPOOL pkgbox32-01 /data/myfile.qcow2

Eu não sei se você pode canalizar qemu-img para virsh, como qemu-img dd ... | virsh vol-upload ... 'mas isso seria conveniente: -)

Obrigado @Robie Basak pelo seu post, eu usei para escrever as informações acima.

    
por tuxillo 22.02.2018 / 16:35