第 4 章 创建 virt-who 配置


使用此流程来创建 virt-who 配置。Red Hat 产品和 Microsoft Hyper-V 需要每个运行 Red Hat Enterprise Linux 虚拟机的管理程序都有一个配置。VMware vSphere 需要每个 vCenter 服务器都有一个配置。

此流程中的大多数值都添加到 /etc/virt-who.d/conf_name.conf 文件中,并只适用于指定的管理程序或虚拟化管理器。间隔启用调试输出HTTP 代理和 Ignore Proxy 是保存在 /etc/sysconfig/virt-who 文件中的全局值。全局配置值适用于同一服务器上的所有 virt-who 配置,并且每次部署新的 virt-who 配置时都会覆盖该服务器上。

每个 virt-who 配置都会创建一个 virt_who_reporter_[id] 用户,并为它分配 Virt-who Reporter 角色,它为 Satellite Server 报告最少的权限。无法手动配置此用户或用于登录卫星服务器。

先决条件

  • 如果您要为 Red Hat hypervisor(Red Hat Enterprise Linux 或 Red Hat Virtualization Host)创建 virt-who 配置,请将管理程序注册到 Red Hat Satellite。
  • 在管理程序或虚拟化管理器中创建只读 virt-who 用户:

    • 对于红帽产品和 Microsoft Hyper-V,请在运行 Red Hat Enterprise Linux 虚拟机的每个 hypervisor 上创建 virt-who 用户。
    • 对于 VMware vSphere,在 vCenter 服务器上创建 virt-who 用户。virt-who 用户要求至少对 vCenter Data Center 中的所有对象进行只读访问。

流程

  1. 在 Satellite Web UI 中,进入 Infrastructure > Virt-who 配置
  2. Create Config。在 New Virt-who Config 窗口中,您可以点击帮助图标来获取每个字段的更多信息。
  3. 在配置中输入 Name
  4. Hypervisor Type 列表中,选择您的虚拟化平台:

    • Red Hat Enterprise Linux Virtualization(KVM)、Red Hat Virtualization 或 Red Hat OpenStack Platform: libvirt
    • VMware vSphere: esx
    • Microsoft Hyper-V: hyperv
    • 请注意,不支持 rhevmxen 管理程序类型,kubevirt 管理程序类型仅作为技术预览提供。
  5. Hypervisor Server 字段中,输入此配置适用的服务器的 FQDN 或 IP 地址。对于 VMware vSphere,请使用 vCenter Server 的 FQDN 或 IP 地址。对于所有其他产品,请使用虚拟机监控程序的 FQDN 或 IP 地址。
  6. Hypervisor Username 字段中,输入您在管理程序或虚拟化管理器中创建的 virt-who 用户的名称。
  7. Hypervisor Password 字段中,输入 virt-who 用户的密码。在部署 配置时,这个密码会被加密。使用 libvirt 类型时不需要此字段。
  8. Interval 列表中,选择 virt-who 请求新的或更新虚拟机信息的频率。因为虚拟机被授予最多七天的临时订阅,所以不需要频繁查询;您可以选择适合环境大小的时间间隔。每 24 小时 一次适合大多数环境。
  9. 输入 Satellite 服务器 FQDN
  10. Hypervisor ID 列表中,选择是否根据其主机名或 UUID 识别卫星服务器中的虚拟机监控程序。
  11. 选择 Filtering 选项:

    • 默认为 unrestricted。此配置涵盖的所有管理程序均可通过 virt-who 查询。如果不必限制要查询的虚拟机监控程序,则使用此选项。
    • 您可以列出 白名单黑名单 管理程序。例如,如果某些虚拟机监控程序仅运行 Microsoft Windows Server 虚拟机,则这些虚拟机监控程序不需要由 virt-who 报告。
  12. 如果您选择了 WhitelistBlacklist: 在 Filter hostsExclude hosts 字段中,根据所选的 Hypervisor ID 输入以逗号分隔的管理程序列表。例如,如果虚拟机监控程序使用主机名标识,它们必须包含在其主机名中或排除它们。如果虚拟机监控程序的名称包含特殊字符,请将其用引号括起。支持通配符和正则表达式。请注意,在使用正则表达式时,必须转义反斜杠。
  13. 如果您选择了 esx type 和 WhitelistBlacklist: 在 Filter host parentsExclude host parents 字段中,输入以逗号分隔的集群列表。白名单集群中的虚拟机监控程序由 virt-who 报告。黑名单中的虚拟机监控程序不会由 virt-who 报告。如果集群名称包含特殊字符,请将其用引号括起。支持通配符和正则表达式。请注意,在使用正则表达式时,必须转义反斜杠。
  14. 可选: 如果您需要 调试输出来进行故障排除,请选择 Enable debug output 复选框。
  15. 可选:输入用于部署 virt-who 和 hypervisor 或虚拟化管理器的服务器间进行通信的 HTTP 代理。例如: http://proxy.example.com:3128

    要使用没有代理,请将这个字段留空;这与在 Ignore Proxy 字段中输入 * 的结果相同。

  16. 可选:在 Ignore Proxy 字段中,输入以逗号分隔的主机名、IP 地址或域列表来绕过现有的代理设置。
  17. Submit

