web-dev-qa-db-ja.com

デフォルトのストレージプールをlibvirtから変更するにはどうすればよいですか?

VMの仮想ディスクと、使用しているオペレーティングシステムのISOを保存するために、KVM=で別のストレージプールを使用しようとしています。

例:/media/work/kvmにマウントされたディレクトリ/dev/sda5を、将来のすべての状況でのデフォルトのストレージプールとして使用したい

新しいストレージプールを構成、作成、および開始するのは非常に簡単ですが、少なくともUbuntuでは、別のストレージプールからISOを選択しているかどうかは関係ありませんVirtual Machine Manager VMからの仮想ディスクが作成されるストレージとして、常にデフォルトのストレージプール(/var/cache/libvirt)をポイントします。

どうすればこれを回避できますか?

12
ivanleoncz

手順を実行する前に、これらのコマンドを通常のユーザーとして実行していること、およびユーザーがグループ「libvirtd」に属していることを確認してください。

ここに私が使用した以下のコマンドがあります:

現在のプールのリスト:

$ virsh pool-list

Name                 State      Autostart 
-------------------------------------------
default              active     yes 

破棄プール:

$ virsh pool-destroy default
Pool default destroyed

プールの定義解除:

$ virsh pool-undefine default
Pool default has been undefined

"default"という名前の新しいプールの定義:

$ virsh pool-define-as --name default --type dir --target /media/work/kvm
Pool default defined

libvirtデーモンの開始時にプールが開始されるように設定します:

$ virsh pool-autostart default
Pool default marked as autostarted

開始プール:

$ virsh pool-start default
Pool default started

プールの状態を確認しています:

$ virsh pool-list
Name                 State      Autostart 
-------------------------------------------
default              active     yes  

今後、仮想マシンを作成すると、Virtual Machine Managerから* .imgファイル(VMの仮想ディスク)が/ media/work/kvmに保存されることが通知されます。

26
ivanleoncz

コマンドラインからそれを行う方法を示す上記の返信の他に、virt-managerから直接変更することもできます。 virt-managerのメインウィンドウで、[編集]-> [ホストの詳細]メニューに移動します。表示されるダイアログボックスで、[ストレージ]タブに切り替えます。これで、「デフォルト」のストレージプールを削除し、新しいストレージプールを作成して置き換えることができます。

3
DanielB

イメージパスを変更するだけの場合は、次のコマンドを実行して、defaultプールのストレージパスを編集することもできます。

$ virsh pool-edit default

上記のコマンドは、defaultプールxmlをエディター(vim/nano)で開きます。

  1. パスを編集する
  2. 変更を保存して
  3. 再起動libvirtサービス
2
Junaid