介绍 OpenStack 实时迁移是确保虚拟化环境中的 HA、负载均衡和维护的关键功能。但是,实时迁移通常面临迁移时间延长、存储瓶颈和网络拥塞等挑战,尤其是在处理大型数据集时。
在本博客中,我们探讨了适用于 OpenStack 的 Lightbits NVMe over TCP (NVMe/TCP) 块存储如何转变实时迁移,从而提供性能、减少停机时间并增强可扩展性。
OpenStack Live Migration的挑战 实时迁移涉及将正在运行的 VM 的内存、CPU 状态和磁盘 I/O 从一个计算节点传输到另一个计算节点。虽然内存和 CPU 传输相对有效,但磁盘 I/O 经常成为瓶颈。
主要挑战包括:
- 存储性能缓慢:传统存储解决方案难以提供快速迁移所需的 IO/s 和低延迟。
- 大型磁盘传输:迁移具有较大磁盘大小的 VM 可能会延长迁移时间。
- 停机风险:迁移时间越长,服务中断或超时失败的风险就越大。
- 网络拥塞:迁移期间的数据传输可能会影响共享网络的其他工作负载。
适用于 OpenStack 的 Lightbits 块存储如何转变实时迁移
Lightbits NVMe/TCP 存储专为应对这些挑战而构建。通过标准 TCP/IP 网络提供 NVMe 性能,Lightbits 消除了对昂贵的专有存储硬件的需求,同时确保了性能和低延迟。
Lightbits for OpenStack Live Migration 的主要优势:
- 执行存储后端:Lightbits NVMe/TCP 卷提供传输大型磁盘映像所需的速度和吞吐量。
- 集成:Lightbits 使用 Cinder 与 OpenStack 原生集成,用于块存储,从而简化部署。
- 减少停机时间:更快的磁盘传输意味着更短的迁移窗口和最少的服务中断。
- HA:Lightbits 支持存储冗余,确保在迁移或故障转移期间不会中断。
- 可扩展的性能:Lightbits 存储可扩展以满足不断增长的工作负载需求。
- 成本效益:NVMe/TCP 在现有 TCP/IP 网络上运行,从而降低了基础设施成本。
OpenStack 中 Lightbits 支持的功能
必须了解在 OpenStack 中使用 Lightbits NVMe/TCP 块存储时支持什么,不支持什么:
- 块存储 (Cinder):Lightbits 与 OpenStack Cinder 集成,以提供基于 NVMe/TCP 的块存储。
- 基于卷的存储:Lightbits 提供基于卷的存储,可以附加到 VM 以进行实时迁移。
- HA:Lightbits 支持存储冗余,确保在迁移或故障转移期间不会中断。
- 集成: Lightbits 可以通过标准 TCP/IP 网络进行部署,而无需专有硬件。
通过专注于其在块存储和 NVMe/TCP 卷方面的优势,Lightbits 可确保为 OpenStack 实时迁移工作负载提供最佳性能。
实际性能结果
我们在带有 OpenStack Yoga 的 Kolla 发行版中使用 Lightbits NVMe/TCP 存储测试了 OpenStack 实时迁移。为了评估迁移性能,我们使用了内置的 OpenStack “nova live-migration” 命令来触发不同条件下(有负载和无负载)的实时迁移。对于负载测试,我们使用“fio”来模拟磁盘活动,并在迁移过程中对系统施加压力。
我们在 “负载 ” 和 “空负载 ”条件下进行了测试。我们测试了具有不同负载和配置的场景。
以下是迁移时间的详细细分:
对于 m1.xtiny(以秒为单位的时间):
对于 m1.tiny(以秒为单位的时间)
对于 m1.mid(以秒为单位的时间)
迁移时间受多种因素影响,并随着 VM 的 vCPU、RAM 和磁盘数量而增加。其他可能影响迁移时间的因素包括网络拥塞、CPU 争用和存储后端性能。我们的测试表明,由于这些因素,迁移时间会随着负载的增加而增加。
需要注意的是,OpenStack 的内部进程,例如内存传输、CPU 状态同步和调度延迟,主要影响观察到的迁移时间。在 Nova 节点之间共享 Lightbits 存储会导致实际的存储移交在一秒钟内完成,这进一步凸显了 NVMe/TCP 在 OpenStack 环境中的效率。
优化迁移性能
的影响 在我们的测试过程中,我们观察到 m1.mid 实例最初需要 90 秒才能在负载下完成实时迁移。但是,通过应用复制后迁移和自动收敛等调整参数,我们能够优化迁移过程。
- 复制后迁移通过在目标节点上恢复 VM 后传输内存页,缩短了总体迁移时间,将迁移时间缩短到 22 秒,从而减少了复制前迭代。
- Auto-Convergence 动态调整 CPU 性能,保证内存传输顺畅,减少过度迭代,提高迁移效率,迁移时间为 50 秒。
多 VM 迁移性能
除了测试单个 VM 迁移之外,我们还评估了同时迁移多个 VM 时迁移的行为。为了模拟真实的工作负载,我们在空载条件下同时启动了 VM 的实时迁移。结果非常高效,所有迁移都在 40 秒内成功完成。尽管一次迁移了多个 VM,但完成时间仍保持在最佳范围内,这表明 Lightbits 能够处理并发迁移,而不会因存储而产生延迟。
优化实时迁移的最佳实践
要充分利用 Lightbits 的 OpenStack 实时迁移,请遵循以下最佳实践:
- 利用 NVMe/TCP 存储:使用 Lightbits NVMe/TCP 进行低延迟磁盘传输。
- 优化您的网络:部署高带宽 TCP/IP 网络(例如,25Gb 或更高)。
- 迁移前检查:在迁移之前验证存储连接和资源可用性。
- 优化迁移参数:
- 复制后迁移:使用复制后迁移,通过在目标上恢复 VM 后传输内存页来减少停机时间。
- 自动收敛:启用自动收敛功能,在迁移过程中动态限制虚拟机的 CPU,降低内存传输速率,确保在高负载下成功迁移。
- Compression(压缩):启用压缩以减少通过网络传输的数据量。
- 网络带宽调优:为迁移流量分配足够的带宽,以避免拥塞。
- 确保 HA:配置 Lightbits HA 以保证不间断的存储访问。
结论
Lightbits NVMe/TCP 存储通过解决存储瓶颈和缩短迁移时间,彻底改变了 OpenStack 实时迁移。通过提供性能、可靠性和成本效益,该公司使组织能够在中断最小的情况下实现 VM 迁移。
对于优先考虑高速、弹性块存储的组织,Lightbits NVMe/TCP 提供高效的实时迁移体验,确保 BC 中断最小。