我正在尝试自动检查运行 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"