8

libvirt を使用して一時ドメインを作成するにはどうすればよいですか? (QEMU/KVM をバックエンドとして使用)

ドキュメントでは、次のリンクで一時ドメインと永続ドメインの違いについて説明しています: http://wiki.libvirt.org/page/VM_lifecycle#Transient_guest_domains_vs_Persistent_guest_domains

それでも、作成方法に関する具体的な例は見つかりませんでした。

私が見つけた唯一のポインターは、https ://www.redhat.com/archives/libvirt-users/2011-August/msg00057.html というメールにあり、メンテナーは XML の説明のフィールドに<transient/>タグを追加するよう提案しています。<disk>

私が試したとき、私はこの残念な答えを得ました: "libvirtError: unsupported configuration: transient disks not supported yet".

この機能は本当に「まだサポートされていない」のでしょうか、それとも何か不足していますか? ドキュメントは、これがサポートされるべきだと私に思わせます。

C または Python バインディング、virsh、または virt-manager に関連する回答は大歓迎です!

4

1 に答える 1

5

virsh の使用

を使用している場合はvirsh、次のコマンドがあります。

  • define-- このコマンドは XML ファイルをパラメーターとして取り、ドメインを libvirt に認識させます (ドメイン名または UUID を使用してそのドメインを参照できます)。

  • start -- このコマンドは、ドメイン名または UUID をパラメーターとして受け取り、ドメインを開始 (ブート) します。

  • create-- このコマンドは、XML ファイルをパラメーターとして取り、そのファイルに記述された設定でドメインを作成 (開始) します。ドメインが libvirt (以前にその UUID で定義されている) に認識されているかどうかに応じて、次の 2 つの結果になる可能性があります。

    • すでに定義されている場合、既知のドメインは開始済みとしてマークされ、永続ドメインですが、定義された設定ではなく、提供された設定で開始されます)。

    • 定義されていない場合、開始されたドメインは一時的なドメインになります (破棄、シャットダウンなどで消えます)。

  • undefine-- このコマンドは、ドメイン名または UUID (開始されている場合は ID) を取得し、libvirt に認識されないようにしますが、そのドメインが実行されている場合、ドメインを破棄せず、一時的なものとしてマークするだけです。

C 関数

C では、virsh がこれらのコマンドに使用する API は次のとおりです。

ノート:

  • 名前は少しわかりにくいかもしれませんが、下位互換性のために Xen 時代から保持されています。

  • これらの言及コマンドのほとんどには、動作を変更する可能性のあるパラメーターがあり、これらは目的のために異なる C 関数を使用する可能性があります。

于 2013-12-04T11:02:24.987 に答える