답변:
libvirt는 자체 볼륨 풀을 관리하기 때문에 실제로 그렇게하지는 않습니다. 사용하다:
size=$(stat -Lc%s centos.iso)
virsh vol-create-as default centos $size --format raw
virsh vol-upload --pool default centos centos.iso
그러면 centos
내용이 인 기본 풀에서 virsh 볼륨이 생성됩니다 centos.iso
.
이런 식으로 libvirt는 필요한 모든 권한과 소유권을 관리합니다.
나는 두 가지를 가정 : /var/lib/libvirt/images/
소유 root
하고 당신은하지 않습니다 root
. 괜찮 습니다만 문제가 무엇인지 존중해야합니다.
그냥 파일을 복사에 아마 가장 나을 루트로 사용 sudo
:
sudo cp my-image /var/lib/libvirt/images/
또는 다음을 인수 할 수 있습니다 /var/lib/libvirt/images/
.
sudo chown $USER /var/lib/libvirt/images/
또는 (최소한 좋음) 전역 쓰기 가능하게 만들 수 있습니다.
sudo chmod 755 $USER /var/lib/libvirt/images/
나는 그 이유가 근본 원인이라는 논리를 따를 것입니다. 그러나 당신이 방금 놀고 있고 이것이 절대로 생산 기계가 될 수 없다면, 그렇게 조심할 필요는 없습니다.
나는 그것이 오래된 게시물이라는 것을 알고 있지만 내가 한 일을 공유하고 싶었습니다.
제 경우에는 qcow2 이미지를 볼륨으로 가져와야했습니다. jq, qemu-img 및 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)
풀을 나열하고 원하는 것을 선택하십시오.
# virsh pool-list --all
Name State Autostart
-------------------------------------------
default active yes
# export IMGPOOL=default
볼륨을 작성하십시오.
# virsh vol-create-as $IMGPOOL myvolume $IMGSIZE --format $IMGFMT
Vol myvolume created
그리고 이미지를 업로드하십시오 :
# virsh vol-upload --pool $IMGPOOL myvolume /data/myfile.qcow2
qemu-img를 virsh로 파이프 할 수 있는지 모르겠습니다. 'qemu-img dd ... | virsh vol-upload ... '하지만 편리합니다 :-)
그의 게시물에 대한 @Robie Basak에게 감사드립니다. 위의 정보를 쓰는 데 사용했습니다.