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


12

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

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

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

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

回答:


26

手順を実行する前に、これらのコマンドを通常のユーザーとして実行していること、およびユーザーがグループ「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に保存されることが通知されます。


3

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


ダニエル、なぜだかわかりませんが、以前にこのソリューションを試しましたが、残念ながら、ここでVirtual Machine Manager(Ubuntu Trusty Tahr-14.04)で機能しませんでした...
ivanleoncz

2

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

$ virsh pool-edit default

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

  1. パスを編集する
  2. 変更を保存して
  3. libvirtサービスを再開する
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.