对于 CLI 用户

  • 在卫星服务器上,输入 hammer virt-who-config create 命令。有关选项的更多信息,请输入 hammer virt-who-config create --help

    这个示例为 Red Hat Enterprise Linux hypervisor 创建 virt-who 配置:

    # hammer virt-who-config create \
    --name rhel.example.com \
    --organization "Example Company" \
    --interval 720 \ 
    1
    
    --filtering-mode none \ 
    2
    
    --hypervisor-id hostname \ 
    3
    
    --hypervisor-type libvirt \ 
    4
    
    --hypervisor-server rhel.example.com \ 
    5
    
    --hypervisor-username virt-who \ 
    6
    
    --proxy 'http://proxy.example.com:3128' \ 
    7
    
    --satellite-url satellite.example.com
1
以分钟为单位选择有关虚拟化平台的频率。因为虚拟机被授予最多七天的临时订阅,所以不需要频繁查询;您可以选择适合环境大小的时间间隔。每天(1440)适合大多数环境。
2
选择是否过滤虚拟机监控程序。如果不必限制要查询的虚拟机监控程序,请使用 none。或者,您可以将虚拟机监控程序 列入白名单黑名单。例如,如果某些虚拟机监控程序仅运行 Microsoft Windows Server 虚拟机,则这些虚拟机监控程序不需要由 virt-who 报告。
3
选择如何识别该配置适用的虚拟机监控程序(或虚拟机监控程序)。使用 hostname 在卫星 Web UI 中提供有意义的主机名。或者,您可以使用 uuid 来避免在虚拟机监控程序重命名时重复。只有在此配置应用到虚拟化管理器而不是单独的虚拟机监控程序时,hwuuid 才可以使用,且不能在 virt-who 开始运行后更改为另一个选项,因为这会导致 Subscription Manager 中的重复条目。
4
指定虚拟化平台支持的类型:
  • Red Hat Enterprise Linux Virtualization(KVM)、Red Hat Virtualization 或 Red Hat OpenStack Platform: libvirt
  • VMware vSphere: esx
  • Microsoft Hyper-V: hyperv
  • 请注意,不支持 rhevmxen 管理程序类型,kubevirt 管理程序类型仅作为技术预览提供。
5
指定此配置适用的服务器的 FQDN 或 IP 地址。对于 VMware vSphere,请使用 vCenter Server 的 FQDN 或 IP 地址。对于所有其他产品,请使用虚拟机监控程序的 FQDN 或 IP 地址。
6
指定您在管理程序或虚拟化管理器中创建的只读 virt 用户。在使用 libvirt 类型时,您不需要指定密码。对于其他类型的,您必须使用 --hypervisor-password 选项指定 virt-who 用户密码。
7
可选:输入用于部署 virt-who 和 hypervisor 或虚拟化管理器的服务器间进行通信的 HTTP 代理。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部