SR-IOV 端口实时迁移¶
Nova 在 Train 版本中的一项最新更改引入了实时迁移具有 NUMA 拓扑的实例的能力(同时考虑 CPU Pinning 和 Huge Pages)。本规范旨在讨论并确保在 charm 部署中支持该功能。
问题描述¶
作为操作员,我希望能够实时迁移具有 NUMA 拓扑的实例。
提议的变更¶
在 Nova 中,几个功能依赖于内部 NUMA 拓扑对象。如问题描述中所述,操作员可能会要求迁移此类实例。
配置 flavor 时,使用 hw:numa_nodes=N 时具有 NUMA 感知能力
配置 flavor 时,使用 hw:cpu_policy=dedicated 时具有 CPU Pinning 功能
配置 flavor 时,使用 hw:mem_page_size=large 时具有 Huge Pages 功能
此改进的支持将被视为 Ubuntu 19.10/Train 的技术预览版,对于 Ubuntu 18.04 LTS/Train 和 Ubuntu 20.04 LTS/Ussuri 则是生产就绪版。
预计不会对任何 charm 进行更改。这里的目标是验证行为并提供额外的文档。
备选方案¶
操作员可以识别与源主机具有相同特征的目标主机,并确保目标主机上 guest vCPU 被 pinned 的 CPU 处于空闲状态。此外,在 Huge Pages 使用的情况下,确保目标主机上 Huge Pages 的可用性。
默认情况下,Nova 中禁用具有 NUMA 拓扑的实例的实时迁移可用性,但操作员可以使用以下命令启用该行为:
workaround/enable_numa_live_migration=True
需要注意的是,此选项当前未在 charm-nova-compute 中公开。
实现¶
负责人¶
- 主要负责人
Sahid Orentino Ferdjaoui <lp:sahid-ferdjaoui>
Gerrit Topic¶
对于与此规范相关的所有补丁,请使用 Gerrit 主题“numa-live-migration”。
git-review -t numa-live-migration
工作项¶
实现包括以下项目
使用 NUMA 感知能力验证行为。
使用 CPU Pinning 验证行为。
使用 Huge Pages 验证行为。
仓库¶
任何额外的文档都将被考虑用于 charm-deployment-guide。
文档¶
n/a
安全性¶
n/a
测试¶
n/a
依赖项¶
请参阅 NUMA 感知实时迁移规范 [0]。