回答:
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は必要なすべての許可と所有権自体を処理します。
私は2つのことを仮定/var/lib/libvirt/images/
しroot
ています:所有者と所有者ではありません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の投稿に感謝します。私はそれを使って上記の情報を書きました。