基于华为高端存储的数据迁移方案
【导读】本文以某城商行新一代数据中心建设项目为背景,根据新旧两个数据中心间系统应用及业务数据平滑迁移需求,介绍新数据中心建设所涉及的关键存储设备选型需要注意的问题,详尽阐述项目实施经验及迁移后效果,为同业进行关键应用系统及数据跨数据中心迁移提供可参考、可操作的真实案例和宝贵经验。希望能给读者对银行数据中心设备选型及数据迁移提供一个参照。本文包括:需求分析及设备选型篇、方案设计篇、迁移实施过程和效果篇。
需求分析及设备选型篇
一、项目背景
我行(城商银行)的核心银行业务系统于2003年初投产上线,有效的支撑了该行各类业务发展15余年,随着时间的推移及业务模式的快速发展,原有的核心业务系统受到传统系统架构的制约,“以客户为中心”的设计程度较弱,参数化和产品组件化程度不高,在客户体验、产品创新、差异化定价、参数管理方面的需求响应程度较弱。整体开发实施费时费力,周期过长,不能快速响应业务部门的需求,对未来银行的业务发展支撑能力不足.
为快速适应当前BANK 4.0时代的快速业务变化,我银行于2018年底正式启动了“新核心业务系统升级建设项目”。根据新核心业务系统升级建设项目的总体安排,为满足该银行未来5-10年业务发展需求,同时有效降低新核心项目的投产切换上线风险,拟通过“新建生产环境数据中心”的方式进行核心升级建设项目投产切换上线。数据中心建设是银行信息化建设的核心部分,是银行业信息科技运营的基础。
二、建设目标
本次新数据中心建设的工作目标为:“建设成满足未来5-10年业务发展需求并具备向云化及双活技术架构演进的技术成熟、行业主流、架构稳健、运行稳定的新一代数据中心”。详细目标如下:
1、保障系统平滑迁移至新数据中心
交付70套核心及外围改造系统所需的生产环境基础软硬件平台资源,并满足其余无需改造的50余套信息系统迁移切换的软硬件资源需求。安全平稳完成120余套业务系统业务数据零丢失迁移。
2、提升数据中心技术架构水平
借鉴业界最佳实践,结合当前信息技术发展趋势及实际情况,统筹规划新一代数据中心技术架构,建设“技术成熟、行业主流、架构稳健、运行稳定”的数据中心,满足未来5-10年业务发展需求。
3、优化“两地三中心”容灾架构
基于信息科技现状和容灾体系策略规划,统筹考虑第一生产数据中心、同城数据中心及异地灾备中心架构,确保新数据中心技术架构的可延续性,满足向未来双活数据中心的平滑过渡。
三、存储设备选型思路
存储设备作为数据中心内最关键的硬件资源,其重要性不言而喻。设备选型应该遵循“行业主流、安全稳定”的原则,同时,兼顾性能(主要包含IOPS、MBPS及延时等指标)与成本,并充分考虑自主可控战略。金融行业目前交易类和报表类数据库一般情况会在集中式存储上。对于金融行业来说,新数据中心建设时,为确保安全可靠以及数据一致性等条件约束,建议按场景(如数据库和应用)分别对存储进行使用,建议不混合使用。银行存储选型的关键点在于存储需要有以下几个特点:
“行业主流、安全稳定”:存储设备重点需要考虑存储的稳定性和数据服务能力,存储设备动一发而牵全身,存储架构的稳定性,部件的冗余性和可靠性是数据中心存储选型最重要的;存储设备的可维护性,在升级微码,更换存储部件时不可以影响到上层业务;同时要求存储需要在业界有广泛的应用案例,经得起同行业的考验。最后,需要有稳定的服务团队,产品和方案落地靠的是人,银行的数据中心存储方案落地,需要有资深的行业架构师和服务人员。同时核心存储也需要考虑到存储的性能,对业务未来不可预测性能需求,需要可以应对,如使用更新的存储协议和存储介质,对于多云平台的支持,如 Openstack、VMware、容器等。
“可维护性”:通过机器学习等先进的存储算法,实现存储服务的自我优化,并且可以智能的监控存储设备的运行状态,预测未来的存储服务需求。
“可扩展能力”:存储设备具有灵活的体系架构,在不中断存储服务的情况下实现核心、边缘和云的现代化部署,并且可以按需在线进行横向扩展,同时扩展存储容量和存储性能,扩展之后实现存储资源的在线自动平衡。
四、存储设备选型经验
(一)技术支持服务方面
集中式存储最大的优势在于架构简单、维护相对容易,已有的运维经验能够延续,同时传统存储厂商支持能力相对较强。而分布式存储在非一线城市中厂商技术支持方面还存在短板。
(二)稳定性方面
集中式存储使用较早,而分布式存储出现时间才刚刚几年,软件的可靠性方面还有待进一步考量。传统的集中式存储使用至今在数据库和应用上都没问题,特别是集中式存储的同步工具等都很成熟,能较好地满足各类系统应用和数据库的性能与可靠性要求。
(三)价格方面
从分布式存储软件授权和后期支持服务费用等价格方面考虑,整体价格优势是否比集中式存储已不够明显。集中存储的成本已不再让人望而生畏,现在集中式存储以闪存为主,容量大且体积小,价格越来越便宜,成本较全闪配置的分布式存储,差距已明显缩小。
(四)容灾能力
集中存储远胜于分布式存储。
(五)安全自主可控
随着国内厂商技术的不断演进,目前国内存储品牌(如:华为)已经得到业界公认和实践,能够满足数据中心建设各项指标需求。
从架构稳定性、容灾能力、成本和安全自主可控能力四方面综合考虑,国内集中式存储品牌(如:华为)更适合中小型商业银行数据中心建设。
五、数据中心存储设备选型情况
(一)原生产数据中心
存储设备品牌型号主要包含“HDS G1000”、“IBM DS8870”、“华为OceanStor S6800 V5”三大系列,其中“HDS G1000”主要用于承载核心及柜面等关键交易类业务系统,“IBM DS8870”主要用于承载OA及财务等管理类业务系统,“华为OceanStor S6800 V5”主要用于存储票据影像及视频录音等非结构化数据。存储设备中主要包含虚拟机、数据库文件、非结构化文件等3大类文件。
(二)新生产数据中心
为确保新一代数据中心基础架构资源方面能够满足功能要求、性能需求、数据标准要求以及稳定、可靠、安全等非功能性要求,该银行从“架构稳定性、容灾能力、成本和安全自主可控能力”四方面综合考虑,经过反复论证及对比,最终选择了若干台“华为OceanStor 18500F V5”高端全闪存储承载新数据中心各类业务系统的虚拟机、数据库文件、非结构化文件等。存储容量配置规划,按照满足未来5年数据增长需求,将存量与增量数据统筹考虑。
六、总结
在数据中心设备选型上一定要本着“行业主流、安全稳定”优先的原则,这样才能保障系统长期健康平稳运行,才能进一步提升业务连续性能力。
方案设计篇
一、现状分析
(一)数据中心数据库软件版本情况
1、原生产数据中心:业务系统后端数据库软件主要包含Oracle 10g及Oracle 11g两大版本。
2、新生产数据中心:鉴于Oracle 10g及Oracle 11g已经停止原厂标准技术支持服务,为进一步提升业务系统安全稳定运行能力,借助核心业务系统升级建设及新数据中心建设项目契机,统一了全行业务系统后端数据库软件版本基线标准,所有数据库软件统一更新升级至Oracle 19c。
(二)数据中心虚拟化应用情况
原生产数据中心新生产数据中心都统一采用VMware vSphere产品实现计算资源的虚拟化,除部分关键应用系统及数据库运行于Power小型机以外,其余应用系统均运行在VMware ESXI虚拟化资源池中。
原生产数据中心虚拟化资源池主要分布于“HDS G1000”及“IBM DS8870”两大系列存储设备中。
新生产数据中心虚拟化资源池完全分布于“华为 OceanStor 18500F V5”高端全闪存储设备中。
(三)非结构化数据情况
非结构化数据主要包含电子影像票据、录音及录像等文件。
原生产数据中心中此类文件目前统一采用NFS及CIFS协议方式集中存储于“华为OceanStor S6800 V5”NAS集中式存储设备中。
新生产数据中心中此类文件目前统一采用NFS及CIFS协议方式集中存储于“华为OceanStor 18500F V5”高端全闪NAS集中式存储设备中。
二、迁移方案设计
如前所述,存储设备品牌由原生产数据中心的“HDS G1000”、“IBM DS8870”及“华为OceanStor S6800 V5”三大品牌统一集中为新数据中心的“华为OceanStor 18500F V5”全闪系列单一品牌。原存储设备中主要包含虚拟机、数据库文件、非结构化文件等3大类文件。结合跨不同品牌硬件设备实现多种类型文件安全平稳零丢失迁移的需求,制定了如下有针对性的迁移方案:
(一)数据库迁移
因原生产数据中心的数据库版本为Oracle 10g及Oracle 11g,新生产数中心的数据库版本为Oracle 19c,且部分业务系统的数据库操作系统由AIX平台调整为x86平台,本次数据库需实现跨版本跨平台迁移,故RMAN备份恢复技术、DG及ADG数据同步技术无法满足,GoldenGate工具配置复杂,面对120余套业务系统数据库显得过于繁杂,第三方数据迁移工具又涉及成本及技术支持等因素,经过反复比较论证,最终选择了“expdp及impdp工具+NAS转储”方式实现数据库迁移。详细迁移步骤如下所示:
(1)迁移前准备阶段
操作系统定时任务:需要确认操作系统层面root、grid、oracle用户下自动作业任务,如有,可在准备阶段完成自动作业任务,并在目标环境禁用自动作业;
数据库定时任务:需要确认数据库中业务用户的定时任务,并于业务人员进行确认迁移自动定时任务和迁移时间;
NAS数据迁移转储挂载:在源数据库及目标数据库服务器中挂载NAS共享目录,以便进行迁移数据的临时转储;
源库创建目录:创建存放迁移脚本目录,创建本地Dump目录及directory转储目录;
目标库创建目录:创建存放迁移脚本目录,创建本地Dump目录及directory转储目录。
(2)源数据库导出
关闭源库会话及修改job参数:停止操作系统crontab定时任务、停数据库监听、修改1522参数、杀远程会话、修改JOB参数;
数据库导出:执行expdp脚本导出用户所有数据、导出源库对象数(以便进行数据比对)。
(3)目标数据库数据导入
目标库归档清理:清理历史归档日志,释放归档空间;
目标库表空间检查:检查表空间容量是否充足;
数据导入:执行impdp脚本导入用户所有数据
(4)数据比对
(5)无效对象编译
(6)收集统计信息
(二)虚拟机迁移
因原生产数据中心及新生产数据中心都统一采用VMware vSphere产品实现计算资源的虚拟化,故本次采用了“VMware vCenter Converter Standalone工具”实现了所有虚拟机的跨数据中心跨存储设备在线迁移,该迁移技术较为成熟可靠,且效率极高,只要网络带宽满足的情况下,能够快速完成各类虚拟机的在线或关机迁移。
(三)非结构化文件迁移
非结构化数据主要包含电子影像票据、录音及录像等文件,此类文件之前统一采用NFS及CIFS协议方式集中存储于“华为OceanStor S6800 V5”NAS集中式存储设备中,此类文件容量较大、数量较多,通过常规基于主机系统层面很难实现数据跨数据中心跨存储设备迁移。结合业界最佳实践最终采用了“MigrationDirector for NAS存储数据迁移工具+Rsync文件同步工具”实现非结构化文件跨数据中心跨存储的迁移(由华为OceanStor S6800 V5迁移至华为OceanStor 18500F V5全闪系列存储中)。
(MigrationDirector for NAS组网图)
(迁移服务器规格)
(端口需求)
三、总结
数据中心迁移是一项涉及存储、操作系统、应用系统、数据库、非结构化文件等不同类型文件的较为复杂的工作,需要灵活应对不同的数据迁移需求,根据不同的迁移对象制定高效可靠的迁移方案。
迁移实施过程和效果篇
一、存储测试经验分享
存储设备是数据中心最宝贵的硬件资源,在投产使用前一定要进行充分的测试验证。
(提示:以下表格内图片均可点击放大)
(一)破坏性测试
1、硬盘故障测试
| 测试目的 | 测试阵列硬盘故障。 |
| 预置条件 | 1、华为OceanStor18000F V5设备运行正常,且和管理终端之间通信正常; 2、使用超级管理员级别的用户通过DeviceManager登录阵列; 3、系统中已创建一个硬盘域Diskdomain001(50块硬盘)、一个存储池Storagepool001和两个LUN,LUN命名为LUN001和LUN002; 4、系统中已创建一个映射视图MappingView01,已添加主机组HostGroup01和LUN组LUNGroup01,主机组中已添加主机Host01且该主机已添加启动器,并将LUN001和LUN002添加到LUNGroup01; 5、在服务器上扫LUN,并采用IO读写工具(vdbench)对LUN进行持续读写。 |
| 测试步骤 | 1、拔出对应硬盘域Diskdomain001中的任意2块硬盘。 2、在“监控>告警和事件”界面下,检查系统是否产生硬盘无法监控的告警。 3、在硬盘域Diskdomain001上查看硬盘域的状态。 4、在服务器上检查LUN的IO读写是否中断。 5、拔出对应硬盘域Diskdomain001中的第三块硬盘。 6、在“监控>告警和事件”界面下,检查系统是否产生硬盘无法监控的告警。 7、在硬盘域Diskdomain001上查看硬盘域的状态。 8、在服务器上检查LUN的IO读写是否中断。 9、插回拔掉的三块硬盘,在硬盘域Diskdomain001上查看硬盘域的状态。 |
| 预期结果 | 1、步骤2中,系统中有硬盘无法监控的告警。 2、步骤3中,硬盘域、存储池的健康状态为降级,运行状态为重构。 3、步骤4中LUN的IO读写正常。 4、步骤6中,系统中有硬盘无法监控的告警。 5、步骤7中,硬盘域、存储池的健康状态为降级,运行状态为重构。 6、步骤4中LUN的IO读写正常。 7、步骤8中LUN的IO读写正常。 8、步骤9中硬盘域、存储池的健康状态为健康,运行状态为正在均衡。 |
| 测试结果 | 同时拔出两块硬盘 存储告警: 硬盘框监控不到硬盘: 主机读写: 硬盘域状态: |
| 测试目的 | 测试阵列控制器故障。 |
| 预置条件 | 1、华为OceanStor 18000F V5设备运行正常,且和管理终端之间通信正常; 2、使用超级管理员级别的用户通过DeviceManager登录阵列; 3、系统中已创建一个硬盘域Diskdomain001、一个存储池Storagepool001和两个LUN,LUN命名为LUN001和LUN002; 4、系统中已创建一个映射视图MappingView01,已添加主机组HostGroup01和LUN组LUNGroup01,主机组中已添加主机Host01且该主机已添加启动器,并将LUN001和LUN002添加到LUNGroup01; 5、在服务器上扫LUN,并采用IO读写工具对LUN进行持续读写。 |
| 测试步骤 | 1、同时拔掉两个控制器(A,C或者B,D); 2、在“监控>告警和事件”界面下,检查系统是否产生控制器无法监控的告警。在“系统”界面下,检查另外一个控制器的状态; 3、在服务器上检查LUN的IO读写是否中断; 4、CLL命令下查看控制器镜像同步状态,同步完成后拔掉B,D或者A,C中一个控制器; 5、在“监控>告警和事件”界面下,检查系统中是否出现控制器无法监控的告警。在“系统”界面下,检查控制器的状态; 6、在服务器上检查LUN读写状态。 |
| 预期结果 | 1、步骤2中,系统中有控制器无法监控的告警,另外两个控制器的状态为正常、在线; 2、步骤3中,服务器上LUN读写正常,未出现IO错误; 3、步骤4中,出现三个控制器无法监控的告警; 4、步骤5中,在“监控>告警和事件”界面下,检查系统中出现三个控制器无法监控的告警,D控制器的状态均为正常、在线; 5、步骤6中,服务器上LUN读写正常,未出现IO错误。 |
| 测试结果 | 拔掉A控 存储告警: 主机读写: 拔掉C控 存储告警: 主机读写: 镜像同步完成,拔掉B控 存储告警: |
| 测试目的 | 验证电源模块故障 |
| 预置条件 | 1、华为OceanStor 18000F V5设备运行正常,四个电源模块均正常,且和管理终端之间通信正常; 2、使用超级管理员级别的用户通过DeviceManager登录阵列; 3、系统中已创建一个硬盘域Diskdomain001、一个存储池Storagepool001和两个LUN,LUN命名为LUN001和LUN002; 4、系统中已创建一个映射视图MappingView01,已添加主机组HostGroup01和LUN组LUNGroup01,主机组中已添加主机Host01且该主机已添加启动器,并将LUN001和LUN002添加到LUNGroup01; 5、在服务器上扫LUN,并采用IO读写工具对LUN进行持续读写。 |
| 测试步骤 | 1、拔出任意一个电源模块; 2、在“监控>告警和事件”界面下,检查系统是否产生电源模块被拔出的告警。在“系统”界面下,检查另外一个电源模块状态; 3、在服务器上检查LUN的IO读写是否中断; 4、3分钟后,将已拔出的电源模块插回; 5、在“监控>告警和事件”界面下,检查系统中电源模块被拔出的告警是否恢复。在“系统”界面下,检查电源模块的状态; 6、在服务器上检查LUN读写状态。 |
| 预期结果 | 1、步骤2中,系统产生电源模块被拔出的告警,另外三个电源模块的状态为正常、在线; 2、步骤3中,服务器上LUN读写正常,IO未中断; 3、步骤5中,电源模块被拔出的告警恢复,系统中不存在步骤2查看到的告警,电源模块的状态均为正常; 4、步骤6中,服务器上LUN读写正常,IO未中断。 |
| 测试结果 | 存储测告警: 电源模块状态: 主机读写: |
| 测试目的 | 验证SAS线缆故障 |
| 预置条件 | 1、华为OceanStor 18000F V5设备运行正常,且和管理终端之间通信正常; 2、阵列已使用SAS双链路级联了一个硬盘框DAE040; 3、使用超级管理员级别的用户通过DeviceManager登录阵列; 4、系统中已创建一个硬盘域Diskdomain001、一个存储池Storagepool001和两个LUN,LUN命名为LUN001和LUN002; 5、系统中已创建一个映射视图MappingView01,已添加主机组HostGroup01和LUN组LUNGroup01,主机组中已添加主机Host01且该主机已添加启动器,并将LUN001和LUN002添加到LUNGroup01; 6、在服务器上扫LUN,并采用IO读写工具对LUN进行持续读写。 |
| 测试步骤 | 1、拔出控制框和硬盘框DAE010之间的一根SAS线缆; 2、在“监控>告警和事件”界面下,检查系统是否产生SAS级联端口连接断开和硬盘框单链路的告警,在“系统”界面下,检查DAE010中硬盘的多路径; 3、在服务器上检查LUN的IO读写是否中断; 4、3分钟后,将已拔出的SAS线缆插回; 5、在“监控>告警和事件”界面下,检查系统中SAS级联端口连接断开和硬盘框单链路的告警是否恢复。在“系统”界面下,DAE010中硬盘的多路径; 6、在服务器上检查LUN读写状态。 |
| 预期结果 | 1、步骤2中,系统产生SAS级联端口连接断开和硬盘框单链路的告警,DAE010中硬盘的多路径只有一个控制器; 2、步骤3中,服务器上LUN读写正常,IO未中断; 3、步骤5中,SAS级联端口连接断开和硬盘框单链路的告警恢复,系统中不存在步骤2查看到的告警,DAE010中硬盘的多路径恢复为两个控制器; 4、步骤6中,服务器上LUN读写正常,IO未中断。 |
| 测试结果 | 存储测告警: 硬盘框状态: 主机读写: |
| 测试目的 | 验证接口模块故障 |
| 预置条件 | 1、华为OceanStor 18000F V5设备运行正常,且和管理终端之间通信正常; 2、使用超级管理员级别的用户通过DeviceManager登录阵列; 3、每个控制器上都存在一个接口模块,且接口模块和服务器之间都有物理连接; 4、系统中已创建一个硬盘域Diskdomain001、一个存储池Storagepool001和两个LUN,LUN命名为LUN001和LUN002; 5、系统中已创建一个映射视图MappingView01,已添加主机组HostGroup01和LUN组LUNGroup01,主机组中已添加主机Host01且该主机已添加启动器(请确保主机和每个接口模块的链路所对应的启动器都已添加进至主机),并将LUN001和LUN002添加到LUNGroup01; 6、在服务器上扫LUN,并采用IO读写工具对LUN进行持续读写。 |
| 测试步骤 | 1、拔出任意一个接口模块; 2、在“监控>告警和事件”界面下,检查系统是否产生接口模块被拔出的告警; 3、在服务器上检查LUN的IO读写是否中断; 4、3分钟后,将已拔出的接口模块插回,等待接口模块的电源指示灯恢复为绿色常亮; 5、在“监控>告警和事件”界面下,检查系统中接口模块被拔出的告警是否恢复; 6、在服务器上检查LUN读写状态。 |
| 预期结果 | 1、步骤2中,系统中产生接口模块被拔出的告警; 2、步骤3中,服务器上LUN读写正常,未出现IO错误; 3、步骤5中,接口模块被拔出的告警恢复,系统中不存在步骤2查看到的告警; 4、步骤6中,服务器上LUN读写正常,未出现IO错误。 |
| 测试结果 | 存储测告警: 模块状态: 主机读写: |
| 测试目的 | 验证逻辑端口故障。 |
| 预置条件 | 1、华为OceanStor 18000F V5设备运行正常,且和管理终端之间通信正常; 2、使用超级管理员级别的用户通过DeviceManager登录阵列; 3、阵列一个控制框上的四个控制器各有2个以太网口和服务器连接,已创建1个逻辑端口,并指定主用端口为A控可用的绑定端口NAS-Bond-A; 4、阵列中已创建一个硬盘域Diskdomain001、一个存储池Storagepool001和一个文件系统Filesystem001,并添加NFS共享; 5、主机已使用NFSv3成功挂载文件系统,使用IO下发工具对文件系统读写。 |
| 测试步骤 | 1、拔出A控主用端口上的线缆; 2、在服务器上检查文件系统的IO读写是否中断; 3、在“资源分配>端口>逻辑端口”界面下,检查当前端口是否发生切换; 4、拔出A控备用端口上拔出的线缆; 5、在服务器上检查文件系统的IO读写是否中断; 6、在“资源分配>端口>逻辑端口”界面下,检查当前端口是否发生切换; 7、插回A控主备用端口上拔出的线缆; 8、在服务器上检查文件系统的IO读写是否中断; 9、在“资源分配>端口>逻辑端口”界面下,检查当前端口是否切换回原端口。 |
| 预期结果 | 1、步骤2中,服务器上文件系统的读写正常,未出现IO中断; 2、步骤3中,当前端口未发生切换,当前端口为NAS-Bond-A; 3、步骤5中,服务器上文件系统的读写正常,未出现IO中断; 4、步骤6中,当前端口切换为NAS-BondB的以太网端口; 5、步骤8中,服务器上文件系统的读写正常,未出现IO中断; 6、步骤9中,经过一小段时间(约5分钟),端口切换为NAS-Bond-A。 |
| 测试结果 | 拔掉A控BOND-A第一根线 存储测告警: 主机读写: 逻辑IP长ping: 逻辑端口使用状态: 拔掉A控BOND-A第二根线 存储测告警: 主机读写: 逻辑IP长PING: 逻辑端口状态: |
1、8KB 100%随机读命中为0
| 测试目的 | 验证华为OceanStor 18500F V5存储系统能够达到的IOPS和时延数据:8KB 100%随机读命中为0 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GBLUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置(然后执行./vdbench -f vdbench.conf,对LUN同时进行随机小IO读测试。 |
| 预期结果 | IOPS:单台18万,总IOPS:80万。 |
| 测试结果 | 单台主机: 存储测总IOPS平均:83万,时延:0.43ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统能够达到的IOPS和时延数据:8KB 100%随机读命中为100。 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GBLUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置(然后执行./vdbench -f vdbench1.conf,对LUN同时进行随机小IO读写测试。 |
| 预期结果 | IOPS:单台30万,总IOPS:120万。 |
| 测试结果 | 单台主机: 存储测总IOPS平均:148万,时延:0.028ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统能够达到的IOPS和时延数据:8KB 70%读 30%写读命中为0。 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GBLUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置(然后执行./vdbench -f vdbench2.conf,对LUN同时进行随机小IO读写测试。 |
| 预期结果 | IOPS:单台7万,总IOPS:28万。 |
| 测试结果 | 单台主机: 存储测总IOPS平均:32万,时延:1ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统能够达到的IOPS和时延数据:8KB 70%读 30%写读命中为100。 |
| 测试拓扑 | 无 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GBLUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置(然后执行./vdbench -f vdbench3.conf,对LUN同时进行随机小IO读写测试。 |
| 预期结果 | IOPS:单台9万,总IOPS:36万。 |
| 测试结果 | 单台主机: 存储测总IOPS平均:41万,时延:0.33ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统能够达到的IOPS和时延数据:8KB 100%随机写 命中为0。 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GBLUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置(然后执行./vdbench -f vdbench7.conf,对LUN同时进行随机小IO读写测试。 |
| 预期结果 | IOPS:单台2.9万,总IOPS:11.6万。 |
| 测试结果 | 单台主机: 存储测总IOPS平均:12.3万,时延:0.31ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统能够达到的IOPS和时延数据:8KB 100%随机写命中为100。 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GBLUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置然后执行./vdbench -f vdbench8.conf,对LUN同时进行随机小IO读写测试。 |
| 预期结果 | IOPS:单台3万,总IOPS:12万。 |
| 测试结果 | 单台主机: 存储测总IOPS平均:11.9万,时延:1.33ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统写带宽能够达到的数据和时延表现: 256KB 100%顺序写 命中为100%。 |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GB的LUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置,然后执行./vdbench -f vdbench4.conf,对LUN同时进行大IO写测试。 |
| 预期结果 | 写带宽:7GB/s |
| 测试结果 | 单台主机: 存储测总带宽平均:7.5G,时延:1.5ms。 |
| 测试目的 | 验证华为OceanStor 18500F V5存储系统读带宽能够达到的数据和性能表现: 256KB 100%顺序读 命中为100% |
| 预置条件 | 1、V5采用性能测试方案组网。 2、总共准备4台测试主机,每台主机均安装好Vdbench测试软件。 |
| 测试步骤 | 1、在引擎0上创建1个硬盘数为50的硬盘域,等待硬盘域格式化完成。 2、在每个硬盘域下创建一个RAID6-10级别、大小为所有可用容量的存储池,在存储池下创建8个(融合存储)、8个(虚拟化存储)大小为500GB的LUN。 3、500GB的LUN分别归属A、B、C、D控,其余参数默认,然后LUN平均映射给4台服务器。 4、在主机上扫描LUN并安装vdbench。 5、在4台主机vdbench目录下编辑paramfile脚本配置,然后执行./vdbench -f vdbench5.conf,对LUN同时进行大IO读测试。 |
| 预期结果 | 读带宽:9GB/s |
| 测试结果 | 单台主机: 存储测总带宽平均:11.6G,时延:41us。 |
(一)存储替换迁移关键策略
随着企业业务应用的拓展和业务数据不断增长,作为 IT 基础架构的重要组成,存储系统不仅面临着存储容量与性能提升的需求,还需要适应系统架构的变化。由于系统架构越来越复杂、数据类型越来越多样性,存储替换迁移工作也需要越来越细致。存储替换迁移其实也是一个数据迁移的过程,首先我们需要充分了解常用的存储数据迁移技术。为了高效、安全、完整地完成存储替换迁移任务,我们需要结合不同存储各自系统特点及所承载业务系统的类型特点有策略地开展迁移相关的工作。针对不同的系统及不同的应用场景制定有针对性的迁移方案,切不可一刀切,也不能指望通过一个迁移方案就能够完成所有类型数据的迁移,没有绝对最好最完美的方案,只能根据实际情况形成符合自身的方案。
(二)数据库迁移注意事项
在进行数据库迁移恢复过程中,需要重点关注数据库归档日志空间使用率情况,在开启归档模式下,数据库恢复的过程中,将会产生大量的归档日志文件,如果数据量较大且归档日志空间未设置自动定时清理机制,数据库归档日志空间将很快被耗尽,归档日志空间被耗尽后,数据库将处于暂停工作状态,将会导致数据恢复工作处于暂停状态,在进行大数据量数据恢复且无人值守的情况下,将会严重影响数据恢复效率。针对此类情况,结合该银行数据迁移恢复实践,建议增加清理数据库归档日志定时任务(如:每间隔2分钟自动清理一次归档日志),数据迁移恢复顺利完成后,再取消定时任务,届时通过在数据库备份任务中增加删除归档日志机制,以避免归档日志空间耗尽导致的业务中断事件。
(三)常见数据迁移技术分享
当前,常用的主流数据迁移主要包含如下“五种武器”:
1、基于应用及虚拟机软件功能的迁移
主要包含数据库迁移、虚拟机迁移、MigrationDirector For NAS等。
2、基于卷管理软件(磁盘管理)功能的迁移
主要包含卷镜像、LVM mirror、VxVM mirror等。
3、基于操作系统自带命令集的迁移
主要包含Robocopy,dd,Rysnc等。
4、基于存储网络层功能的迁移
主要包含MigrationDirector For SAN、VIS虚拟化网关、存储异构虚拟化等。
5、基于存储增值软件功能的迁移
主要包含存储LUN Copy、存储远程复制等。
在选择迁移技术或工具时,一定要充分结合自身网络环境及对业务连续性的要求,选择最优的迁移方法,实现期望值。一般会根据数据类型选择不同的迁移工具或技术实现跨存储的数据安全平稳迁移。
(四)数据迁移完整性保障
数据迁移后需要落实好如下工作:一是数据完整性及一致性验证工作,比如迁移前后数据库信息的校对,文件系统则可以统计文件inode数和文件MD5校验;二是旧配置信息或者临时配置信息清理工作,配置信息是否暂时保留,保留多久,一般来说旧的配置信息都是在变更实施完成一段时间后才做清理,主要是方便回退;三是存储替换迁移前后的对比,替换迁移是否达到了迁移工作的预期,比如可以观察迁移前后的批处理作业或其他性能监控指标。这些工作有些是迁移完成后就必须开展的,有些是需要观察期的,都需要我们去落实完成的,否则会留下各种隐患,数据迁移工作的质量也难以得到保证。
(五)制定完善的应急预案及回退方案
应急预案和回退方案是每个变更操作必须充分考虑的,在实际存储替换迁移工作的过程中,依然会存在很多实施前未充分论证的细节,比如数据替换迁移过程中,由于各种原因迁移命令执行失败等异常情况。这些异常情况除了临场的应对解决之外,还需要我们能事前制定完整的存储替换迁移的应急预案和回退方案。一旦在计划时间内无法解决异常问题,需要果断采取应急预案和回退方案,毕竟数据丢失或者存储不可用会造成极其恶劣的影响。
(六)合理控制迁移时间窗口
由于待迁移的存储容量较大、涉及的系统较多、迁移方法所限,整个迁移工作可能会持续较长时间,部分待迁移系统的业务连续性要求较高,停机窗口都有一些。所以怎么去控制迁移时间窗口,做好迁移计划非常关键。
三、新存储带来的性能效果
经过本次新数据中心建设,全新的华为OceanStor 18500F V5全闪系列高端存储设备为新一代核心业务系统带来了较好的性能提升,联机交易响应时间由原来的8毫秒缩短至4毫秒,提升占比50%,批量交易运行时间由原来的90分钟缩短至55分钟,提升占比40%。
日间联机交易期间存储设备IOPS及MBPS占存储设备总体性能的6%,夜间批量运行期间存储设备IOPS及MBPS占存储设备总体性能的8%。
四、总结
我行通过基于数据库、虚拟化及存储网络等层面的迁移技术,实现了各类应用系统的跨数据中心跨存储品牌跨数据库软件版本的安全平稳迁移,存储设备集中统一到华为OceanStor 18500F V5,数据库软件集中统一到Oracle 19c,虚拟机集中统一到VMware vSphere虚拟化资源池中。
目前新一代数据中心已进入运行维护阶段近10个月,通过持续不断的监控及维护,各项数据指标再次证明华为高端存储硬件的稳定可靠性。
本文结合我行数据迁移的实践工作,分析存储替换迁移过程中存在的难点、风险点,并具体解析其应对策略,希望给同行在跨数据中心存储替换迁移工作方面提供一种借鉴。
原文为三篇:某银行基于华为高端存储的数据迁移实践之需求分析及设备选型篇;某银行基于华为高端存储的数据迁移实践之方案设计篇;某银行基于华为高端存储的数据迁移实践之迁移实施过程和效果篇