前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >主机侧在线迁移:挑战与实践案例解析

主机侧在线迁移:挑战与实践案例解析

作者头像
数据存储前沿技术
发布2025-02-11 19:56:44
发布2025-02-11 19:56:44
910
举报

全文概览

在当今快速发展的云计算和虚拟化技术环境中,主机在线迁移成为了确保系统高可用性和资源优化的重要手段。随着企业对数据处理能力和灵活性的需求不断增加,如何在不中断服务的情况下高效地迁移虚拟机(VM)成为了一个亟待解决的挑战。本文围绕主机侧在线迁移的开放生态系统,深入探讨了迁移管理的关键问题及其解决方案。

  1. 开放生态的挑战
    • 迁移管理宿主集成的问题,支持两种方式:pass-throughmediation
    • Pass-through 架构允许虚拟机直接访问底层硬件,提供高性能和低延迟,但对硬件支持要求高。
    • Mediation 架构通过Hypervisor调解I/O请求,提供灵活性和安全性,但会引入性能开销。
  2. 实践案例
    • 微软:实时迁移的必要性,确保虚拟机在硬件故障和负载均衡问题下的持续运行。
    • 谷歌:展示了远程存储的使用场景,强调内存和状态迁移的协调。
    • 英伟达:介绍VFIO模式在高性能计算中的应用,强调低延迟和高带宽的优势。

阅读收获

  • 理解主机侧在线迁移的基本概念及其在开放生态中的重要性。
  • 掌握pass-throughmediation两种架构的优缺点及适用场景。
  • 学习到不同公司的实践案例,了解如何在实际应用中实现高效的在线迁移。
  • 认识到实时迁移在确保虚拟机稳定性和性能方面的重要性。

提纲

分享主要分为两个部分,

  • 第一部分,由 Samsung 主持讨论 主机在线迁移开放生态需要聚焦的问题;
  • 第二部分,由微软、谷歌、英伟达 分享实践案例

L1-开放生态的挑战

实现主机侧迁移管理

在开放生态系统中,迁移管理宿主集成的问题,需要支持 pass-throughmediation 两种方式,具体取决于是否允许直接访问虚拟机资源,还是需要通过虚拟化技术进行调解或拦截。

两者的主要差异:

1. Pass-through 架构

  • 定义在此架构中,虚拟机(VM)直接访问底层硬件(如 NVMe SSD),并且不经过 Hypervisor 的干预。
  • 特点
    • 高性能由于数据直接从虚拟机到硬件,不经过任何虚拟化层的中介或调解,性能损失最小。
    • 简单直接不需要过多的虚拟化技术或复杂的配置,直接允许虚拟机操作底层存储。
    • 对硬件支持要求高必须确保硬件支持 PCI pass-through 或其他类似技术,且需要 Hypervisor 能够管理这些资源。
  • 数据迁移中的应用
    • 在数据迁移时,由于虚拟机直接控制存储设备,迁移过程的延迟较小。
    • 对于需要频繁和高效存取数据的工作负载(如数据库或高性能计算任务),pass-through 更为合适,因为它能够提供更高的吞吐量和较低的延迟。

    2. Mediation 架构

  • 定义在此架构中,虚拟机的访问路径被 Hypervisor 所调解或拦截,虚拟机与底层存储设备之间的所有 I/O 请求都会通过 Hypervisor。
  • 特点
    • 灵活性高由于 Hypervisor 介入,可以对存储资源进行更精细的管理、控制和调度。
    • 安全性和隔离性强由于 Hypervisor 控制了 I/O 操作,它可以确保虚拟机之间的资源隔离和安全性。
    • 性能开销pass-through 不同,mediation 会引入一定的性能开销,因为每个 I/O 请求都必须经过 Hypervisor 进行处理。
  • 数据迁移中的应用
    • 在数据迁移时,Hypervisor 可以管理和调节虚拟机的存储访问,保证迁移的顺利进行,特别是当虚拟机间需要共享存储或在不同存储之间迁移时,mediation 提供了更好的控制。
    • 对于需要高安全性、隔离性或灵活调度的工作负载,mediation 是更合适的选择,但会有一定的性能损失。

