第 9 章 在 KVM 上置备虚拟机(libvirt)
基于内核的虚拟机(KVM)使用开源虚拟化守护进程和名为 libvirt
在 Red Hat Enterprise Linux 上运行的 API。Red Hat Satellite 可以连接到 KVM 服务器上的 libvirt
API,调配虚拟机监控程序上的主机,并控制某些虚拟化功能。
只有通过 Satellite 创建的虚拟机才能进行管理。不支持具有目录存储池类型以外的虚拟机。
您可以使用 KVM 置备通过网络连接或现有镜像创建主机。
先决条件
- 您可以将同步的内容软件仓库用于 Red Hat Enterprise Linux。有关更多信息,请参阅 内容管理指南中的同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅 内容 管理指南中的 创建激活码。
- 在 KVM 服务器上管理网络的 Capsule 服务器。确保没有在此网络上运行其他 DHCP 服务,以避免与 Capsule 服务器冲突。有关 Capsule 服务器的网络服务配置的更多信息, 请参阅置备 指南中的配置网络。
- 运行 KVM 虚拟化工具(libvirt 守护进程)的 Red Hat Enterprise Linux 服务器。如需更多信息,请参阅 Red Hat Enterprise Linux 7 虚拟化入门指南。
-
如果要使用基于镜像的置备,现有的虚拟机镜像。确保此镜像存在于 KVM 主机上的存储池中。
默认
存储池通常位于/var/lib/libvirt/images
中。只有目录池存储类型可以通过 Satellite 管理。 可选:这些步骤中的示例将 root 用户用于 KVM。如果要在 KVM 服务器上使用非 root 用户,您必须将该用户添加到 KVM 服务器上的
libvirt
组中:# usermod -a -G libvirt non_root_user
具有以下角色的 Satellite 用户帐户:
- 编辑主机
查看主机
如需更多信息,请参阅 管理 Red Hat Satellite 指南中的将角色分配给用户。
在 Satellite 中具有以下权限的自定义角色:
- view_compute_resources
- destroy_compute_resources_vms
- power_compute_resources_vms
- create_compute_resources_vms
- view_compute_resources_vms
- view_locations
view_subnets
有关创建角色的更多信息,请参阅管理 Red Hat Satellite 指南中的创建 角色。有关向角色 添加权限的更多信息,请参阅 管理 Red Hat Satellite 指南中的 向角色 添加权限。
9.1. 为 KVM 连接配置 Satellite 服务器
在添加 KVM 连接前,请为 foreman
用户创建一个 SSH 密钥对,以确保 Satellite 服务器和 KVM 之间的安全连接。
流程
在 Satellite 服务器上,切换到
foreman
用户:# su foreman -s /bin/bash
生成密钥对:
$ ssh-keygen
将公钥复制到 KVM 服务器中:
$ ssh-copy-id root@kvm.example.com
退出
foreman
用户的 bash shell:$ exit
安装
libvirt-client
软件包:# satellite-maintain packages install libvirt-client
使用以下命令测试与 KVM 服务器的连接:
# su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'