【华为云Stack】【大架光临】第18期:跨越云端,华为云Stack的高效跨云迁移实践

举报
大架光临 发表于 2024/06/03 11:04:51 2024/06/03
【摘要】 在企业云化浪潮中,混合多云已成为IT部署的新常态,虚拟机承载的业务在其中占据了重要地位。在客户上云用云过程中,虚拟机跨云跨池迁移的需求日益增多。这需要云提供商提供适用于虚拟机资源的跨云搬迁方案,以解决跨云场景下客户面临的迁移难题。

作者:华为云Stack多云计算技术专家 沈瑶

华为云Stack软件技术专家 张磊强

1 背景

在企业云化的浪潮中,混合多云已经是企业IT部署的新常态,虚拟机承载的业务占据很大的比重。在上云用云过程中,客户出于多云战略业务互通需求、成本以及合规要求等考虑,经常面临虚拟机跨云跨池迁移的诉求。相比数据库迁移、对象存储迁移以及微服务迁移等技术,虚拟机迁移是系统级业务迁移,通用性更高,可以适配各类数据库、中间件、甚至是大数据业务,因此在众多迁云场景中,一直被广泛使用。

如图1所示,用户遇到的虚拟机跨云跨池迁移的主要需求总结如下:

1_zh-cn_image_0000001891212992.png

图1 跨云迁移典型业务场景

  • 企业客户需要将本地数据中心的虚拟机业务搬迁上云;

  • 云厂商IaaS平台存在一些阶梯式演进或跨代际的版本升级,如虚拟化引擎从XEN到KVM等,需要客户把旧平台上的存量业务便捷的迁移到新平台;

  • 企业根据自身业务诉求,采用多云战略将不同的业务部署在不同的云厂商平台,以期获得最佳的IT技术组合,这就使得业务在按需最优放置时需要跨云平滑流动。

跨云场景两端云平台的管理是相对割裂的,这也导致虚拟机的跨云迁移无法像云内热迁移一样无中断,需要通过和云平台解耦的迁移工具来实现。所以,云提供商需要提供一种适用于虚拟机资源的跨云搬迁方案,来解决客户的问题。

2 跨云虚拟机迁移技术

2.1 迁移技术诉求

虚拟机迁移技术是将虚拟机从一个计算资源和存储位置,移至另一计算资源和存储位置。在多云多池场景下,迁移两端的云资源可能跨区域Region、跨云平台,这也使得迁移过程的管理流程、网络通信相对割裂,给跨云虚拟机迁移带来极大的挑战。

针对虚拟机跨云迁移场景,客户虚拟机的迁移主要有三类诉求:

  • 无侵入:迁移系统是否需要在客户虚拟机内安装组件,决定了迁移过程对被迁移主机上运行服务的影响程度,因为如果在虚拟机内部安装侵入式的代理组件,必然与客户服务存在资源抢占、威胁数据隐私的安全隐患。

  • 低中断:跨云迁移过程会导致中断,导致虚拟机服务不可用,中断时间越长,对客户业务影响越大。对金融以及政企行业客户,由于其业务的重要性,更是提出分钟级的中断时间要求乃至零停机。

  • 高效率:在有限带宽内,且不影响业务前提下,单个迁移任务传输速率越大,迁移效率越高和越能减少迁移需要耗费的总体时间,从而实现高效迁移上云。

2.2 迁移技术路线

根据是否在客户虚拟机内部安装侵入式组件,虚拟机的跨云迁移技术分为两种技术路线:基于Agent的迁移和Agentless迁移:


1_zh-cn_image_0000001895391650.png

图2 基于Agent的跨云迁移

  • 基于Agent的跨云迁移

基于Agent的跨云迁移是通过在租户虚拟机内部安装迁移代理组件以读取磁盘数据实现迁移。如图2所示,公有云提供商较多采用基于Agent的迁移方案。