数据追踪与设备虚拟化

图描述了在开放生态系统中需要解决的两个关键问题:

  1. Dirty Tracking这涉及数据变化追踪的管理,可能由 Translation AgentDevice 来协助。
  2. NVMe 控制器和 PCIe 功能虚拟化这包括处理不同代际或跨厂商兼容性的问题,以及对主机控制的权限限制。如果设备是 mediation(中介),这些任务可以在宿主机软件中完成,反之则可能由硬件设备本身处理。

L2- 1 微软在线迁移案例-VM支持

在线迁移的必要性

图解释了为什么使用实时迁移(Live Migration)。具体理由包括:

  1. 客户希望他们的虚拟机(VM)能够长时间运行且不受中断。
  2. 尽管服务器节点通常非常可靠,但仍然存在一些复杂性和潜在的问题,如硬件故障(包括即时和可预测的故障)、固件更新(安全性、漏洞修复和新功能)以及资源耗尽和负载均衡问题。
  3. 实时迁移可以在硬件不完美的情况下,仍然为虚拟机提供稳健的支持,帮助解决这些问题。

NVMe 设备侧实时迁移的优势

NVMe® 实时迁移 的一些关键优势:

  1. 统一标准为多个 CSP(云服务提供商)使用提供了一个标准,减少了厂商的工作量,因为这意味着可以使用统一的固件(FW)和减少验证工作。
  2. 安全分离允许宿主控制器和虚拟机控制器(例如 MPF 和 SR-IOV)之间的安全分离,增强了隔离性和安全性。
  3. 独立的加密和清理功能支持加密和清理操作的独立控制,确保数据的安全性和合规性。
  4. 调试能力允许宿主控制器访问遥测数据(telemetry),帮助进行故障排查和调试。

L2-2 Google 案例:远程/本地存储

远程存储

图展示了一个 远程存储的使用场景,其中两个计算节点(Compute Node ACompute Node B)通过 pass-through 连接到各自的 NVMe 设备,支持内存迁移和状态迁移。图中的 DPU 负责协调内存和状态迁移过程。

这个架构突出了 远程存储 中的数据迁移和状态迁移机制,适用于需要高效管理计算资源和存储的场景,确保 VM 在不同计算节点之间的顺利迁移。


在线迁移在Google的应用场景

  • Google Compute Engine (GCE)
    • 主要关注控制器在管理队列上的展示。
    • 强调敌对和不可信工作负载的隔离。
    • 关注控制器的调试能力和遥测功能,以便提供更好的监控和排查。
  • Internal
    • 提到信任根和加密的使用,确保系统安全。
    • 强调通过 "左移"(Left shift)缩短市场时间,即尽早介入并减少开发迭代,从而提高效率。
    • 通过揭示需求和验证步骤,减少开发过程中的反复调整。

L2-3 英伟达案例:VFIO模式

VFIO 场景

图解释了为何在虚拟机中使用 NVMe Express® 配合 虚拟功能 I/O (VFIO 模式)

  1. 高性能 I/O当虚拟机配置为需要最高性能时,通常会使用直接设备访问,这样可以实现最佳的 I/O 性能。
  2. 低延迟和高带宽从设备和宿主机的角度来看,VFIO 模式使虚拟机充当用户空间驱动程序,这带来了显著的低延迟和更高的带宽优势。

为何在虚拟机中使用 NVMe Express® 配合 VFIO 模式,尤其是在高性能计算领域:

  1. 低开销和直接设备访问高性能计算领域的应用能够通过低开销、直接的设备访问来提高效率,减少中间层带来的延迟。
  2. 应用实例包括网络适配器(通常是非 TCP/IP 基础的)和计算加速器,它们能够通过 VFIO 模式直接访问硬件,提升性能。
  3. NVMe 协议NVMe 协议特别为高性能存储设计,能够使用户从存储设备中获得最大的性能。

