我打算使用 libvirt 通过网络控制一些 KVM。到目前为止,连接工作正常。我用以下代码建立连接
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'/>");
我收到异常读取请求的操作无效:无法在非活动域上分离设备
好的,似乎错误消息告诉我 VM 没有运行。所以如果我通过
d.create();
我从上面执行 detachDevice 我得到以下错误不支持的配置: 这种类型的设备不能热拔出。
是啊,那又怎样?如果域没有运行,我不能更改配置,如果它正在运行,我也不能更改配置?
谁能告诉我我做错了什么?如何在不启动域的情况下激活域?我在网上搜索时没有找到任何帮助。
非常感谢您的帮助。问候,-克里斯-