浅析云场景SSD实时迁移技术

在数据中心的运营管理中,负载均衡和系统容错是确保高效稳定运行的关键。SSD实时迁移技术,为解决这些问题提供了创新方案,成为数据中心技术发展的重要驱动力。

图片

以AI训练任务为例,其运行时间长且无需用户频繁交互。数据中心的负载会因不同地区的时区差异而波动,在夜间,部分地区的数据中心负载降低。此时,将AI训练任务迁移至负载较低的数据中心,能有效提升资源利用率,避免资源闲置与过载情况同时出现,实现计算资源的优化分配。

图片

数据中心可能遭遇停机、错误或访问异常等状况。实时迁移技术可使工作负载在出现这些问题时,无缝转移到其他正常的环境中继续运行,极大地减少了停机时间,保障业务连续性。例如,当某数据中心的存储设备出现故障时,运行在其上的虚拟机可通过实时迁移迅速切换到其他数据中心的存储设备,业务几乎不受影响。

实时迁移(Live Migration)的原理是在主机 I/O 操作保持连续的情况下,将数据和运行状态从源端迁移到目标端的过程,旨在不中断业务的前提下,实现存储资源的转移或调整。

图片

NVMe主机托管实时迁移技术:

  • 功能与作用:NVMe主机托管实时迁移通过支持数据中心虚拟机(VMs)迁移,同时增强数据中心维护流程,来解决数据中心管理和安全问题。实时迁移协议允许主机将虚拟机、虚拟机使用的NVMe控制器以及连接到这些控制器的命名空间置于静态状态,然后将虚拟机迁移到另一个NVMe子系统继续正常运行。

  • 安全性优势:迁移过程中暂停控制器使其进入静态状态,数据中心能维持各子系统之间的状态,且虚拟机不知道迁移发生,在数据中心内隐藏迁移过程可让主机在保持迁移能力的同时抵御数据安全问题。

  • 标准化与效率提升:实时迁移提供主机与NVMe子系统间建立通信以实现控制器迁移的必要服务,这是NVMe规范族的必要更新。通过启用标准化的虚拟机迁移方法,NVMe设备以及使用NVMe技术的企业和超大规模数据中心将提高可扩展性和效率。

在SSD层面启用实时迁移(Live Migration),能去除I/O队列中的软件层,减轻主机软件负载,优化存储访问延迟。这不仅提升了存储系统的性能,还降低了系统的复杂性,提高了整体运行效率。比如,在大规模数据读写场景下,更低的访问延迟可显著加快数据传输速度,提升业务响应速度。

关键组件:

  1. 迁移管理主机(MMH)与虚拟机监视器(VMM):VMM承担着MMH的角色,是实时迁移的核心控制单元。它负责接收和处理所有实时迁移命令,协调源主机和目标主机之间的迁移流程,确保虚拟机在迁移过程中不受干扰。在一个数据中心中,多个虚拟机共享一个VMM进行迁移管理,VMM就像交通枢纽的调度员,保障迁移任务有序进行。

图片

  1. 迁移管理控制器(MMC)与可迁移控制器(MC):MMC负责管理迁移过程,在SSD的场景中,主控制器(如PF_0上的Primary Ctlr)作为MMC,监控和控制迁移流程。每个虚拟机对应的辅助控制器(如VF_Y和VF_H上的Secondary Ctlr)则是MC,负责处理虚拟机的I/O请求。在迁移过程中,Primary Ctlr与Secondary Ctlr密切配合,完成数据的复制和状态的迁移。

在基于虚拟机的系统中,一个VMM管理多个虚拟机。以具有SR-IOV虚拟化的SSD为例,PF_0上的Primary Ctlr作为迁移管理控制器,每个虚拟机在VF_Y和VF_H上都有对应的Migratable Controller(Secondary Ctlr)。这种配置下,源主机和目标主机的虚拟机都通过VMM进行迁移操作的协调,同时在迁移前,目标虚拟机可能会有预生成的读写命令,这些命令由VMM管理,确保迁移过程的一致性。

图片

实时迁移流程

(一)预拷贝阶段

  1. 开始日志记录:VMM发送“Track Send”命令并启用“Log User Data Changes”选项,Primary Ctlr开始记录虚拟机辅助控制器上的所有I/O请求。这个过程存在竞争条件,即日志记录开始的时间与记录命令完成的时间可能存在差异。但“Logging Started”状态确保了之前未完成的命令全部完成,之后的命令都能被正确记录。这就好比给数据的变化加上了一个时间戳,确保迁移过程中数据的一致性。

图片

  1. 目标准备:目标主机需要准备好可用的虚拟机资源,并使用标准NVMe命令初始化目标SSD。比如,VMM可以在目标控制器(如Ctlr G)上创建共享命名空间,为接收迁移数据做好准备。