基于Agent的迁移技术具有传输高效、可靠性高的优势,但存在两个缺点:

  1. 租户虚拟机OS依赖,需要兼容适配不同的操作系统以支持多场景;

  2. 虚拟机侵入安装Agent代理组件,与客户应用共用系统资源,不符合高合规要求客户需求。

  • Agentless跨云迁移

在客户虚拟机内部不需要安装迁移代理组件,也不占用客户虚拟机的资源,Agentless迁移通过独立的虚拟机承载迁移代理,配合云平台编排使得迁移代理挂载并读取虚拟机磁盘数据,采用预拷贝或后拷贝算法迁移数据到目的端。该种方案要对客户虚拟机无侵入,更符合混合云客户对于合规安全的使用诉求。VMware迁移方案采用Agentless路线,通过配置VMware无代理连接器导入迁移源来获取上层虚拟机的数据,利用VMware虚拟化层的快照、变更块跟踪技术从而实现无代理条件下虚拟机数据的复制迁移。

1_zh-cn_image_0000001895551998.png

图3 Agentless跨云迁移

相对于基于Agent的迁移,Agentless迁移技术具有以下优势:

  • 租户OS资源无占用:无需在客户虚拟机内按照迁移代理组件,进一步简化操作,且对虚拟机有更少的性能影响。

  • 租户OS安全性高:不在虚拟机内部进行任何操作,消除客户对安全的顾虑

  • 租户OS兼容性高:由于不需要在操作系统内部安装agent,因此不依赖虚拟机OS内部环境,迁移成功率更高

然而架构没有银弹。虽然Agentless迁移架构对租户OS有较高兼容性,但是其是通过集成虚拟化平台的功能来实现迁移,因此需适配不同的云平台和存储,从云平台上的兼容性上看,其存在一定复杂性。

3 华为云Stack跨云迁移方案

为响应政企客户的需求,尤其是客户对云资源更高的合规监管和数据安全诉求,华为云Stack为客户提供了一套最适配政企的虚拟机跨云迁移方案CMS (Cloud Migration Station),通过存储双挂迁移、增量迁移、流式迁移等多种迁移技术满足客户对无侵入、高性能、低中断的诉求。

存储双挂迁移

当源和目的云平台时延条件满足时,可以直接将源存储池挂载到目标云平台,以实现数据卷无需拷贝传输的虚拟机跨云高效迁移。

图片4.png

图4 存储双挂迁移方案

存储双挂迁移要求存储不变,源和目标Region同机房,对网络环境要求高,通过一套存储对接源、目的云平台,并在目标Region从存储上“纳管”虚拟机的云盘,不涉及数据拷贝,并发场景批量迁移效率高。

增量迁移

在虚拟机运行时先拷贝一份全量数据基线到目的端,然后在每轮时间窗口,将产生的脏数据块增量拷贝至目的端,最后在迁移窗口期内将虚拟机停机,完成最后一轮增量拷贝后在目的端重建虚拟机。

增量迁移结合华为存储专有的CBT(Changed Block Tracking)技术能力跟踪某一时间窗口的脏数据,在同步阶段准确快速实现将变更的增量数据迁移到目的端。相比冷迁移,虚拟机中断时间缩短2~10倍,卷越大提升越高。同时,增量迁移对网络延时要求不高,且底层存储不要求同构,因此比较适合远距离的异构存储之间的数据迁移。

增量迁移的代价,除了大量数据迁移有一定网络要求以外,还有就是其依赖源端存储的CBT技术,因此其有更高的硬件兼容性要求。同时相比存储双挂方案,由于需要最终进行以此停机后的数据增量迁移,因此停机时间会稍长。

图片5.png

图5 增量迁移方案

流式迁移

基于后拷贝算法先停止源虚拟机,直接在目的云平台启动虚拟机,再按需迁移存储卷数据。这样在目的端快速拉起虚拟机接管业务中断时间最短。同时在虚拟机运行过程中,利用空闲带宽资源在后台传输冷数据到目的端存储卷中。

图片6.png

图6 流式迁移方案

