第 4 章 创建 virt-who 配置
使用这个流程创建 virt-who 配置。红帽产品和 Microsoft Hyper-V 需要每个运行 Red Hat Enterprise Linux 虚拟机的虚拟机监控程序配置。VMware vSphere 为每个 vCenter Server 需要一个配置。
此流程中的大多数值都添加到 /etc/virt-who.d/conf_name.conf
文件中,并只应用到指定的 hypervisor 或虚拟化管理器。interval,启用调试输出,HTTP Proxy, 和 Ignore Proxy 是存储在 /etc/sysconfig/virt-who
文件中的全局值。全局配置值适用于同一服务器上的所有 virt-who 配置,每次在该服务器上部署新的 virt-who 配置时会覆盖新的 virt-who 配置。
每个 virt-who 配置都会创建一个 virt_who_reporter_[id]
用户,并为它分配 Virt-who Reporter
角色,该角色为向 Satellite 服务器报告的最小权限。无法手动配置或用于登录到 Satellite 服务器。
先决条件
- 如果您要为红帽管理程序(Red Hat Enterprise Linux 或 Red Hat Virtualization Host)创建 virt-who 配置,请将 hypervisor 注册到 Red Hat Satellite。
在 hypervisor 或虚拟化管理器中创建只读 virt-who 用户:
- 对于红帽产品和 Microsoft Hyper-V,在每个运行 Red Hat Enterprise Linux 虚拟机的虚拟机监控程序上创建一个 virt-who 用户。
- 对于 VMware vSphere,在 vCenter Server 上创建一个 virt-who 用户。virt-who 用户至少需要对 vCenter 数据中心中的所有对象进行只读访问。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Virt-who 配置。
- 单击 Create Config。在 New Virt-who Config 窗口中,您可以点帮助图标以了解有关每个字段的更多信息。
- 输入配置的名称。
从 Hypervisor Type 列表中,选择您的虚拟化平台:
- Red Hat Enterprise Linux Virtualization (KVM)、Red Hat Virtualization 或 Red Hat OpenStack Platform: libvirt
- VMware vSphere:es x
- Microsoft Hyper-V: hyperv
- 请注意,不支持 rhevm 和 xen 管理程序类型,kubevirt hypervisor 类型仅作为技术预览提供。
- 在 Hypervisor Server 字段中,输入此配置适用的服务器的 FQDN 或 IP 地址。对于 VMware vSphere,使用 vCenter 服务器的 FQDN 或 IP 地址。对于所有其他产品,请使用虚拟机监控程序的 FQDN 或 IP 地址。
- 在 Hypervisor Username 字段中,输入您在虚拟机监控程序或虚拟化管理器中创建的 virt-who 用户的名称。
- 在 Hypervisor Password 字段中,输入 virt-who 用户的密码。部署配置时,此密码会被加密。使用 libvirt 类型时不需要此字段。
- 从 Interval 列表中,选择 virt-who 请求新的或更新的虚拟机信息的频率。由于虚拟机被授予了最多 7 天的临时订阅,因此不需要频繁查询;您可以选择适合您环境大小的间隔。每 24 小时 适合大多数环境。
- 输入 Satellite 服务器 FQDN。
- 从 Hypervisor ID 列表中,选择是否通过其主机名或 UUID 识别 Satellite 服务器中的 hypervisor。
选择 Filtering 选项:
- 默认值为 Unlimited。此配置涵盖的所有虚拟机监控程序都由 virt-who 查询。如果不必限制查询哪些虚拟机监控程序,请使用此选项。
- 您可以列入白名单 或 黑名单 管理程序。例如,如果某些虚拟机监控程序仅运行 Microsoft Windows Server 虚拟机,则这些虚拟机监控程序不需要由 virt-who 报告。
- 如果您选择了 Whitelist 或 Blacklist :在 Filter hosts 或 Exclude hosts 字段中,根据所选的 Hypervisor ID 输入以逗号分隔的管理程序列表。例如,如果虚拟机监控程序由其主机名标识,它们必须由主机名包含或排除。如果虚拟机监控程序的名称包含特殊字符,请将其用引号括起。支持通配符和正则表达式。请注意,在使用正则表达式时,必须转义反斜杠。
如果您选择了 esx 类型和 Whitelist 或 Blacklist :在 Filter host parents 或 Exclude host parents 字段中,请输入以逗号分隔的集群 ID 列表。如需更多信息,请参阅红帽知识库中的 对 VMware 集群使用"Filter Host Parents"和"Exclude Host Parents"属性。
允许的集群中的虚拟机监控程序由
virt-who
报告。排除集群中的虚拟机监控程序不会由virt-who
报告。如果集群名称包含特殊字符,请将其用引号括起。支持通配符和正则表达式。请注意,在使用正则表达式时,必须转义反斜杠。- 可选:如果您需要调试输出进行故障排除,请选择 Enable debugging output 复选框。
可选:输入 HTTP 代理,用于部署 virt-who 的服务器之间以及 hypervisor 或虚拟化管理器之间的通信。例如 :http://proxy.example.com:3128。
要不使用代理,请将此字段留空;这与在 Ignore Proxy 字段中输入
*
时的结果相同。- 可选: 在 Ignore Proxy 字段中,输入以逗号分隔的主机名、IP 地址或域列表来绕过现有的代理设置。
- 点 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
- 选择以分钟为单位的 virt-who 查询虚拟化平台的频率。由于虚拟机被授予了最多 7 天的临时订阅,因此不需要频繁查询;您可以选择适合您环境大小的间隔。一旦一天(
1440
)适合大多数环境。 - 2
- 选择是否过滤 hypervisor。如果不必限制查询哪些虚拟机监控程序,请使用
none
。或者,您可以将虚拟机监控程序列入白名单
或黑名单中
。例如,如果某些虚拟机监控程序仅运行 Microsoft Windows Server 虚拟机,则这些虚拟机监控程序不需要由 virt-who 报告。 - 3
- 选择如何识别此配置适用的虚拟机监控程序(或 hypervisor)。使用
主机名
在 Satellite 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:es
x
-
Microsoft Hyper-V:
hyperv
-
请注意,不支持
rhevm
和xen
管理程序类型,kubevirt
hypervisor 类型仅作为技术预览提供。
-
Red Hat Enterprise Linux Virtualization (KVM)、Red Hat Virtualization 或 Red Hat OpenStack Platform:
- 5
- 指定此配置应用到的服务器的 FQDN 或 IP 地址。对于 VMware vSphere,使用 vCenter 服务器的 FQDN 或 IP 地址。对于所有其他产品,请使用虚拟机监控程序的 FQDN 或 IP 地址。
- 6
- 指定您在虚拟机监控程序或虚拟化管理器中创建的只读 virt-who 用户。使用
libvirt
类型时,您不需要指定密码。对于其他类型的,您必须使用--hypervisor-password
选项指定 virt-who 用户的密码。 - 7
- 可选:输入 HTTP 代理,用于部署 virt-who 的服务器之间以及 hypervisor 或虚拟化管理器之间的通信。