谢礼江
(广东省气象探测数据中心,广东 广州 510088)
2015年,广东省气象局建设的华为OceanStor 18800高性能存储投入业务运行以来,在支撑气象业务系统中发挥了非常重要的作用。这套高性能存储是广东省气象业务网、IDEA接口平台、SWIFT[1]、基础设施虚拟化资源池平台、广东省气象决策辅助系统、广东省省突发布管理系统、FAST3.0业务平台、CIMISS等50个核心关键业务系统的存储资源支撑。随着这套存储满负载运行年限增加(已运行6 a)和逐渐趋于老化,存储硬件设备进入IT产品生命周期(5~7 a)末段,性能处于下降的趋势,故障率也逐年提高[2]。仅在2020年,就更换隐患或故障盘30个,升级控制器软件3次,更换其它硬件设备8次,全年平均每15 d就需要处理1次故障,每月至少出现1~3个隐患盘,机框、主板、CPU、内存、网卡和HBA卡等硬件设备也无规律地出现故障,且此套存储硬件设备逐渐断供,厂商计划将在2021年12月31日停止对OceanStor 18800高性能存储提供技术维保服务,这将对相关气象业务的安全保障和业务连续性构成极大风险。故障会导致业务受到影响,甚至导致业务中断或数据丢失,不利于气象业务系统稳定运行。
为保持现有业务的连续性,以及满足近年增加的气象业务,急需建设一套高性能存储替换现有存储。由于气象业务具有时效性、连续性和稳定性[3]的特点,需要基于气象业务零中断的基础上,探讨研究如何把存放在OceanStor 18800高性能存储的数据迁移到新存储上,实现这50多个核心关键业务系统的平滑迁移。
OceanStor 18800存储采用 RAID2.0+块虚拟化卷架构,所有磁盘阵列柜全部配置为高性能15K 转速的SAS(Serial Attached SCSI)磁盘和固态硬盘(SSD:Solid State Disk)[4],以高性能、高可靠、高扩展、存储效率、数据保护为其设计理念,总共配置了6个控制器,1TB缓存,占用机房机柜4个,总可用容量550 TB,组成多活控制器群集,为业务端应用主机访问存储提供了负载均衡和高可用功能。
OceanStor 18800存储根据气象业务需求,目前分配13个硬盘域,13个存储池。划分20个卷LUN(logic unit number)约500 TB作为虚拟化集群资源池使用[5],运行了700台虚拟服务器机,部署了超50个核心关键气象业务系统;60个卷约50 TB空间作为CIMISS核心业务数据库系统的Oracle RAC群集使用。
Oceanstor 18800高性能存储承载着广东省气象台、广东省探测数据中心、广东省气象服务中心等10个单位的核心关键气象业务系统服务。为保持现有业务的连续性,以及满足近年增加的气象业务存储需求,在选择新存储时需满足以下几点要求:
性能和存储空间更优。气象业务飞速发展,基础设施资源池的存储资源是业务系统的底层支撑,其性能和存储是否满足业务需求直接影响着气象现代化和信息化的发展速度。
能耗和占用物理空间更小。减少耗能可以降低成本,也是人类在进行任何生产活动追求的目标;减少占用物理空间,提高机房使用率。
支持在线数据迁移。根据气象业务时效性、连续性和稳定性的特点,气象业务的安全保障和业务连续性是最优先考虑的因素,无法在线数据迁移意味着要停50个关键核心的业务系统,业务系统的中断会对气象业务造成很大影响。
按照新存储建设要求思路,本文选择同品牌和同系列且性能更优、扩展性更好的华为 OceanStor18810 V5 “芯”系列高端智能混合闪存存储代替旧存储。相比旧存储,OceanStor18810 V5继承了旧存储块级虚拟化、智能缓存分区技术、同步远程复制、异步远程复制、智能数据迅移、智能数据迁移、异构虚拟化等技术特点,并针对旧存储存在的架构设计和硬盘设备老旧、占用物理空间多、耗能高等问题研发,运用SmartMatrix 3.0 架构、闪存优化技术、SAN 与 NAS 一体化双活、高效能的硬件平台,为数据存储和使用提供可靠性更强、性能更好、业务数据迁移更稳定的解决方案。
OceanStor18810 V5采用智能矩阵式多控架构,以控制框为单位横向扩展,达到性能和容量的线性增长,运用4U Acitve-Active 四控冗余高密架构设计,每个控制框支持 4 个控制器和 2 个控制器 2 种方式,在提高性能的同时,又减少了占用的物理空间,相比Oceanstor 18800旧存储,各方面都具有很大优势(表1)。
表1 新旧存储性能对比
本次存储涉及VMware 虚拟化集群资源池和2台服务器CIMISS ORACLE 数据库,资源池承载着约700台虚拟机,运行了超过50个气象关键核心系统,采用异构迁移技术在存储底层进行约430 TB的数据、多应用的混合模式迁移,必须基于安全性、可行性和可操作性的原则进行探讨研究,减少数据迁移过程中对气象业务造成的影响甚至数据丢失风险。
安全性。在数据迁移过程中,数据的安全放在首位,整个实施调优方案也是以数据安全为出发点进行设计。
图1 存储迁移网络图
可行性。数据迁移综合考虑业务需求,环境情况和应用部署情况,根据收集到的信息进行充分考虑,对数据迁移和业务要求评估讨论,确保数据迁移可行。
可操作性。整套数据迁移也同时考虑在实施过程中操作的难易程度,工作量,复杂度等因素,要求可操作性强,降低气象业务影响风险系数。
异构虚拟化迁移技术主要是通过把异构阵列映射到本端阵列,把异构阵列的存储空间通过eDevLUN(ExternalDevice LUN)的方式管理和利用起来。元数据卷用于对eDevLUN 的数据存储位置进行管理,在本端存储系统上创建的eDevLUN与异构存储系统上的外部 LUN形成一一对应的关系,对eDevLUN的读写操作实现了对外部LUN的数据访问。通过 LUN伪装技术,让存储系统的eDevLUN的WWN 和 Host LUN ID设置成与异构存储系统上的 LUN 的信息一致,在数据迁移完成后,通过主机多路径软件实现在线 LUN 的无缝切换,从而在主机不中断业务的情况下完成数据迁移。
使用MigrationDirector存储数据迁移工具具有全自动、高效并发、灵活设置的特点,通过管理服务器自动推送迁移服务器,存储自动挂载和卸载,运用多并发执行任务从源端存储搬运到目的端存储,提高迁移速度和效率;可根据实际场景灵活配置线程数和启动时间,保障业务迁移的灵活性和弹性,避开气象业务高峰期,减少业务受影响风险。
MigrationDirector工具通过以太网同存储和业务主机相连,使用SSH协议连接源存储和目的存储的22号端口,以及REST协议连接目的存储8088号端口,通过SSH协议连接2台业务主机执行存储命令。
3.3.1 存储规划 存储划分卷满足VMware虚拟化集群资源池和CIMISS Oracle数据库2个应用场景。为确保数据完整性、数据迁移安全性和存储性能一致性,本次新存储的硬盘域配置和旧存储的硬盘域配置保持基本一致。
图2 存储迁移原理图
CIMISS Oracle数据库对应70个LUN,总计需要7000个IOPS,综合考虑缓存命中和硬盘提供的IOPS、业务读写模型(读写比:9∶1)和读写惩罚等因素,本次为数据库规划6块7.68 TB SSD(RIAD 10)和40块2.4 TB 10K SAS磁盘(RAID 6 8+2策略),预留10%空间用作自动分层迁移数据时用于中转空间使用。
VMware虚拟化集群资源池占用主要存储空间,规划16块7.68 TB SSD(RIAD 6)和84块2.4 TB 10K SAS磁盘,采用RAID 6 8+2策略预留8块磁盘做应急性能和容量扩容使用;50块10 TB 7.2K NL SAS 323 TB可用,预留10%空间用作自动分层迁移数据时用于中转空间使用。
3.3.2 数据迁移评估 数据迁移时间窗口 在目的存储接管源存储进行数据迁移时,不管是零中断迁移还是短暂中断迁移,都会对存储上层业务有一定的影响[6]。接管存储和数据迁移在双存储有大量的读写操作,IPOS值是否能满足业务正常运行是重点要素。气象业务在台风、暴雨等天气过程时,业务繁忙,不适合进行数据迁移。选择数据迁移时间窗口原则是在业务空闲时存储负载量相对较小的时间段。
数据迁移存储 为保证业务的正常下发,在零中断迁移时需确保目的存储在源存储的空闲启动器至少有2个,且分配在不同的控制器上;不同型号与版本的目的存储接管的源存储的数量、LUN的数量与路径数是有限制,充分考虑评估数据迁移的各种因素。
备份和配置 数据迁移之前一定要进行业务数据的备份操作,用于紧急情况下的数据回退,确保在执行一致性分裂时,选择业务较空闲阶段进行。在执行接管任务时,需要更改配置之后,目的存储才能接管存储,更改配置之前确认更改不会造成配置冲突。主机操作系统为Linux且使用的多路径软件为原生多路径(DMMultipath),在选择零中断迁移时,先完成主机多路径软件的配置。
3.3.3 风险评估和回退方案 业务数据迁移受多种因素影响,属于高危操作,必须做好气象业务风险评估和降低风险隐患的应急措施[7](表2)。
表2 数据迁移风险评估
迁移风险。迁移前数据进行备份,以防止迁移失败可能导致的数据丢失;迁移前还需对源存储进行一次全面的检查,包括存储硬件以及存储的配置信息、性能等,确保满足迁移所需要的条件;迁移过程中,确保网络通畅,以防网络原因导致迁移失败。
回退方案。在执行数据迁移的过程中,遇到不可抗力因素或者其他影响数据迁移的因素,为了保证业务不中断,异常情况时可停止数据迁移操作,进行相应的回滚操作,确保业务的连续性以及业务数据的完成性。
3.3.4 数据迁移流程 数据迁移主要分为检查、创建任务、执行任务和验证4个流程,通过主机、业务、操作系统、配置和网络等状态检查,确保满足数据迁移的环境、配置、软件和网络要求;再通过创建任务、执行任务(业务接管、存储迁移)来完成数据迁移,任务结束后对主机、配置、系统和业务验证(图3)。
图3 数据迁移流程图
验证是数据迁移的最后一步,也是判断数据是否迁移成功的重要准则[8]。查看主机链路状态,通过 “lsdev-Cc hdiskx” 查看所有磁盘列表和磁盘路径,状态为Enable则代表成功;登录DeviceManager查看告警中心,查看主机IOPS、带宽、响应时间,无告警代表成功;验证系统性能报表查看性能报表,确认系统业务正常,且性能符合预期。
3.3.5 数据迁移实现 本次迁移以业务空闲时存储负载量相对较小的时间段原则,通过CIMISS数据库、VMware虚拟化资源池和50多个气象业务核心系统运维管理团队调研评估, 选择2021年11月15—19日为数据迁移时间窗口,此时间段是在非汛期且无任何天气过程,广东省未发出暴雨、台风、寒冷、高温等预警信号,期间存储负载量是最高峰负载量的1/8,也是全年存储负载量最低的时间段。
数据迁移准备。首先在18810 V 5新存储按规划完成逻辑卷LUN创建,进入存储管理系统分配73个LUN逻辑卷到主机,Hdisk4-76是多路径软件纳管的磁盘,为数据存放提供优于原来的存储逻辑环境;其次通过对2套存储、气象业务系统主机逐一做健康检查,包括CPU占用、链路冗余、性能、网络、权限配置、主机多路径设备。
配置信息备份。存储多路径信息是数据迁移失败回滚的重要配置文件,备份配置信息有利于减少迁移失败恢复的时间。保存需要的虚拟磁盘属性信息,一一对应保存,用于升级后将磁盘属性重置回升级前的属性。其中包括虚拟磁盘选路算法、队列深度、预留策略等,通过执行命令lsattr -El hdiskX查询并保存虚拟磁盘的属性信息。
数据迁移。按原存储承载运行的VMware虚拟化集群资源池和2台服务器CIMISS ORACLE 数据库类型的应用,分2次集中迁移,根据数据迁移流程逐一执行,动态观察、监控和验证,本次430 TB数据用时82 h,在初始阶段新存储0负载的情况下最高速度可达2.1 GB·s-1,随着数据的迁移,负载的增加,迁移速度也逐渐下降,其平均迁移速度为1.5 GB·s-1。
传统的数据迁移方法主要是借助相关工具在应用层上迁移。此种方法要求部署相对应的应用环境,适合单一气象业务系统以及存储数据少的应用场景。在应用层面迁移,经业务系统服务器的网卡、CPU、内存和磁盘处理,数据迁移速度降低到350~750MB·s-1。如果使用该方法,涉及的CIMISS ORACLE 数据库,700台虚拟机的超过50个气象关键核心系统都部署对应的应用环境,给气象业务系统运维管理团队增加巨大的工作量。每个业务系统可迁移的时间窗口也不一样,迁移时间分散,预计迁移时间超过1个月,整套存储数据迁移时间长,造成数据迁移存在不确定性和增大迁移风险。
气象业务具有其连续性、时效性等特点,支撑气象业务的底层存储的替换和数据平稳迁移要重点考虑业务影响和可操作性。同品牌、同家族系列的存储替换,在一定程度上降低了异构存储数据迁移存在的数据丢失、业务影响或中断的风险。基于气象业务零中断数据迁移,需要综合考虑多方面因素,包括所迁移的气象业务类型、数据量、气象业务系统连续性要求、可操作的有效时间窗口、气象业务系统的重要性程度、气象上下游业务量大小、源和目标存储是否是同构和数据迁移技术是否成熟等。当然,要成功实施一个基于气象业务零中断的数据迁移项目,不仅要选择成熟、合适、高效的数据迁移技术,更要通过严谨完整的规划和设计,迁移业务数据信息收集、迁移业务数据可行性分析、迁移业务数据风险评估、迁移业务数据方案验证、回退方案制定和迁移实施执行等环节缺一不可。
相比在应用层上做数据迁移的传统方法,基于存储底层块磁盘采用异构虚拟化迁移技术具有迁移速度快、时间短、应用层工作量少、业务无中断、可集中迁移的特点,适用气象业务系统类型多、数据量大以及时间要求短的场景。