zhangpeng4007
作者zhangpeng4007·2023-06-01 11:10
系统运维工程师·某城市商业银行

商业银行异构存储迁移实践-迁移方案设计篇

字数 6066阅读 4124评论 1赞 3

【摘要】

本文以核心存储扩容项目为背景,通过对部分业务数据向异构存储迁移的方式,实现原有核心存储空间回收与扩容的目标。基于业务特点、基础环境配置、业务连续性和技术成熟度几方面综合考量,最终选择从操作系统层面进行异构存储迁移。尽管该迁移方案与实现技术手段未必是最优最新的,但本次数据迁移的成功,为异构存储迁移实践积累了成功的可行性经验,同时笔者也从需求分析及设备选型,迁移方案设计,迁移实施过程和实践效果分别进行了总结与复盘。

全文共分为三个部分:需求分析及设备选型篇、迁移方案设计篇、迁移实施过程和实践效果篇;需求分析及设备选型篇通过项目背景与目标,重点拆解业务系统需求,有针对性地设计技术要点和实施重点;迁移方案设计篇主要从异构存储特点出发,结合业务制定有针对性并且合理的迁移目标,对于方案设计中关键性技术进行详细的准备与测试,包括确认方案中重要前置条件和模拟迁移估算时间等,确保迁移方案有效可落地;迁移实施过程和实践效果篇主要以步骤检查表的形式,供异构存储迁移进行参考避免疏漏。最后分享迁移过程和之后一周的性能数据与业务反馈,并对异构存储整体迁移效果进行经验总结:多参考与论证落地的成功案例、多注意产品差异与安全性的细节、最终选择最适合自己的迁移方式。

本文为第二部分:迁移方案设计篇。


一、 异构存储迁移背景

异构存储迁移背景主要是以国产化解决方案为技术背景,综合核心系统改造与迁移,结合相关存储设备的生命周期进行综合决策的产物。若从业务系统层面进行割接,计算存储资源均配合新建,异构存储迁移会需要满足新业务系统功能与性能要求并稳定运行;若在原有技术栈均不发生变化的情况下,单独对存储设备进行数据迁移,则需要充分了解当前系统的详细使用要求,功能、性能、服务等方面进行平替后,仍留有扩展空间,获得支持力度也会相对有限,本文就是后面一种情况。

二、 迁移目标

核心存储迁移目标的确认,需要了解清楚原有存储系统承载业务系统数量、级别分类、批量事件、备份时段、维护窗口和容灾架构,与业务人员和相关系统做好协调沟通后,综合确定。具体的迁移方案需要收集信息,包括但不限于下面几点,最终应采用经过验证的成熟技术,或具有良好支持的方案达成异构存储迁移目标。

  • 应用和数据库类型,及相应的保护方案(应用多活或数据库复制等)
  • 操作系统版本与集群配置、文件系统(裸设备)数量、LVM、逻辑卷
  • 异构存储多路径软件与HBA卡数量与参数
  • SAN拓扑与配置
  • 源端存储映射信息和数据保护

 图1 异构存储迁移目标

图1 异构存储迁移目标

行内信贷业务为关键类业务,注册人数20000,日均访问量30万次量级,行内员工内网登录使用,之前已部署两地三种心架构。信贷业务应用与数据库作为本次异构存储的迁移目标,并配合两地三中心的相关配置。一方面,与核心相比业务压力并不大,关联系统数量可控,另一方面,存储数据保护功能使用较为全面,因此暂定为迁移目标,具体要求如下:

  • 在线迁移:停机窗口最小化(多路径软件兼容、数据完整安全、业务连续性有保证)
  • 性能可控:性能不能低于原有设备,批量程序,日常访问IO、带宽与时延评估达标
  • 功能完备:数据保护包括同步复制、定时克隆备份、在线扩容、安全保护(SSH版本)
  • 变更完整:关联变更要完善,除主中心功能外,还要有同城容灾与异地灾备配置,应急手册更新,可用性检查存储同步状态更新,应急处置手册更新等;原有资源回收与重分配利用等。

三、 迁移方案设计

基于上述在线迁移等目标要求和容灾体系架构的规划,以及项目资源支持与技术积累情况,采用小型机AIX操作系统中集群LVM工具作为本次异构存储的数据迁移方案。但该方案需要在操作系统中已经存在PowerPath基础上安装UltraPath,并各自管理各自品牌的逻辑卷,如果软件安装有冲突、或者需要重启操作系统,也就会产生业务中断,这将直接影响迁移方案的制定与迁移过程中业务连续性的指标。如果这样,备选方案是存储侧数据迁移,或者数据库层面数据迁移,相应地都会有短暂的业务中断,且回退方案与动作也会相对复杂。

 图2 系统集成拓扑

图2 系统集成拓扑

无论迁移方案如何制定,整体的存储集成部署基本大同小异,光纤交换机与存储侧的配置会根据迁移方案的不同而改变,具体的集成部署均由原厂工程师按照行内要求进行部署,基本的光纤链路冗余与隔离、光纤距离与线路质量控制都考虑到即可。根据迁移方案和迁移场景的不同,迁移方案的集成部署有两个集成注意要点。

