Disk görüntüsünü libvirt'e nasıl aktarabilirim?


12

Birisi uygun sözdizimini gönderebilir mi? Chmod komutunu kullanmayı denedim, ancak yanlış bir şey yapıyorum. Ben sadece bir test vm kurmak için / görüntülere bir centos iso dosyasını taşımak için çalışıyorum


Çalıştırmaya çalıştığınız komutları gönderebilir misiniz? Peki hata mesajı nedir?
Eric Carvalho

Yanıtlar:


16

Libvirt kendi hacim havuzlarına baktığı için bunu gerçekten "yapmanız gerekmiyor". kullanın:

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

Bu centos, içeriğinin bulunduğu varsayılan havuzda çağrılan virsh birimi oluşturur centos.iso.

Bu şekilde libvirt, gerekli tüm izinleri ve sahipliğin kendisini halleder.


1
Forumu ilk kez kullandım. Mükemmel tavsiye.
Fmoov

2

Ben iki şey varsayıyorum: /var/lib/libvirt/images/sahibi rootve sen değilsin root. Bu iyi, ama sorunun ne olduğuna saygı duymalısın.

Muhtemelen aşağıdakileri kullanarak dosyayı kök olarak kopyalamak en mantıklı olacaktır sudo:

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

Alternatif olarak, şunları ele alabilirsiniz /var/lib/libvirt/images/:

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

Veya (en azından iyi) sadece dünya çapında yazılabilir yapabilirsiniz:

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

Bir nedenden dolayı kök olduğu mantığını izlerdim ama eğer sadece oyun oynuyorsanız ve bu asla bir üretim makinesi olmayacaksa, muhtemelen bu kadar dikkatli olmanıza gerek yoktur.


Bunu anladığım için muhtemelen son komutla devam ediyorum ve bu bir test ortamı.
Fmoov

2

Eski bir yazı olduğunu biliyorum ama yaptığımı paylaşmak istedim.

Benim durumumda, bir qcow2 görüntüsünü bir birime aktarmam gerekiyordu. Ben jq, qemu-img ve bash kullandım:

# 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)

Havuzları listeleyin ve istediğiniz havuzu seçin:

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

# export IMGPOOL=default

Birimi oluşturun:

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

Ve resmi yükleyin:

# virsh vol-upload --pool $IMGPOOL myvolume /data/myfile.qcow2

Qemu-img için virsh, tür gibi 'qemu-img dd boru olabilir bilmiyorum ... | virsh vol-upload ... 'ama bu uygun olurdu :-)

@Robie Basak gönderisi için teşekkürler, yukarıdaki bilgileri yazmak için kullandım.


1

Sadece nautilus yazmayı deneyebilirsiniz

sudo -i nautilus

ve bundan sonra dosyayı normalde yaptığınız gibi kopyalayın.


Nautilus'un yüklü olduğunu varsayabilir miyim?
Fmoov

nautilus, Ubuntu için varsayılan dosya yöneticisidir. Sorunuzu gerçekten anladığımı sanmıyorum.
Mihai

2
@ Rat2000 FYI
Oli

1
Oli evet, haklısın varsayılan olarak gksudo yüklü değil, bu yüzden komutu sudo -i olarak değiştirdim, bu işi yapmalı.
Mihai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.