VFIO 和 SR-IOV 技术有什么区别?

1. VFIO (Virtual Function I/O)

  • 定义VFIO 是一种驱动程序架构,用于允许虚拟机直接访问物理设备,通常通过 PCIe 设备的 Passthrough 方式。
  • 工作原理通过 VFIO,虚拟机能够直接访问宿主机上的硬件资源,例如网络适配器或 NVMe 存储,而无需虚拟化层干预。VFIO 模式使虚拟机变成一个用户空间驱动程序,直接与设备通信,从而实现低延迟和高带宽。

2. SR-IOV (Single Root I/O Virtualization)

  • 定义SR-IOV 是一种硬件级别的虚拟化技术,用于通过硬件对 I/O 资源进行虚拟化,使得多个虚拟机可以共享同一物理设备。
  • 工作原理SR-IOV 允许一个物理设备(如网络适配器)通过硬件创建多个虚拟功能(VFs,Virtual Functions)。每个虚拟机可以直接访问一个虚拟功能,从而实现高效的资源共享。这些虚拟功能独立于物理设备操作,可以通过 I/O 请求直接访问设备。

主要区别总结

  • 虚拟化方式VFIO 是通过 PCIe Passthrough 将物理设备直接提供给虚拟机,而 SR-IOV 则通过硬件提供多个虚拟功能来支持多个虚拟机共享同一设备。
  • 性能SR-IOV 在多个虚拟机共享硬件时通常能提供更好的性能,因为它是硬件级虚拟化,减少了虚拟化开销;而 VFIO 是直接访问设备,性能较高,但每个虚拟机只能使用独立的物理设备。
  • 资源共享SR-IOV 可以实现多个虚拟机共享同一物理设备的虚拟功能,而 VFIO 通常每个虚拟机需要独占一个物理设备。
  • 适用场景:VFIO 更适用于对单一虚拟机要求极高性能的场景,而 SR-IOV 更适用于需要多个虚拟机共享设备的场景,尤其是网络和存储虚拟化。

图讨论了 VFIO NVM Express® 实时迁移 的实现过程:

  1. 支持实时迁移包括创建 vfio-nvme 实现,该实现支持 VFIO 实时迁移的有限状态机 (FSM)
  2. NVM Express® 协议的支持协议支持确保能够执行由 VFIO FSM 发送的后续命令,从而支持完整的实时迁移过程。

简单来说,该方案涉及通过 NVM Express 协议与 VFIO FSM 配合,确保能够在虚拟机迁移时执行必要的命令,以便迁移硬件资源并保持高效性能。

Cite

更多关于 NVMe 支持的数据在线迁移文章可参考阅读:

  1. Samsung:支持在线迁移的SSD
    • 该文章探讨了跨数据中心的数据迁移动机和优势,强调了实时迁移技术在数据中心和SSD存储系统中的应用。它详细介绍了迁移工作流的各个阶段,包括预复制、暂停和复制、后复制阶段,提供了对数据在线迁移的深刻理解。
  2. 刨根问底:NVMe 从哪里来,到哪里去?
    • 这篇文章深入分析了NVMe技术的发展现状和未来规划,特别提到了NVMe在数据迁移和支持新兴技术方面的增强特性。它为理解NVMe设备在数据迁移中的应用提供了必要的技术背景。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 提纲
  • L1-开放生态的挑战
    • 实现主机侧迁移管理
    • 数据追踪与设备虚拟化
  • L2- 1 微软在线迁移案例-VM支持
    • 在线迁移的必要性
    • NVMe 设备侧实时迁移的优势
  • L2-2 Google 案例:远程/本地存储
    • 远程存储
    • 在线迁移在Google的应用场景
  • L2-3 英伟达案例:VFIO模式
    • VFIO 场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档