存储卷数据是流式迁移传输到目的端,类似视频边下边看一样,虚拟机无需等全部磁盘数据迁移完成即可启动。流式迁移是结合华为云Stack多项关键技术实现,性能竞争力业界领先:

  • 存储无关的IO拦截:拦截虚拟机IO请求,按需传输卷数据,虚拟机边跑边迁,与存储硬件解耦,实现极致性能的IO热切换;

  • 磁盘IO预取:根据历史IO序列预测下一步IO并预取至目的端,磁盘IO缓存命中率从40%提升至80%,大幅降低IO未命中导致的跨云传输对业务性能的影响;

  • 多流QoS控制:虚拟机流式迁移存在实时IO(热数据)、非实时IO(冷数据)的多流传输,实现面向冷热数据的多流QoS拥塞控制机制,在保证热数据低时延的前提下,保障虚拟机的迁移效率。

流式迁移将单虚拟机停机时间减小到数分钟常量,中断影响最小,网络开销低;而且对底层存储没有依赖,对网络延时也没有依赖,因此非常适合长距离、停机要求时间很短、且不同基于存储之间的虚拟机迁移。

不过相比其他迁移技术,流式迁移当然实现也更复杂,而且其中的缺点也包括迁移过程中IO请求未命中本地存储数据会影响服务性能,以及在目的端磁盘故障等极端场景下RPO不为零。为此,华为云Stack流式迁移通过高可用机制和实时IO预取技术,以较小的代价保障了跨云迁移过程中稳定性和服务性能。并首先将流式迁移落地于迁移演练场景,在不中断业务的前提下,短时间内在目的端快速重建一台“相同的”客户虚拟机进行基础演练调测,提前识别故障风险

4 迁移实践

为解决政企客户的存量局点演进的问题,CMS迁移平台实现了以上三种Agentless迁移技术的所有方案,保证存量Region与新建Region间的云资源迁移,并为用户提供了自动化的迁移流程。CMS工具支持一键式的迁移预检测、迁移和回滚操作。用户可在CMS界面通过自动的预迁移检测,提前在迁移窗口前识别并排除问题以保证迁移顺利执行,然后再一键发起迁移流程完成业务虚拟机的跨Region迁移;当验证出现问题时,可以一键回滚,保障客户业务的优先恢复。

图片11.png

(1)自动化预检测和一键式迁移

图片22).png

(2)一键式确认和回滚

图7 CMS自动化迁移实施

CMS搬迁解决方案已经在华为云Stack的多个局点成功实施,已累计迁移数千台虚拟机,涉及数PB的数据,典型实践如下:

典型案例1:中东某局点是教育行业重点项目,客户现网部署了两朵独立的云,存量云面临生命周期问题,和新建云架构存在差异,客户运维成本高。华为云Stack考虑客户诉求,采用CMS存储双挂迁移方式将客户的业务从老Region迁移到新Region,并下线利旧设备,现网仅存一朵云。CMS迁移工具分6个迁移批次高效完成数百台虚拟机迁移,平均迁移速度可达每分钟1台,且迁移期间还联动迁移数百台VMware虚拟机,协助客户完成跨代际的平滑演进。

典型案例2:国内某银行是金融行业重点项目,客户现网的两朵云分散在不同云平台中,运维成本高;而且业务演进难,无法使用高阶云服务。为解决客户痛点以及满足客户业务持续发展诉求,华为云Stack采用CMS增量迁移方式,分批次完成数千台虚拟机迁移,涉及上百TB数据量,虚拟机迁移成功率100%,平均中断时间15~20分钟。满足了客户云架构归一的诉求,为客户后期业务持续发展奠定了基础。

5 总结

在云计算多云时代,华为云Stack CMS服务提供了一套最适配政企的虚拟机跨云搬迁解决方案。存储双挂迁移、增量迁移均已商用,并在多个华为云Stack局点完成迁移实施;流式迁移演练正在推广使用。CMS基于Agent的跨云迁移方案在逐步规划构建,敬请期待。CMS将持续构建多云迁移竞争力,提升产品易用性,以充分满足政企客户对高安全、高性能、低中断的诉求,助力客户业务的平滑演进。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。