图片

  1. 初始命名空间迁移:有两种迁移方式。Option 1是VMM直接复制整个虚拟机命名空间,但对于稀疏写入的数据效率较低。Option 2更具优势,VMM向Primary Ctlr请求获取LBA状态,Primary Ctlr按照SSD设定的粒度返回结果,只迁移已映射且有效的数据,提高了迁移效率。

图片

图片

  1. 迭代数据复制:在初始迁移后,虚拟机持续对源命名空间进行读写操作,Primary Ctlr持续记录写入并复制到目标SSD。由于复制需要时间,VMM需要不断追赶虚拟机的活动,将数据写入目标辅助控制器的命名空间。对于不具备内存跟踪功能的系统,建议进行全内存复制,以确保数据完整迁移。

图片

(二)暂停拷贝阶段

VMM决定完成迁移时,向Primary Ctlr发送暂停命令。Secondary Ctlr停止获取新命令并完成所有未完成的命令,Primary Ctlr完成暂停命令后向VMM反馈,同时将暂停成功的信息记录在MQ中。VMM随后解析剩余的MQEs,将剩余数据复制到目标Secondary Ctlr的命名空间。此时,源SSD需要准备好应对可能的恢复命令,若未恢复,Secondary Ctlr可能会被重置。

图片

(三)后拷贝阶段

VMM从MQ解析获取最终数据并进行复制,迁移控制器状态,如向目标控制器发送恢复命令(Resume Ctlr Y sent to Ctlr X等)。源VMM清理并重置源控制器和命名空间。从SSD的角度看,迁移完成后系统恢复正常的NVMe操作流程。

图片

SSD实时迁移技术在数据中心的高可用性、资源优化等方面具有广阔的应用前景。在云计算领域,它可以实现虚拟机在不同物理服务器之间的无缝迁移,支持动态资源分配和弹性计算服务;在企业级存储系统中,保障业务连续性,减少因硬件维护或故障导致的停机时间。

然而,该技术也面临一些挑战。在大规模数据中心环境中,多个迁移任务同时进行可能导致网络带宽和存储I/O资源的竞争;不同硬件设备和系统配置的兼容性也需要进一步优化;此外,迁移过程中的数据一致性和安全性保障,尤其是在复杂的多租户环境下,仍然是需要持续关注和解决的问题。

如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • 学术前沿|专为CXL SSD设计的文件系统

  • 2025伊始,PCIe 7.0的脚步更近了

  • 存储随笔2024年度技术分享总结

  • 浅析下一代NAND接口新特性SCA

  • 2025年CXL强势启航:开启内存扩展新时代

  • PCIe SSD在温变环境的稳健性技术剖析

  • DWPD指标:为何不再适用于大容量SSD?

  • 突破内存墙:DRAM的过去、现在与未来

  • E1.S接口如何解决SSD过热问题?

  • ZNS SSD是不是持久缓存的理想选择?

  • 存储正式迈入超大容量SSD时代!

  • FMS 2024: 带来哪些存储技术亮点?

  • IEEE报告解读:存储技术发展趋势分析

  • PCIe P2P DMA全景解读

  • 深度解读NVMe计算存储协议

  • 浅析不同NAND架构的差异与影响

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同一局域网远程控制其他电脑以及Windows家庭版开启远程桌面等解决方法

1. 前言 家庭版的 Windows 10 和 Windows 11 默认不支持远程桌面功能。然而,我们可以通过使用 RDPWrap 项目来启用这一功能。 电脑的“设置”-> “远程桌面设置”中查看系统是否支持远程桌面 2.下载安装 RDPWrap 安装该项目使家庭版也支持远程桌面 项目地址&…

DeepSeek-R1:将强化学习用于激励大型语言模型的推理能力

目录 引言 一、DeepSeek-R1的贡献 二、DeepSeek-R1的方法 2.1、DeepSeek-R1-Zero:基础模型上的强化学习 2.2、DeepSeek-R1:冷启动强化学习 2.3、蒸馏:赋予小模型推理能力 三、DeepSeek-R1实验结果 3.1、模型优点 3.2、模型缺点 四、…

数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)

数据库管理287期 20245-01-24 数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)1 AI向量搜索:算术和聚合运算2 更改Compatible至23.6.0,以使用23.6或更高版本中的新AI向量搜索功能3 Cloud Developer包4 DBMS_DEVELOPER.GET…

Android BitmapShader简洁实现马赛克,Kotlin(二)

Android BitmapShader简洁实现马赛克,Kotlin(二) 这一篇 Android BitmapShader简洁实现马赛克,Kotlin(一)-CSDN博客 遗留一个问题,xml定义的MyView为wrap_content的宽高,如果改成其…

智能化加速标准和协议的更新并推动验证IP(VIP)在芯片设计中的更广泛应用

作者:Karthik Gopal, SmartDV Technologies亚洲区总经理 智权半导体科技(厦门)有限公司总经理 随着AI技术向边缘和端侧设备广泛渗透,芯片设计师不仅需要考虑在其设计中引入加速器,也在考虑采用速度更快和带宽更高的总…

