Libvirt は素晴らしいですが、VM をその構成からベア QEMU または Xen に移植する必要があります。セットアップを再現するには、ターゲット システムで VM を再現するために、特定のハイパーバイザーにコマンドを送信する必要があります。
したがって、基本的に、Xen と QEMU の libvirt xml 構成の解釈が必要です。最善の方法は、Libvirt 自体でコマンドを探すことです。この手順を実行する必要があります。そうしないと、1 台のマシンを起動することさえできなくなります。
理論上、XML 構成の評価は、Libvirt の異なるバージョン間で変わる可能性があります。そのため、このためエラーを追跡することは困難であり、科学的なシーンでは再現できません。
回避策としては、実行中の QEMU または Xen インスタンスに構成を問い合わせることです。ただし、その方法がわかりません。
あなたはなにか考えはありますか?
編集:libvirt がバックグラウンドで提供しているすべてのネットワーク設定を取得するつもりはありません。単純なマシンだけです。たとえば、特定の OS 用に libvirt クライアントを最適化するオプションがあります。これが QEMU または Xen への基本コマンドにどのような影響を与えるかを知りたいです。
コマンドラインオプションのみを探しています
# commands of creating machines withe the Hypervisors:
qemu-system-... [kvm / cpu / basics]
xl create [Myconfigfile.conf]
*[desired arguments]
答え1
答えは、問題のハイパーバイザーがどのように機能するかによって完全に異なるため、それを実現する唯一の方法はありません。QEMU の場合、libvirt は特定の引数セットを持つ QEMU バイナリを生成するだけです。コマンドを実行するvirsh domxml-to-native
か、を見ることでこれらを確認できます/var/log/libvirt/qemu/$GUESTNAME.log
。QEMU ゲストの管理には、QEMU を実行すること以外にも多くの作業があることに注意してください。libvirt は、cgroup、ファイアウォール ルール、SELinux/AppArmor を設定し、いくつかのために事前に開かれたファイル記述子を渡します。したがって、これを libvirt の外部で複製するのは大変な作業であり、そうすることはお勧めしません。Xen ハイパーバイザーの場合、libvirt はさまざまなライブラリ API を呼び出すため、同じことを行うコードを記述せずにこれを複製する方法はありません。