ネットワーク経由でいくつかの KVM を制御するために libvirt を使用する予定です。これまでのところ、その接続は機能しています。次のコードで接続を確立します
Connect conn = null;
try
{
ConnectAuth ca = new ConnectAuthDefault();
conn = new Connect("qemu+ssh://targetUser@targetIP/system", ca, 0);
}
catch(LibvirtException e)
{
System.out.println("exception caught:" + e);
System.out.println(e.getError());
}
そして、私はドメインへの参照を取得しています
Domain d = conn.domainLookupByName("win7");
しかし、デバイスを接続または切断しようとすると(vncポートを変更したい)
d.detachDevice("<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0'/>");
Requested operation is not valid: cannot detach device on inactive domain を読み取る例外が発生します
OK、VM が実行されていないというエラー メッセージが表示されているようです。したがって、次の方法でドメインを開始すると
d.create();
上記から detachDevice を実行すると、次のエラーunsupported configuration: This type of device cannot be hot unplugged が表示されます。
ええ、だから何?ドメインが実行されていない場合は構成を変更できず、ドメインが実行されている場合は構成も変更できませんか?
誰が私が間違っているのか教えてもらえますか? ドメインを開始せずにアクティブ化するにはどうすればよいですか? ネットで検索しても何の参考にもなりませんでした。
助けてくれてありがとう。こんにちは、-クリス-