第 10 章 注册 Hypervisor 和虚拟机
Red Hat Enterprise Linux 6 和 7 要求每个客户机虚拟机都映射到特定的管理程序,以确保每个客户机都分配了相同的订阅服务级别。要执行此操作,您需要安装一个订阅代理,该代理会在安装和注册的每个 KVM 管理程序上自动检测所有客户机虚拟机(VM),进而创建一个位于主机上的映射文件。这个映射文件可确保所有客户机虚拟机都收到以下好处:
- 特定于虚拟系统的订阅可以随时可用,并可应用于所有关联的虚拟机虚拟机。
- 所有可从管理程序继承的订阅优势均可随时可用,并可应用于所有相关的客户机虚拟机。
注意
本章提供的信息仅特定于 Red Hat Enterprise Linux 订阅。如果您有红帽虚拟化订阅或 Red Hat Satellite 订阅,则您还应查阅这些订阅提供的 virt-who 信息。如需红帽订阅管理的更多信息,请参阅《 红帽订阅管理 指南》,网址为:
10.1. 在主机物理机器上安装 virt-who
注册 KVM 管理程序
在终端中以 root 用户身份在主机物理计算机上运行 subscription-manager register [options] 命令注册 KVM 管理程序。可使用 # subscription-manager register --help 菜单获得更多选项。如果您在使用用户名和密码时,请使用 Subscription Manager 应用程序已知的凭证。如果这是您首次订阅,且您没有用户帐户,请联络客户支持。例如,要将虚拟机注册为 'admin' 使用 'secret' 作为密码,您可以发送以下命令:[root@rhel-server ~]# subscription-manager register --username=admin --password=secret --auto-attach
安装 virt-who 软件包
在主机物理机器上运行以下命令来安装 virt-who 软件包:# yum install virt-who
创建 virt-who 配置文件
对于每个管理程序,在/etc/virt-who.d/
目录中添加一个配置文件。文件必须至少包含以下片断:[libvirt] type=libvirt
有关配置 virt-who 的详情请参考 第 10.1.1 节 “配置 virt-who”。启动 virt-who 服务
在主机物理机器上运行以下命令启动 virt-who 服务:# systemctl start virt-who.service # systemctl enable virt-who.service
确认 virt-who 服务正在收到客户机信息
此时,virt-who 服务将从主机收集一组域。检查主机物理计算机上的/var/log/rhsm/rhsm.log
文件,以确认该文件是否包含客户端虚拟机的列表。例如:2015-05-28 12:33:31,424 DEBUG: Libvirt domains found: [{'guestId': '58d59128-cfbb-4f2c-93de-230307db2ce0', 'attributes': {'active': 0, 'virtWhoType': 'libvirt', 'hypervisorType': 'QEMU'}, 'state': 5}]
过程 10.1. 在客户门户网站中管理订阅
订阅虚拟机监控程序
由于虚拟机将获得与虚拟机监控程序相同的订阅好处,因此管理程序具有有效的订阅,且订阅可供虚拟机使用。订阅客户机虚拟机 - 首次使用
此步骤适用于拥有新订阅且之前从未订阅客户机虚拟机的用户。如果您要添加虚拟机,请跳过此步骤。要在运行 virt-who 服务的机器上使用分配给管理程序配置文件的订阅,请通过在客户机虚拟机上的终端运行以下命令自动订阅。[root@virt-who ~]# subscription-manager attach --auto
订阅额外的客户机虚拟机
如果您首次订阅了虚拟机,请跳过此步骤。如果您要添加额外的虚拟机,请注意,运行此命令不一定会在客户机虚拟机中重新附加相同的订阅。这是因为,删除所有订阅后允许自动附加来解决给定客户机虚拟机需要什么操作,可能会导致与之前使用的不同订阅。这对您的系统可能没有任何影响,但应该了解它。如果您使用手动附加程序附加虚拟机(如下所述),则需要手动附加这些虚拟机,因为自动附加将无法正常工作。使用以下命令首先删除旧客户机的订阅,然后使用自动附加订阅将订阅附加到所有客户机。在客户机虚拟机中运行这些命令。[root@virt-who ~]# subscription-manager remove --all [root@virt-who ~]# subscription-manager attach --auto
确认订阅已附加
通过在客户机虚拟机中运行以下命令来确认订阅已附加到管理程序中:[root@virt-who ~]# subscription-manager list --consumed
将显示类似于如下内容的输出。请注意订阅详情。它应该说"订阅为"当前"。[root@virt-who ~]# subscription-manager
list --consumed
+-------------------------------------------+ Consumed Subscriptions +-------------------------------------------+ Subscription Name: Awesome OS with unlimited virtual guests Provides: Awesome OS Server Bits SKU: awesomeos-virt-unlimited Contract: 0 Account: ######### Your account number ##### Serial: ######### Your serial number ###### Pool ID: XYZ123 Provides Management: No Active: True Quantity Used: 1 Service Level: Service Type: Status Details: Subscription is current Subscription Type: Starts: 01/01/2015 Ends: 12/31/2015 System Type: Virtual- ???
- The ID for the subscription to attach to the system is displayed here. You will need this ID if you need to attach the subscription manually.
- ???
- Indicates if your subscription is current. If your subscription is not current, an error message appears. One example is Guest has not been reported on any host and is using a temporary unmapped guest subscription. In this case the guest needs to be subscribed. In other cases, use the information as indicated in 第 10.5.2 节 “我有订阅状态错误,我有什么作用?”.
注册其他客户端
当您在 hypervisor 中安装新客户机虚拟机时,您必须注册新虚拟机并使用附加到虚拟机监控程序的订阅,方法是在客户机虚拟机中运行以下命令:# subscription-manager register # subscription-manager attach --auto # subscription-manager list --consumed
10.1.1. 配置 virt-who
virt-who 服务使用以下文件进行配置:
/etc/virt-who.conf
- 包含常规配置信息,包括检查连接的虚拟机监控程序的间隔。/etc/virt-who.d/hypervisor_name.conf
- 包含特定管理程序的配置信息。
提供了一个基于 web 的向导来生成虚拟机监控程序配置文件和
virt-who.conf
所需的代码片段。要运行向导,请浏览客户门户上的 Red Hat Virtualization Agent(virt-who)Configuration Helper。
在向导的第二页面中,选择以下选项:
订阅资产管理器
libvirt
按照向导完成配置。如果正确执行配置,则 virt-who 将自动为指定管理程序上的现有和将来的客户机提供所选订阅。
有关虚拟机监控程序配置文件的详情,请查看 virt-who-config man page。