第 9 章 在 KVM (libvirt)上调配虚拟机.
基于内核的虚拟机(KVM)使用运行在 Red Hat Enterprise Linux 上的开源虚拟化守护进程和名为 libvirt 的 API。Satellite 可以连接到 KVM 服务器上的 libvirt API,在虚拟机监控程序上配置主机,并控制某些虚拟化功能。
只有通过 Satellite 创建的虚拟机才能管理。不支持具有目录存储池类型的虚拟机。
您可以使用 KVM 置备通过网络连接或现有镜像创建主机。
先决条件
- 您可以将同步的内容软件仓库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
- 在 KVM 服务器上管理网络的胶囊服务器。确保此网络上没有运行其他 DHCP 服务,以避免与胶囊服务器冲突。有关胶囊服务器的网络服务配置的更多信息,请参阅 置备主机 中的 配置网络 。
- 运行 KVM 虚拟化工具(libvirt 守护进程)的 Red Hat Enterprise Linux 服务器。如需更多信息,请参阅 Red Hat Enterprise Linux 8 配置和管理虚拟化。
-
如果要使用基于镜像的置备,现有虚拟机镜像。确保此镜像存在于 KVM 主机上的存储池中。
默认存储池通常位于/var/lib/libvirt/images中。只有目录池存储类型可以通过 Satellite 进行管理。 可选:这些步骤中的示例为 KVM 使用 root 用户。如果要在 KVM 服务器上使用非 root 用户,则必须将用户添加到 KVM 服务器上的
libvirt组中:usermod -a -G libvirt non_root_user
# usermod -a -G libvirt non_root_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关非管理员用户需要置备主机的权限列表,请参阅 附录 E, 置备主机所需的权限。
9.1. 为 KVM 连接配置 Satellite 服务器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在添加 KVM 连接前,为 foreman 用户创建一个 SSH 密钥对,以确保卫星服务器和 KVM 之间的安全连接。
流程
在 Satellite 服务器上,切换到
foreman用户:su foreman -s /bin/bash
# su foreman -s /bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成密钥对:
ssh-keygen
$ ssh-keygenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将公钥复制到 KVM 服务器中:
ssh-copy-id root@kvm.example.com
$ ssh-copy-id root@kvm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 退出
foreman用户的 bash shell:exit
$ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
libvirt-client软件包:satellite-maintain packages install libvirt-client
# satellite-maintain packages install libvirt-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令测试与 KVM 服务器的连接:
su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'
# su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'Copy to Clipboard Copied! Toggle word wrap Toggle overflow