当我通过 ssh 运行 virsh 时,为什么看不到任何 KVM 域?

当我通过 ssh 运行 virsh 时,为什么看不到任何 KVM 域?

我正在尝试自动检查运行 KVM 域的多个节点。我只是使用 ssh 直接运行命令,而不是进行完整登录:

ssh user@kvmhost "virsh list --all"

但它只是产生这样的输出:

 Id   Name   State
--------------------

当我以交互方式登录时,我可以运行virsh list --all并显示域。那么我做错了什么?

答案1

有一个名为 LIBVIRT_DEFAULT_URI 的环境变量,当您以交互方式登录时会设置该变量,而当您直接通过 ssh 运行命令时可能不会设置它。该变量通常可能设置如下:

LIBVIRT_DEFAULT_URI=qemu:///system

因此,您可能需要做的就是在 ssh 中添加 virsh 命令并设置该环境变量,如下所示:

ssh user@kvmhost "LIBVIRT_DEFAULT_URI=qemu:///system virsh list --all"

相关内容