存储端口尽量不复用,一般新存储的主机端口也会按照业务系统进行划分,核心及高级别业务系统单独使用一组主机端口,其他业务系统共同或独立使用其他端口。若迁移方案中数据库与操作系统LVM层面无法支持完成数据迁移,则需要在多路径软件层或存储层进行数据交换,新存储尽量预留额外的端口和旧存储进行对接,待旧存储数据完全迁移后,可利用做其他用途。

主机端口尽量不复用,如果主机HBA卡端口连接现有存储之后,仍有空余端口 为最理想情况 。虽然用于新存储连接,需要增加布线标签等耗材成本,但对于数据迁移过程,避免出现性能瓶颈与兼容性异常等状况还是有帮助的,因此建议主机HBA卡端口尽量不同时连接新旧存储设备,但如果确实条件不允许,且数据量不大,也可以经验证后进行使用。

四、 迁移前的准备

4.1多路径软件测试

多路径软件的安装与测试过程按照安装手册进行即可,其他版本操作系统与多路径软件,建议亲测后再进行安装,是否需要重启多路径软件会在安装后进行检查与判断,详细安装与检查内容,参考如附录一。经兼容性测试,本次多路径软件安装可在线进行,新旧多路径软件只负责相应逻辑卷,不会交叉管理造成影响,且新软件安装与磁盘识别后不需要重启。

  • AIX:7.1.4
  • PowerHA:7.2.2.0
  • Powerpath:6.2.0.0
  • UltraPath for AIX : 8.1.3100.114

4.2补丁检查升级

异构存储数据迁移时,新存储的版本与补丁尽量升级 至 最新的稳定版本,可适当扩大异构存储的兼容范围和已知 问题漏洞 的修复,而且迁移之前进行补丁升级是没有业务压力的,数据迁移之后进行升级还是会有风险存在。

截止在迁移时间点,新旧存储微码与补丁版本如下:

  • VMAX3: 5977.1125.1125/VMAX2:5876.309.196
  • 18500V6 : 6.1.2.SPH6

目标存储热补丁解决的问题,可以参考《补丁说明书》,相关热补丁、软件版本与SmartKit工具版本可以参考《版本配套表》

4.3兼容性测试

新旧存储兼容性可以参考《 OceanStor Dorado 系列兼容性查询 》,里面详细列出了通过存储之间做数据迁移的各项信息,包括后端存储(源端存储)和目标存储型号,存储版本,控制器模式,操作系统版本、内核版本、多路径软件、存储系统版本、链路类型、集群软件以及相关注意限制。涉及本次系统迁移的存储设备查询结果如下:

 表1 系列兼容性列表

表1 系列兼容性列表

备注 :

1.仅支持FC交换机组网。
2.远端存储设备版本为5977.691.684或5978.221.221。
3.请参考华为存储产品文档“配置约束与限制”章节“EMC VMAX系列”配置远端存储端口模式。
4.在线接管操作步骤复杂,属于高危操作,请联系数据迁移专业服务评估和实施迁移方案。

4.4性能评估与测试

新存储系统整体的性能测试,评估出存储性能的上限,决定最终承载业务数量,这项测试在行内现网环境单存储场景进行POC测试,存储可整体承载该业务数据库和应用程序39万+的IO,最高延时在1.7ms以内,超出日常性能峰值6倍以上,可以满足多业务整体迁移的压力,相应数据如下。

表2验证目标存储8K随机混合读写性能
验证OceanStor Dorado存储系统8KB随机混合读写性能。
测试组网华为OceanStor Dorado验证组网图。
预置条件1. OceanStor Dorado存储系统运行正常。2. 主机上已经安装配套的UltraPath主机多路径软件。3. OceanStor Dorado存储系统已经创建了RAIDTP级别的存储池。4. 存储池中已经创建20个容量为200GB的LUN,使用新建应用类型,块大小为8KB。
测试步骤1. 将20个LUN平均映射给2台AIX测试服务器2. 配置Vdbench工具测试脚本:I/O size为8KB 100%随机读写比7:3预热5分钟,测试执行30分钟3. 同时允许测试脚本,记录IOPS以及平均读写延迟。
实测结果iops:393695@1.518-1.720msqlcapp主机:iops:209044@1.518ms qlcdb主机:iops:184651@1.720ms 存储:
测试结论通过

另外也按照现有业务IO峰值的一倍和双倍设置了双活场景测试,因为测试环境复用生产存储复制波分链路带宽,为降低测试对现网业务的影响,没有进行过高的压力测试,满足需求即可,相关测试数据如下。

表3验证目标存储双活8K随机混合读写性能
测试目的验证OceanStor Dorado存储双活系统8KB随机混合读写性能。
测试组网华为OceanStor Dorado双活验证组网图。
预置条件双活pair运作状态正常;双活工作模式为优选阵列模式,2台AIX在江北数据中心存储A的路径为优选路径,道里数据中心存储B的路径为非优选路径。
测试步骤1. 配置Vdbench工具测试脚本:I/O size为8KB 100%随机,读写比7:3iorate=3000预热3分钟,测试执行15分钟2. 执行测试,记录IOPS以及平均读写延迟。
预期结果以实际测试结果为准。
实测结果qlcapp主机:2999.10iops:0.681@ms qlcdb主机:2999.31iops:0.678 @ms 存储: 6000iops:0.925 @ms存储A: 存储B:
测试结论通过
备注同城波分链路带宽低,指定iops个数,降低测试对现网业务的影响。

