无需重启虚拟机即可更改 Libvirt 中的 VNC 监听地址

无需重启虚拟机即可更改 Libvirt 中的 VNC 监听地址

有没有办法动态编辑 Libvirt-Machine 的监听地址?目前看来,当我想要编辑监听地址时,我必须先关闭相应的 VM,然后编辑 xml 并重新定义域。

我目前正在构建一个小型 Web 应用程序(libvirt 前端),我想在其中实现一个名为“启用/禁用 vnc”的功能 - 但是,如果唯一的方法是关闭虚拟机,那么目前这对我来说似乎是不可能的。

答案1

您必须前往 QEMU Monitor 并运行:

change vnc display,options

其中display<host>:<display_number>unix:<path>none。Options 是显示的选项。请参阅:https://qemu.weilnetz.de/doc/qemu-doc.html#sec_005finvocation

例如,将端口更改为 5905 并接受任何主机的 VNC 连接:

change vnc :5

如果您使用 virsh,请使用“qemu-monitor-command”:

virsh # qemu-monitor-command <domain> --hmp change  vnc :5

答案2

不,似乎无法动态更改 VNC 显示。我认为 KVM 无论如何都不支持它,所以 libvirt 无法提供它。

你可以做的是在 VNC 端口前面放一些代理,例如索卡特。您需要在无法从外部访问的本地主机地址上设置虚拟机,然后启动外部 IP 上的代理来启用它。

相关内容