【问题】Chrome安装不受支持的扩展 解决方案

此扩展程序已停用,因为它已不再受支持 Chromium 建议您移除它。详细了解受支持的扩展程序 此扩展程序已停用,因为它已不再受支持 详情移除 解决 1. 解压扩展 2.打开manifest.json 3.修改版本 将 manifest_version 改为3及以上 {"manifest_ver…

Vue入门(Vue基本语法、axios、组件、事件分发)

Vue入门 Vue概述 Vue (读音/vju/,类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三…

[云讷科技]Kerloud Falcon四旋翼飞车虚拟仿真空间发布

虚拟仿真环境作为一个独立的专有软件包提供给我们的客户,用于帮助用户在实际测试之前验证自身的代码,并通过在仿真引擎中添加新的场景来探索新的飞行驾驶功能。 环境要求 由于环境依赖关系,虚拟仿真只能运行在装有Ubuntu 18.04的Intel-64位…

postgresql15的启动

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统,且因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。现在国产数据库大力发展阶段,学习和熟悉postgresql的功能是非常有必要的&#x…

Python NumPy(1):介绍、Ndarray对象、NumPy数据类型

1 介绍 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含: 一个强大的N…

sql语句--新手入门增删改查保姆级教学

一丶在数据库管理系统中,SQL(Structured Query Language,结构化查询语言)是用于访问和操作数据库的标准编程语言。以下将通过一个假设的“articles”表(代表文章或博客条目)来展示SQL中的增(Ins…

INCOSE需求编写指南-第1部分:介绍

第1部分:介绍Section 1: Introduction 1.1 目的和范围 Purpose and Scope 本指南专门介绍如何在系统工程背景下以文本形式表达需求和要求陈述。其目的是将现有标准(如 ISO/IEC/IEEE 29148)中的建议以及作者、主要贡献者和审稿员的最佳实践结…

Windows上通过Git Bash激活Anaconda

在Windows上配置完Anaconda后,普遍通过Anaconda Prompt激活虚拟环境并执行Python,如下图所示: 有时需要连续执行多个python脚本时,直接在Anaconda Prompt下可以通过在以下方式,即命令间通过&&连接,…

GIS 中的 SQLAlchemy:空间数据与数据库之间的桥梁

利用 SQLAlchemy 在现代应用程序中无缝集成地理空间数据导言 地理信息系统(GIS)在管理城市规划、环境监测和导航系统等各种应用的空间数据方面发挥着至关重要的作用。虽然 PostGIS 或 SpatiaLite 等专业地理空间数据库在处理空间数据方面非常出色&#…

MySQL中的读锁与写锁:概念与作用深度剖析

MySQL中的读锁与写锁:概念与作用深度剖析 在MySQL数据库的并发控制机制中,读锁和写锁起着至关重要的作用。它们是确保数据在多用户环境下能够正确、安全地被访问和修改的关键工具。 一、读锁(共享锁)概念 读锁,也称为…

SpringBoot 实现动态管理定时任务 Job的动态操作(添加、修改、启停、执行、删除)以及界面展示和具体Job的创建与执行示例

SpringBoot 实现动态管理定时任务 Job的动态操作(添加、修改、启停、执行、删除)以及界面展示和具体Job的创建与执行示例 关键接口类: CronTaskRegistrar SchedulingRunnable . 添加定时任务注册类,用来增加、删除定时任务 impo…

LabVIEW太赫兹二维扫描成像系统

使用LabVIEW设计太赫兹二维扫描成像系统。通过LabVIEW平台开发,结合硬件如太赫兹源、平移台、锁相放大器等,实现了高效、精准的成像功能。系统采用蛇形扫描方式,通过动态调整扫描参数,达到优化成像质量的目的。 ​ 项目背景 在非…

Spring 核心技术解析【纯干货版】- V:Spring 基础模块 Spring-Context 模块精讲

Spring 框架作为 Java 开发领域最流行的框架之一,其核心模块承载了大量企业级应用开发的基础功能。在 Spring 的核心模块中,Spring-Context 模块尤为重要,它不仅提供了应用上下文的管理功能,还扩展了事件驱动、国际化支持、资源加…

2025年国产化推进.NET跨平台应用框架推荐

2025年国产化推进.NET跨平台应用框架推荐 1. .NET MAUI NET MAUI是一个开源、免费(MIT License)的跨平台框架(支持Android、iOS、macOS 和 Windows多平台运行),是 Xamarin.Forms 的进化版,从移动场景扩展到…

SQL注入漏洞之基础数据类型注入 字符 数字 搜索 XX 以及靶场实例哟

目录 基础数据类型SQL注入 字符类型注入 单引号双引号解释 案例练习: 数字类型注入 案例 搜索性注入: 案例 XX性注入: 语句 案例 基础SQL注入类型分类 基础数据类型SQL注入 字符类型注入 xxx or 11 # select id,email from member where usernamexx or 11 # --…