4.5 迁移时间评估

迁移时间也是迁移方案中比较关键的一环,通过数据量与数据传输路径的带宽,可以估算出大致的迁移时间,但由于数据分布并不均匀,建议用备份数据在测试环境进行模拟,计算出较精准的迁移时间,结合维护窗口最终推断出最晚的回退决策时间点。由于迁移方案LVM迁移方案中,多路径软件的安装与配置,甚至数据同步均可以提前在线完成,在回退过程中只涉及到极少数增量数据的同步。但鉴于同步数据量并不大,且操作需要更加谨慎,因此选择在维护窗口内进行数据同步。

4.6 必要的数据备份

对迁移系统进行环境和业务数据备份是必不可少的一环,通过LVM迁移也要提前登录操作系统记录必要的卷组、裸设备、逻辑卷和文件系统信息,包括NAS挂载点等细节。

4.7 维护窗口申请

窗口定在批量与备份结束后,业务启动前的1:00-6:00进行。

4.8回退方案制定

制定回退方案并约定好出发回退动作的条件,对于业务连续性与数据安全非常关键。本迁移方案中,为保证回退方案可正常执行,需保证源卷与目标卷大小完全一致,否则会影响回退方案的执行,其他迁移方案也要在正向数据迁移的时候,就考虑到回退方向的数据迁移。

4.9数据保护配置:提前准备同城复制,克隆卷配置与相关操作

数据保护配置包括存储两地三中心存储的同步和异步复制,以及各存储内部为备份和应急操作所配置的快照保护与逻辑卷克隆,在数据迁移之前,都需要提前进行配置增删、存储切换以及数据保护结果验证工作,避免在生产数据迁移之后,在容灾切换或应急演练的窗口内测试不充分的情况,分享一个这方面实际遇到的技术细节,记录在附录三。

 表4 异构存储迁移数据要求与差异

表4 异构存储迁移数据要求与差异

五、 总结

经过上面多路径软件测试、补丁检查升级、兼容性测试、性能评估与测试、迁移时间评估、必要的数据备份、维护窗口申请、回退方案制定、数据保护配置几个步骤,从异构存储迁移的方案制定,到迁移条件中关键技术条件的测试,以及方案中需要前置条件和时间计算等各方面的确认与模拟,后续真实迁移的方案落地回退决策,都需要前期的迁移方案来做基础,保证数据迁移的最终成功。

附录一多路径软件安装与检查过程

#**********pre install check function********* 
#检查当前用户角色权限 c020001 
#检查安装包正确性 c020002 
#检查操作系统位数 c020003 
#检查系统版本 c020004 
#检查目录剩余空间 c020005 
#检查是否已安装ODM for NON-MPIO/MPIO软件 c020006 
#检查是否已经安装UltraPath软件 c020007 
#检查安装程序是否已被启动 c020008 
#检查是否存在ODM信息残留 c020009
#检查操作系统兼容性是否满足 c020010 
#检查系统启动盘是否存在覆盖写风险 c020011 
#检查系统启动盘配置信息是否一致 c020012 
#检查是否存在无效磁盘 c020013 
#**********install function********* 
#install package 
#**********post install operation function********* 
#检查是否存在未被接管的华为冗余磁盘 c120001 
#检查是否需要重启 c120002 
#**********post install check function********* 
#检查UltraPath是否安装成功 c120003 
#检查UltraPath驱动完整性 c120004

附录二SSH安全加密算法以及客户端版本要求;

下图是 目标存储支持的加密算法,要求客户端版本在openssh 6.5之后支持ed25519加密算法,Redhat中操作系统版本和openssh版本关系也放在这里,便于确认,其他操作系统也会有这样的对照表进行参考。


附录三已有克隆数据保护基础上扩容源卷,但不影响当前克隆目标卷的技术细节

在异构存储迁移后,为满足扩容要求,新增了逻辑卷和克隆目标卷,加入克隆保护组后,需要对新增的克隆pair进行提前数据同步,但不会对整个克隆一致性组发起同步,影响当前目标卷的使用,因此需要通过命令行进行下面操作。

  1. 验证当前补丁为612版本-SPH最新发布的补丁
  2. create clone general source_id_list=10 copy_speed=high start_synchronize_after_create=yes name=inc_clone //创建增量克隆并开始同步
  3. add clone_consistency_group clo_grp_name clone_consistency_group_id=x clone_id_list=xx //在克隆一致性组clo_grp_name中加入新增克隆id
  4. 最后验证克隆一致性组的同步完成情况

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论1 条评论

yulu4314yulu4314技术支持长春
2023-06-02 08:15
谢谢分享,
Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

作者其他文章

相关文章

相关问题

相关资料

X社区推广