第 11 章 为 NFV 工作负载启用 RT-KVM
为了便于安装和配置 Red Hat Enterprise Linux Real Time KVM (RT-KVM),Red Hat OpenStack Platform 提供以下功能:
- 为实时置备 Red Hat Enterprise Linux 的实时 Compute 节点角色。
- 额外的 RT-KVM 内核模块。
- Compute 节点自动配置。
11.1. 规划 RT-KVM Compute 节点
在计划 RT-KVM Compute 节点时,请确保完成以下任务:
- 您必须将红帽认证的服务器用于 RT-KVM Compute 节点。 - 如需更多信息,请参阅 Red Hat Enterprise Linux for Real Time 认证服务器。 
- 注册 undercloud 并附加有效的 Red Hat OpenStack Platform 订阅。 - 如需更多信息,请参阅 Director 安装和使用指南中的 注册 undercloud 和 附加订阅。 
- 启用 undercloud 所需的存储库,如 RT-KVM 的 - rhel-9-server-nfv-rpms存储库,并将系统软件包更新至最新版本。注意- 您需要单独订阅 - Red Hat OpenStack Platform for Real TimeSKU,才能访问此软件仓库。
构建实时镜像
- 在 undercloud 上安装 libguestfs-tools 软件包,以获取 virt-customize 工具: - sudo dnf install libguestfs-tools - (undercloud) [stack@undercloud-0 ~]$ sudo dnf install libguestfs-tools- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 重要- 如果在 undercloud 上安装 - libguestfs-tools软件包,请禁用- iscsid.socket,以避免与 undercloud 上的- tripleo_iscsid服务冲突:- sudo systemctl disable --now iscsid.socket - $ sudo systemctl disable --now iscsid.socket- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 解压镜像: - tar -xf /usr/share/rhosp-director-images/overcloud-full.tar tar -xf /usr/share/rhosp-director-images/ironic-python-agent.tar - (undercloud) [stack@undercloud-0 ~]$ tar -xf /usr/share/rhosp-director-images/overcloud-full.tar (undercloud) [stack@undercloud-0 ~]$ tar -xf /usr/share/rhosp-director-images/ironic-python-agent.tar- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 复制默认镜像: - cp overcloud-hardened-uefi-full.qcow2 overcloud-realtime-compute.qcow2 - (undercloud) [stack@undercloud-0 ~]$ cp overcloud-hardened-uefi-full.qcow2 overcloud-realtime-compute.qcow2- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 注册您的镜像以启用与您的自定义相关的红帽软件仓库。将 - [username]和- [password]替换为以下示例中的有效凭证。- virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager register --username=[username] --password=[password]' \ subscription-manager release --set 8.4 - virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager register --username=[username] --password=[password]' \ subscription-manager release --set 8.4- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 为安全起见,如果在命令提示符中使用它们,则可从历史记录文件中删除凭证。您可以使用 - history -d命令和行号删除历史记录中的个别行。
- 从您的帐户的订阅中找到池 ID 列表,并将适当的池 ID 附加到您的镜像。 - sudo subscription-manager list --all --available | less ... virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager attach --pool [pool-ID]' - sudo subscription-manager list --all --available | less ... virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager attach --pool [pool-ID]'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 添加使用 NFV 的 Red Hat OpenStack Platform 所需的存储库。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建一个脚本,以配置镜像的实时功能。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行脚本以配置实时镜像: - virt-customize -a overcloud-realtime-compute.qcow2 -v --run rt.sh 2>&1 | tee virt-customize.log - (undercloud) [stack@undercloud-0 ~]$ virt-customize -a overcloud-realtime-compute.qcow2 -v --run rt.sh 2>&1 | tee virt-customize.log- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 如果您在 - rt.sh脚本输出中看到以下行,- "grubby fatal error: 无法找到合适的模板",您可以忽略此错误。
- 检查之前命令生成的 - virt-customize.log文件,以使用- rt.sh脚本检查是否正确安装的软件包。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重新标记 SELinux: - virt-customize -a overcloud-realtime-compute.qcow2 --selinux-relabel - (undercloud) [stack@undercloud-0 ~]$ virt-customize -a overcloud-realtime-compute.qcow2 --selinux-relabel- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 提取 vmlinuz 和 initrd: - mkdir image guestmount -a overcloud-realtime-compute.qcow2 -i --ro image cp image/boot/vmlinuz-3.10.0-862.rt56.804.el7.x86_64 ./overcloud-realtime-compute.vmlinuz cp image/boot/initramfs-3.10.0-862.rt56.804.el7.x86_64.img ./overcloud-realtime-compute.initrd guestunmount image - (undercloud) [stack@undercloud-0 ~]$ mkdir image (undercloud) [stack@undercloud-0 ~]$ guestmount -a overcloud-realtime-compute.qcow2 -i --ro image (undercloud) [stack@undercloud-0 ~]$ cp image/boot/vmlinuz-3.10.0-862.rt56.804.el7.x86_64 ./overcloud-realtime-compute.vmlinuz (undercloud) [stack@undercloud-0 ~]$ cp image/boot/initramfs-3.10.0-862.rt56.804.el7.x86_64.img ./overcloud-realtime-compute.initrd (undercloud) [stack@undercloud-0 ~]$ guestunmount image- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- vmlinuz和- initramfs文件名中的软件版本与内核版本不同。
- 上传镜像: - openstack overcloud image upload --update-existing --os-image-name overcloud-realtime-compute.qcow2 - (undercloud) [stack@undercloud-0 ~]$ openstack overcloud image upload --update-existing --os-image-name overcloud-realtime-compute.qcow2- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
				现在,您有一个实时镜像,可用于所选 Compute 节点上的 ComputeOvsDpdkRT 可组合角色。
			
修改 RT-KVM Compute 节点上的 BIOS 设置
要减少 RT-KVM Compute 节点上的延迟,请在 Compute 节点 BIOS 设置中禁用以下参数的所有选项:
- 电源管理
- 超线程
- CPU 睡眠状态
- 逻辑处理器