5.5. 设置对远程虚拟化主机的简单访问


当使用 libvirt 工具在远程主机系统上管理虚拟机时,建议使用 -c qemu+ssh://root@hostname/system 语法。例如,要在 192.0.2.1 主机上以 root 用户身份使用 virsh list 命令:

# virsh -c qemu+ssh://root@192.0.2.1/system list
root@192.0.2.1's password:

Id   Name              State
---------------------------------
1    remote-guest      running

但是,您可以通过修改 SSH 和 libvirt 配置来删除完整指定连接详情的需要。例如:

# virsh -c remote-host list
root@192.0.2.1's password:

Id   Name              State
---------------------------------
1    remote-guest      running

要进行改进,请按照以下步骤操作。

流程

  1. 使用以下详细信息编辑 ~/.ssh/config 文件,其中 host-alias 是与特定远程主机关联的短名称,以及 root@192.0.2.1 的别名,hosturl 是主机的 URL 地址:

    # vi ~/.ssh/config
    Host example-host-alias
      User                    root
      Hostname                192.0.2.1
  2. 使用以下详情编辑 /etc/libvirt/libvirt.conf 文件,example-qemu-host-alias 是一个主机别名,QEMU 和 libvirt 工具将用来为 qemu+ssh://192.0.2.1/system 与预期主机 example-host-alias 进行关联:

    # vi /etc/libvirt/libvirt.conf
    uri_aliases = [
      "example-qemu-host-alias=qemu+ssh://example-host-alias/system",
    ]

验证

  1. 确认通过在本地系统上使用基于 libvirt 的工具,并添加 -c qemu-host-alias 参数,您可以来管理远程虚拟机。这会在远程主机中使用 SSH 自动执行命令。

    例如,验证以下 192.0.2.1 远程主机上列出的虚拟机,在前面的步骤中到其的连接被设置为 example-qemu-host-alias

    # virsh -c example-qemu-host-alias list
    
    root@192.0.2.1's password:
    
    Id   Name                       State
    ----------------------------------------
    1    example-remote-guest      running
    注意

    除了 virsh 之外,-c (或 --connect)选项以及上述远程主机访问配置也可以由以下工具使用:

后续步骤

如果要在单一远程主机中只使用 libvirt 工具,您也可以为基于 libvirt 的实用程序设置特定的连接作为默认目标。但是,如果您也要管理本地主机或不同远程主机上的虚拟机,则不建议这样做。

  • 您可以编辑 /etc/libvirt/libvirt.conf 文件,并将 uri_default 参数的值设置为 example-qemu-host-alias 来作为默认 libvirt 目标。

    # These can be used in cases when no URI is supplied by the application
    # (@uri_default also prevents probing of the hypervisor driver).
    #
    uri_default = "example-qemu-host-alias"

    因此,所有基于 libvirt 的命令都会在指定的远程主机中自动执行。

    $ virsh list
    root@192.0.2.1's password:
    
    Id   Name              State
    ---------------------------------
    1   example-remote-guest      running
  • 连接到远程主机时,您可以避免向远程系统提供 root 密码。要做到这一点,请使用以下一个或多个方法:

  • 可以使用 -c (或-- connect)选项来运行 virt-install

virt-viewer,以及远程主机上的 virsh 命令。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.