我正在使用 Ubuntu 18.04 作为 KVM 主机。在 jumphost 上,我尝试执行 virsh 命令:
ssh 用户@ip “virsh dominfo vm1”
我收到一个错误:无法获取域“vm1”但此命令在 KVM 主机上运行良好。我发现如果 KVM 主机是 Ubuntu 16.04,则不会发生此问题。
答案1
要连接的 virsh 的默认 URI 可以改变(并且它确实改变了上游)。
您可以使用以下方法检查:
$ ssh ubuntu@ip -t 'bash -l -c "virsh uri"'
qemu:///system
$ ssh ubuntu@ip "virsh uri"
qemu:///session
Ubuntu 尝试通过环境变量来提供帮助LIBVIRT_DEFAULT_URI=qemu:///system
,但该功能仅在登录 shell 中可用。
因此您需要确保使用完整的登录 shell 例如:
$ ssh ubuntu@ip -t 'bash -l -c "virsh dominfo vm1"'
或者使用您自己的环境变量来增强您的调用:
$ ssh ubuntu@ip "LIBVIRT_DEFAULT_URI=qemu:///system virsh dominfo vm1"