虚拟化已成为 DevOps 的焦点。在迁移虚拟机时,存储至关重要。传统存储架构面临挑战,软件定义存储(如 NVMe/TCP)因其成本效益和可扩展性而兴起。NVMe/TCP 技术使虚拟机在实时迁移期间保持高 I/O 吞吐量,从而实现更顺畅的应用可用性。对于 DevOps 团队,具有 NVMe/TCP 的软件定义存储很有趣,因为它提供快速配置、可扩展性、灵活性和弹性。
译自:Mastering Storage for VMs: A DevOps Perspective
作者:Carol Platz
受成本和风险不断攀升的刺激,虚拟化已成为许多 DevOps 专业人士关注的热点。 寻求迁移其虚拟机 (VM) 并实现 IT 基础设施现代化的组织的兴趣不容低估。 许多人已经发现,基础设施现代化和将应用程序从旧版 VM 迁移具有诸多好处:加速应用程序交付、降低运营成本以及最大限度地降低业务风险,例如供应商锁定。
然而,虽然计算通常是重点,但存储对于成功的 VM 迁移至关重要,会影响对 DevOps 最重要的因素,例如性能、可扩展性和可靠性。 这是一种迁移虚拟化应用程序的新方法,重点关注 DevOps 的视角。
虚拟化应用程序的存储注意事项
在从旧版 VM 迁移应用程序时,DevOps 团队必须仔细评估存储选项,以满足现代需求。 主要考虑因素应该是快速配置和管理、可扩展性、灵活性、数据可用性和弹性。
在旧版虚拟化环境中,持久存储通常通过专用存储区域网络 (SAN) 进行配置,使用光纤通道 (FC)、iSCSI(互联网小型计算机系统接口)或网络文件系统 (NFS) 等协议。
虽然这些技术为许多部署提供了稳定的基础,但它们固有的刚性和扩展限制通常会在现代敏捷基础设施范例中带来挑战。 随着 DevOps 实践推动对更高敏捷性、可扩展性和成本优化的需求,传统的存储架构可能会成为瓶颈。 不断发展的存储策略对于与基础设施即代码原则和现代应用程序部署的动态特性保持一致至关重要。
虽然 NFS、iSCSI 和 FC 在历史上很普遍,但 DevOps 领域正在兴起更具适应性和效率的解决方案,例如 NVMe over TCP (NVMe/TCP)。 这种转变是由软件定义存储 (SDS) 平台的成熟以及对高度可扩展且经济高效的存储后端的迫切需求所推动的,这些后端可以通过编程方式进行配置和管理。
软件定义存储的采用率不断提高
对于块存储,使用 FC 的旧版 SAN 基础设施仍然在发挥作用。 从历史上看,FC 的专用带宽和传统存储阵列的强大功能集证明了这种选择的合理性,特别是考虑到旧网络硬件的局限性。 然而,情况正在发生变化。
网络技术的进步和 SDS 的兴起正在从根本上改变我们为现代虚拟化构建存储的方式。 采用 SDS 的一个关键驱动因素是成本效益; 与传统 SAN 相比,基于以太网的存储解决方案可显著节省成本,并提供更大的可扩展性。
Ceph 存储、iSCSI 和越来越受欢迎的 NVMe/TCP 等技术提供了软件定义的块卷。 值得注意的是,NVMe/TCP 由于能够通过使用现有的以太网基础设施以相当低的成本提供高性能而受到越来越多的关注。 这使其成为要求苛刻的块级工作负载的传统 FC SAN 的一个引人注目的替代方案,与 DevOps 对效率和敏捷性的关注相一致。
随着网络带宽的进步和以太网技术的不断创新,组织将摆脱传统 FC SAN 的受限限制,转向更灵活和可扩展的基于网络的存储,其中 NVMe/TCP 显然是领跑者。
启用 VM 的实时迁移
VM 传统上需要无缝状态,或者 VM 从一台物理主机服务器移动到另一台物理主机服务器而不会明显中断应用程序、服务或用户会话的能力。 主机之间实时迁移期间的吞吐量和网络连接通常遵循临时模型,即在启动时通过网络切换在新主机上全新配置。
然而,像 NVMe/TCP 这样的技术使 VM 不仅在稳态运行期间,而且更重要的是,在整个实时迁移过程中都能保持高 I/O 吞吐量。 这种能力通过最大限度地减少关键基础设施操作期间的性能影响来弥合 VM 之间的敏捷性差距,从而有助于更顺畅的应用程序可用性和弹性。
Lightbits Labs 的团队最近测试了使用基于 NVMe/TCP 的存储的 VM 如何在迁移时保持一致的 IO。 一个由三个持久卷声明 (PVC) 支持的 VM 被使用 —— 一个用于操作系统 (vda),另外两个 (vdc 和 vdd) 用于应用程序。 FIO(灵活 I/O 测试器)脚本的结果显示,在 FIO 的常规运行(VM 未迁移)和在实时迁移期间持续向存储发送 IO 的运行之间,IOPS 略有下降,延迟略有上升。
结论
虚拟化现代化面临的最大挑战之一是在实时迁移期间保持应用程序、服务和用户会话的可用性。 传统上,FC SAN 提供了存储基础设施,但现代软件定义的 NVMe/TCP 存储解决方案正在改变组织设计其虚拟化环境的方式。
虽然每个客户的旅程都是独一无二的,但在规划和构建组织的下一代虚拟化基础设施时,有一些核心的基本考虑因素。 这些通常围绕 VM 存储集成展开。 软件定义的 NVMe/TCP 存储提供性能、可扩展性和可靠性,以加速 DevOps 工作流程。
- 快速配置和管理: DevOps 团队需要快速配置和管理 VM 存储的能力。 SDS 解决方案(例如 NVMe over TCP)支持存储卷的动态配置和管理,从而提高效率。
- 可扩展性和灵活性: 现代应用程序需要可扩展且灵活的存储。 SDS 解决方案(例如 NVMe/TCP)提供根据需要扩展存储的能力,并提供比传统 SAN 更经济高效的选择。
对于 DevOps 团队来说,具有 NVMe/TCP 的软件定义存储对于虚拟化应用程序很有趣。 它提供快速配置、可扩展性、灵活性、弹性以及现代应用程序所需的持久和持续的高性能,而这些应用程序传统上需要基于 SAN 的结构才能运行。
