农商行本地数据中心基于华为NAS双活实践
农商行本地数据中心基于华为NAS双活实践
talkwithtrend
talkwithtrend.com社区(即twt社区)官方公众号,持续发布优秀社区原创内容。内容深度服务企业内各方向的架构师、运维主管、开发和运维工程师等IT专业岗位人群,让您时刻和国内企业IT同行保持信息同步。
【作者】方猛, 某农商行存储工程师,主要负责存储架构规划,拥有多年的主机、存储及虚拟化等工作经验。
1 项目背景
近年来,金融科技已成为银行业金融机构的核心竞争力。各家银行业金融机构持续推进数字化转型,通过信息技术提升金融服务能力和风险防控能力。数据中心是银行科技的信息化基础设施,是银行数字化转型的基础载体,是应用系统安全稳定运行的重要保证。自2018年以来,我行双活数据中心建设先后实现了A类系统的同城业务级双活和B类系统的同城数据级灾备,较好地支撑了业务的发展,提升了业务的连续性水平。
2 技术选型
基于我行双活数据中心的建设经验,本地NAS双活产品重点需关注如下几点:
免网关设计: 无需额外部署虚拟化网关设备,由两套独立的存储阵列同时提供两个实时一致的数据副本供业务主机读写访问,可以有效的隔离单存储系统的故障扩散,任意一副本故障都不影响业务的连续运行。相较于网关双活,免网关双活架构简单,与存储增值特性良好兼容,减少了网关故障点,提高了方案可靠性,I/O响应速度更快,无需经过网关设备转发,减少网关转发时延,显著降低双活组网复杂度,便于维护。
免NAS网关: 不需要在SAN设备上再叠加额外NAS网关,并通过阵列本身特性在业务层面同时实现块与文件的双活,降低业务部署复杂度并有效减少I/O路径故障点,提升系统可靠性。
一体化双活: 既支持文件数据服务,也支持块数据服务,能够以NFS文件系统和SAN块存储两种方式提供双活功能。SAN与NAS共用一套仲裁,能够确保两个站点间链路故障时,文件存储和块存储由同一站点提供服务,保障仲裁一致性。
AA双活架构: 两个数据中心提供强一致性的数据镜像副本,可以同时为上层应用提供相同业务数据,实现业务负载均衡。当一个数据中心故障时,业务自动切换到另一个数据中心,数据零丢失,业务零中断。相较于Active-Passive方案,Active-Active双活方案可充分利用计算资源,有效减少阵列间通信,缩短I/O路径,从而获得更高的访问性能和更快的故障切换速度。
3 方案设计
3.1 产品介绍
3.1.1 华为 OceanStor 5000 存储
华为OceanStor 5000存储系统采用全闪存设计的系统架构,可满足各种高性能应用的需求。
华为OceanStor 5000存储系统采用端到端深度优化的全自研闪存架构设计,包括自研芯片、自研SSD驱动器、自研闪存控制器、内置于系统各部件的自研算法和驱动以及系统内软硬件深度融合等,将全闪存存储性能发挥到极致,在ms级时延下IOPS高达百万,保证客户关键应用极致的性能体验,帮助业务轻松跨入全闪存时代。
采用新一代的全自研高性能SSD控制器芯片,匹配新一代高效专利算法和驱动,提供更高可靠性、更高性能的SSD驱动器。
华为OceanStor 5000存储系统采用高可靠性设计,保证存储系统长时间无故障运行,确保存储系统承载的业务具有高可用性。同时OceanStor 5000存储系统支持多种数据保护技术,保证各种情况下数据的安全,即使在毁灭性的灾难下,也能确保业务正常持续运行。
华为OceanStor 5000存储系统支持多种数据保护方式,满足备份、容灾等不同业务应用的需求,防止因为自然灾害、严重设备故障和错误操作造成业务中断以及数据丢失。
OceanStor 5000存储系统支持的数据保护方式包括:
-
备份: 各种业务每时每刻都会产生大量数据。如果业务数据丢失,将带来极大的损失。因此所有企业都会定期备份重要的业务数据,防止严重灾难造成业务数据丢失。常见的备份技术包括:
1) 快照:迅速在本地生成源LUN在某个时间点上虚拟的数据副本,数据副本生成之后立即可用,并且对副本的读写操作不会影响源LUN的数据。
2) 克隆:可在本地为源LUN建立一份某时刻的完整拷贝,即把数据从源LUN拷贝到本地的从LUN中。拷贝完成后,可分裂源LUN和从LUN。分裂后,对从LUN的读写操作不会影响源LUN上的数据。
3) LUN拷贝:能够在块级别上将源LUN的数据复制到目标LUN。LUN拷贝可以在存储系统内运行或者存储系统之间(支持异构存储系统)运行。
4)卷镜像:对数据进行实时备份,能够在数据源出现故障时,自动切换到数据副本,保障数据的安全性和业务的连续性。
-
双活: 能够实时地进行存储系统之间数据同步复制,业务运行状态监控和故障切换。保证在线实现跨数据中心的业务切换,以及业务负载分担。
-
容灾: 对于某些即使在毁灭性灾难情况下也必须持续运行的业务,需要采用容灾技术。容灾技术涉及存储系统、应用服务器、应用软件和人员支持等多个方面。在存储系统层面,容灾技术是指实时的数据备份,主要使用远程复制技术。远程复制技术能够在两个或多个站点实时维护多个数据副本,利用长距离来避免灾难发生时的数据丢失,为在其他站点恢复业务做好数据准备。
3.1.2 HyperMetro特性
华为HyperMetro特性又称双活特性(以下统称双活特性),双活特性中的两个数据中心互为备份,且都处于运行状态。当一个数据中心发生设备故障,甚至数据中心整体故障时,业务自动切换到另一个数据中心,解决了传统灾备业务无法自动切换的问题。提供给用户高级别的数据可靠性以及业务连续性的同时,提高存储系统的资源利用率。
3.2 拓扑架构
存储层,采用两台华为OceanStor 5000存储阵列通过HyperMetro构建本地数据中心NAS双活体系,为本地数据中心存储同时提供读写服务,且整个存储系统架构全冗余,任意一台存储故障都不影响NAS业务的连续运行。
双活复制网络,两端存储系统间保持数据同步以及心跳信息同步的网络,双活复制网络同时承载存储系统间的数据同步以及心跳信息同步等多种数据。由于NAS双活存储部署在同一数据中心,双活复制链路接入SAN交换机建立FC高速复制通道,不存在同城双活中裸光纤设备的时延及抖动等问题,满足NAS业务网络时延要求。
仲裁网络,当两端存储系统的设备故障或设备间的链路故障时,需要通过仲裁网络进行业务仲裁。仲裁支持虚拟机模式,由于是在同数据中心部署NAS双活存储,仲裁虚拟机不部署在其他数据中心,但必须将其放置在其他存储上(如果将仲裁虚拟机放置到NAS双活存储的任一存储,当仲裁虚拟机所在的NAS存储故障时,仲裁也会宕机失效,这样就会引起多点故障)。华为官方推荐仲裁虚拟机使用两个独立VLAN的高可用仲裁网络,分别和A控和B控通信。
业务网络,NAS双活存储的A控和B控分别接入独立的NAS网络区,形成故障漂移组(fail group)。NAS双活存储的每个控制器通过2条10GbE光纤接入业务交换机,形成一个20GbE的端口组(LACP)。接入同一网络区域的控制器之间采用A-A(双active)互备的工作模式,当任一个控制器出现硬件故障或业务网络中断时,存储系统会自动将业务地址切换到另一个活动的控制器上,切换时间控制在5秒以内,对前端业务系统可以做到无感知。
管理网络,每台存储通过2个管理网口接入网管网,用于存储设备的日常管理和存储监控管理。
注: 本次项目未实施SAN架构,该存储架构仅用于NAS双活。若要实施SAN架构,在此基础双活架构下,新增A/B控制器的FC前端口到SAN交换机即可,可配置SAN双活租户和SAN单活租户。
3.3 租户设计
每台存储上配置两个租户,一个用于双活租户Pair,一个用于单活租户,两个租户共享相同的存储硬件资源,可动态调整其可用容量。
双活租户用于创建NAS双活Pair,使用两端存储资源。
单活租户用于创建单活NAS,使用本存储资源。
每个租户可单独配置其逻辑端口和漂移组,业务链路物理隔离。
注: 租户是指在一套物理存储系统中创建多个虚拟存储系统,让多个租户既能共享相同的存储硬件资源,又不影响相互的数据安全性和隐私。借助租户特性,可以在多协议统一存储架构中实现更加灵活、更易于管理、部署成本更低的共享存储。
4 技术原理
4.1 本地数据中心部署架构
主机采用集群部署方式,主机与存储间通常通过交换机方式通信,对于NAS文件系统,需要采用IP交换机。同时,存储侧部署存储双写镜像通道,保证双活业务的运行。
4.2 数据读写原理
通过数据双写和DCL机制实现存储层数据的双活,两个数据中心同时对主机提供数据读写能力。
4.2.1 数据双活的实现
实现两台存储设备双活的核心就是基于租户的逻辑端口机制和数据双写机制。在业务运行中,数据变更可通过双写和DCL来完成同步,进而保证两个数据中心的数据一致性。
在两端存储系统创建租户,让多个租户既能共享相同的存储硬件资源,又不影响相互的数据安全性和隐私。
-
在租户中创建文件系统,在以租户为单位进行共享资源、故障处理等操作时,该操作作用于租户下的所有文件系统,从而实现更灵活、更易于管理、部署成本更低的存储资源共享机制。
-
创建双活租户Pair,从而建立本端存储系统的租户和远端存储系统的租户之间的双活关系,双活仲裁以双活租户Pair为单位,在该双活租户Pair中的双活发生故障时,确保该Pair中租户下的所有文件系统的仲裁结果均保持一致,以及保证文件系统运行所依赖的环境在两个租户之间保持一致。
-
创建NAS双活Pair,从而建立本端文件系统和远端文件系统之间的双活关系。通过创建NAS双活Pair关系,可以及时的对双活进行数据同步、双写、暂停等操作。
-
创建租户的逻辑端口后,本端逻辑端口激活(远端未激活),此时本端承担主机业务。当本端存储系统发生故障时,转换为远端逻辑端口激活(本端去激活),由远端存储系统承担主机业务。提供给用户高级别的数据可靠性以及业务连续性的同时,提高存储系统的资源利用率。
4.2.2 FastWrite
HyperMetro通过FastWrite功能对阵列间数据传输进行了协议级优化,应用SCSI协议的First Burst Enabled功能,将写数据的链路传输交互次数减少一半。
正常的SCSI流程中,写I/O在传输的双端要经历“写命令”、“写分配完成”、“写数据”和“写执行状态”等多次交互。利用FastWrite功能,优化写I/O交互过程,将“写命令”和“写数据”合并为一次发送,并取消“写分配完成”交互过程,将跨站点写I/O交互次数减少一半。如图所示。
4.2.3 写I/O流程
在业务正常运行中,当主机下发I/O请求并引起数据变更时,双活I/O的写处理流程(以回写为例进行说明)如下图所示。
1.主机下发写I/O到双活I/O管理模块。
2.本端存储系统记录LOG。
3.执行双写:双活I/O管理模块同时将该写I/O写入本端文件系统和远端文件系统。
4.本端文件系统将写I/O写入到本端Cache,远端文件系统将写I/O写入到远端Cache。
5.本端Cache向本端文件系统返回写I/O结果,远端Cache向远端文件系统返回写I/O结果。
6.双写结果处理:本端文件系统和远端文件系统向双活I/O管理模块返回写I/O结果。
7.判断双写是否成功。
如果两端都写成功:清除LOG。
-
如果有任意一端写失败:LOG转换成DCL,记录本端文件系统和远端文件系统的差异数据。双活Pair的运行状态变为待同步,I/O变成单写,写成功的一端继续提供主机业务,写失败的一端停止主机业务。
4.2.4 读I/O流程
两端的文件系统数据实时同步,当任何一端存储系统故障的情况下主机将切换访问路径到正常的一端继续业务访问。
1.主机向双活I/O管理模块申请读权限。
2.双活先从本端存储系统响应主机的请求。
3.如果本端存储系统正常,则本端存储系统将数据返回给双活。此时,本端逻辑端口激活(远端逻辑端口未激活),此时本端承担主机业务。
4.如果本端存储系统处于非正常状态,转换为远端逻辑端口激活(本端逻辑端口去激活),由远端存储系统承担主机业务,远端存储系统将数据返回给双活I/O管理模块。
5.主机读I/O成功。
4.3 数据仲裁原理
当双活的两端存储系统之间的链路故障或一端阵列故障时,主从vStore已经无法实时镜像同步,此时为了保证主从vStore数据一致性,只能由其中一端vStore中的文件系统继续提供服务,另外一端vStore中的所有文件系统需要停止提供服务。HyperMetro通过仲裁机制决定由哪端vStore继续提供服务,仲裁获胜的vStore中文件系统继续提供服务。
4.3.1 静态优先级模式
当没有第三方仲裁时,用户可以设置其中一端vStore为优先站点,另一端为非优先站点。
当发生存储系统间链路故障,或者从存储系统故障时,主vStore继续提供服务,从vStore停止提供服务。
当主存储系统故障时,从vStore不能自动接管业务,业务中断,需要人工强制启动从vStore的服务。
4.3.2 仲裁服务器模式
使用独立的物理服务器或者虚拟机作为仲裁设备,仲裁服务器建议部署在第三方仲裁站点。这样可以避免单数据中心整体发生灾难时,仲裁设备也同时故障。
5 测试用例
针对各测试项提前做好表格,包括预置条件、预期结果、测试步骤和测试结论。预置条件、预期结果、测试步骤可提前输入,测试过程中记录测试结论。
5.1 功能性测试
序号 |
测试项 |
预期结果 |
测试结果 |
1 |
单活文件系统在线扩容 |
存储端在线扩容文件系统的容量,不中断业务。 |
☑通过 □未通过 |
2 |
双活文件系统在线扩容 |
存储端在线扩容双活文件系统的容量,不中断业务。 |
☑通过 □未通过 |
3 |
快照及回滚 |
支持快照及回滚,但只支持单活场景下的快照回滚。双活文件系统支持快照,不支持回滚。 |
☑通过 □未通过 |
4 |
动态QOS管理能力 |
SmartQoS支持文件系统的优先级设置和流量控制。 |
☑通过 □未通过 |
5 |
存储效率(重删、压缩) |
通过删除重复数据或对业务数据进行压缩,减少数据冗余,节省存储空间 |
☑通过 □未通过 |
6 |
文件系统克隆功能验证 |
克隆过程在线进行,不中断业务。 |
☑通过 □未通过 |
7 |
文件系统WORM功能测试 |
锁定后的文件不允许修改和删除 |
☑通过 □未通过 |
5.2 可靠性测试
5.2.1 仲裁服务器故障
1、关闭仲裁服务器
验证主备存储是否发生仲裁,双活文件系统是否继续提供服务,使用vdbench监控双活文件系统IO连续性。
2、一台存储系统与仲裁服务器之间的链路故障
验证主备存储是否发生仲裁,是否继续提供存储服务,使用vdbench监控双活文件系统IO连续性。
5.2.2 复制链路故障
验证主备存储是否发生仲裁,是否继续提供存储服务,使用vdbench监控双活文件系统IO连续性,记录IO中断时间。
5.2.3 主存储故障
验证主存储故障发生时,备存储是否继续提供存储服务,是否需要人工干预,记录仲裁结果,使用vdbench监控双活文件系统IO连续性,记录IO中断时间。
验证主存储故障恢复后,手动回切存储服务(记录操作步骤),使用vdbench监控双活文件系统回切期间的IO连续性,记录IO中断时间,验证存储数据一致性。
5.2.4 备存储故障
验证备存储故障发生时,存储服务是否受影响,使用vdbench监控双活文件系统IO连续性,记录IO中断时间。
验证备存储故障恢复后,存储服务是否受影响,使用vdbench监控双活文件系统的IO连续性,记录IO中断时间,是否需要人工干预双活同步。
5.2.5 复制链路故障且仲裁到主存储链路故障
验证发生故障时,主存储自动关机隔离(不会发生脑裂现象),备存储继续提供服务,记录仲裁结果。
复制链路链路及仲裁到主存储链路故障恢复后,如何确保存储数据一致性,记录人工干预操作步骤作为应急预案。
注: 该场景需同时具有静态优先级模式和仲裁服务器模式两种故障仲裁机制才能覆盖。
5.2.6 主从切换-双活租户Pair
验收手动切换双活租户Pair的能力,使用vdbench监控双活文件系统的IO连续性,记录IO中断时间。双活正常状态时,由主站点提供主机业务,当主站点需要检修或者站点维护时,需要进行主从切换,从站点变为主站点并提供主机业务。此场景可满足主存储例行维护或每年定期开展的针对各系统的计划性灾备切换演练工作。
注: 双活租户Pair是指本端存储系统的租户和远端存储系统的租户之间的双活关系,双活仲裁以双活租户Pair为单位。在双活发生故障时,确保该Pair中租户下的所有文件系统的仲裁结果均保持一致,并保证文件系统运行所依赖的环境在两个租户之间保持一致。
5.2.7 主从切换-NAS双活Pair
验证手动切换单个NAS双活Pair,使用vdbench监控双活文件系统的IO连续性,记录IO中断时间。此场景可满足我行每年定期开展的针对各系统的计划性灾备切换演练工作。
注: NAS双活Pair是指本端文件系统和远端文件系统之间的双活关系。在配置双活时,本端存储系统的一个本端文件系统和远端存储系统的一个远端文件系统构成一个Pair。通过查看Pair运行状态,可以及时地根据状态取值对双活进行同步、暂停等操作,并在操作结束后根据NAS双活Pair的状态判断操作是否成功。
5.2.8 可靠性测试总结
本次项目针对华为NAS双活存储的可靠性测试均通过,满足业务连续性要求。
序号 |
测试项 |
预期结果 |
测试结果 |
1 |
关闭仲裁服务器 |
双活Pair为正常状态,不中断业务。 |
☑通过 □未通过 |
2 |
复制链路故障 |
双活Pair为正常状态。 主存储的文件系统继续运行业务、副存储的文件系统不提供业务 |
☑通过 □未通过 |
3 |
主存储故障 |
备存储接管文件系统服务,业务短暂中断,NFS挂载自动恢复。 主存储恢复后需先同步数据后手动切换文件系统服务至主存储。 |
☑通过 □未通过 |
4 |
备存储故障 |
主存储继续提供文件系统服务,不中断业务。 |
☑通过 □未通过 |
5 |
复制链路故障且仲裁到主存储链路故障 |
主存储自动关机隔离,备存储接管文件系统服务,业务短暂中断,NFS挂载自动恢复。 |
☑通过 □未通过 |
6 |
主从切换-双活租户Pair |
租户双活关系及租户下所有的文件系统双活关系均发生主从切换,状态为“正常”, 不中断业务。 |
☑通过 □未通过 |
7 |
主从切换-NAS双活Pair |
单个业务系统的双活文件系统发生主从切换,状态为“正常”, 不中断业务。 |
☑通过 □未通过 |
6 项目成效
华为OceanStor 5000存储的实施构建了本地数据中心NAS存储双活体系,是我行落实提升存储基础架构的关键举措。
通过本项目的实施,无论是对我行存储系统架构体系建设,还是业务系统的设计都取得了显著的优化和成效。
首先,实现了我行NAS文件存储资源池的分级建设,填补了中端NAS双活存储资源池的空白。第二,借助本地数据中心NAS存储双活架构,提高了我行业务系统的本地存储资源连续性保护能力,实现业务系统对于文件存储的高可用、高可靠需求。第三,全闪存存储性能优异,显著提升了业务处理效率。
点击文末 阅读原文 ,可以到原文下留言交流
觉得本文有用,请 转发、点赞 或点击 “赏” ,让更多同行看到
资料/文章推荐:
-
NAS数据存储在医院PACS场景的应用与探索
-
中小银行文件共享需求场景下由GPFS迁移至华为企业级NAS存储实践分享
-
从GPFS到NAS:共享文件系统使用之变革
欢迎关注社区 “存储”技术主题 ,将会不断更新优质资料、文章。地址: https://www.talkwithtrend.com/Channel/179
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用商店搜索“twt”
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场 ;封面图片由版权图库授权使用
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
