jeko
作者jeko2021-07-21 13:04
系统工程师, 某省农信

某省农信基于华为高端全闪存OceanStor Dorado 18000 V6系列存储的3DC架构的实践经验

字数 6489阅读 6211评论 0赞 12

1 概述

1.1 项目背景

我农信社开放平台原有10台高端存储,包括IBM、HDS、EMC等品牌,数据量共约700TB,支撑着140套DB2数据库、70套ORACLE数据库及120个重要的应用节点。通过EMC VPLEX和IBM SVC等虚拟化设备搭建存储区域,所有品牌存储下挂在这两个存储网关下面进行异构纳管、实现本地双活和同城镜像等功能。

随着业务的飞速发展,存储数据量快速增长,IOPS不断提高,原有存储架构的容量和性能逐渐面临瓶颈。另外,存储网关的存在一定程度上限制了整体架构的扩容、调整等优化,同时存储网关的性能也成为整体架构性能瓶颈的关键点。在这样的背景下,我们开始了新存储架构的建设工作。根据之前文章《银行数据中心高端存储选型的方法论和经验指导》中的需求分析考虑到的稳定性、产品架构、性能、可扩展性、容灾能力、标准容量下的成本、技术支持能力、安全自主可控8个方面,以及由分析结果制定的相应指标体系进行分析参考之后,我行计划采购最新的高端全闪、具有免网关双活技术的国产品牌存储搭建一套全新的免网关存储双活架构,支撑未来业务的持续发展。

1.2 项目目标

对银行数据中心而言,存储建设事关重大,一旦建设完成,需要保证至少 5 年内上层应用不出现存储层的性能瓶颈,随着闪存技术的快速发展,目前全闪存存储已经成为各家主流存储厂商的标准配置,同时结合控制器和硬盘框的NVMe技术应用,IOPS已经从传统机械硬盘存储的几万、十几万,上升到几百万级别,性能得到极大提升,因此在如今形势之下采购新存储时,全闪存储已成为首选,配备NVMe SSD的全闪存储是最佳选择。

另一方面,银行数据中心的产品和技术往安全自主可控方向发展一直是监管部门的要求。而随着国内存储厂商技术的不断提升,目前以华为为代表的国内存储品牌已经得到业界公认和实践,能够满足数据中心建设的各项指标需求。因此,选择技术领先的国产品牌存储也是本项目建设的一个重要目标。

经过以上需求分析、目标定位,最终我们选择了华为高端全闪OceanStor Dorado 18000 V6系列存储来建设新的存储架构。我们采购了3台华为高端全闪存OceanStor Dorado 18000 V6,搭建了“本地存储双活+同城异步复制”的3DC架构,作为我们未来业务发展的主要存储设施。

2 存储架构设计

2.1原有存储网关架构

我行原有存储架构是基于存储网关建设的,存储虚拟化架构中的存储共6台,生产机房和同城灾备机房各3台,通过EMC VPLEX网关进行本地存储镜像和同城存储镜像。整体架构图如下:

在过去的六到七年里,存储网关架构为支撑我行业务系统的高效运行做出了很大贡献,在异构品牌存储的纳管、迁移和镜像等功能的实现等方面带来的方便,更在存储双活功能上提供了实时同步、任一存储故障不影响上层业务的高可用作用。

总的来说,存储网关的存在具有特定的历史背景,上一代存储容量小、可扩展性差,因此需要的数量多,同时由于分批采购出现不同品牌存储中标,因此存在多台异构存储。但是,随着时间点的推移,银行业务的快速发展,存储网关成为了瓶颈,面临着需要挑战。第一,在一定程度上增加了整体架构的风险点,提高了端到端IO时延。第二存储网关本身出现性能瓶颈,处理能力亟需扩容,而存储网关扩容影响较大,不太方便。而无网关架构横向扩容更灵活。因此,在本项目中我们要求采用具有免网关双活技术的最新高端全闪阵列,摆脱对存储网关的依赖,同时考虑到无网关架构的优势与未来的发展方向,我行选择了无网关架构这条更适合自身需求的道路。

2.2 整体架构拓扑

为了提升业务的连续性、数据的可靠性和可用性,本次新搭建的存储架构采用生产机房两台存储做本地双活,同时叠加异步复制至同城灾备机房的存储方案。整体架构图如下:

如上图所示,整体方案使用新采购的3台华为高端全闪存OceanStor Dorado 18000 V6和4台配套SAN交换机组建一个全新的存储架构。其中,生产中心本地采用两台华为高端全闪存OceanStor Dorado 18000 V6组成本地双活,其中一台存储与同城灾备中心的第三台存储实行异步数据复制。

与原有网关架构对比,新架构本地双活基于华为hyperMetro功能,带来的优点有:(1)减少网关故障点,提升可靠性; (2)无需网关转发,降低I/O时延;(3) 降低双活组网复杂度,便于维护。

2.3 整体架构功能

本次建设的存储架构采用了华为高端全闪存OceanStor Dorado 18000 V6的HyperMetro+异步复制功能。

HyperMtro双活+异步复制的写I/O流程如下:
(1)写请求到双活LUN;
(2)双活LUN将写请求双写到A、B两阵列的双活数据LUN;
(3)双活数据LUN返回写操作完成;
(4)双活数据LUN返回写I/O操作完成;
(5)周期性的启动异步模式,主端创建时间戳快照,并通知灾备中心创建也创建时间戳快照;
(6)增量数据复制完成后,异地灾备中心阵列创建时间戳快照;
(7)将增量数据复制到灾备中心;
(8)增量数据复制完成后,灾备中心从LUN置为数据完整状态,复制置为正常关系;
(9)通过双活+阵列复制的架构可实现本地存储双活高可用,灾备中心通过多时间点技术可实现秒级RPO。

3 存储架构实施规划

本章将主要介绍我行生产环境基于华为高端全闪存OceanStor Dorado 18000 V6系列存储搭建本地双活加异步复制的3DC架构的实施规划。

3.1存储物理布局

本次存储架构共包含三台华为高端全闪存OceanStor Dorado 18000 V6,取名18500A、18500B、18500C。其中18500A和18500B均部署在生产中心机房,18500C部署在同城灾备中心机房。生产和灾备两中心使用DWDM设备进行SAN网络相连。仲裁服务器为物理机,部署在生产机房,与生产两台组建双活的存储之间通过以太网相连。

3.2存储前端端口规划

每台存储IO平面可分为上下左右四个象限,每个象限5张HBA卡,共计20张HBA卡。每个象限中3张用于连接主机,分别用于按照业务分的DB2数据库、ORACLE数据库、应用服务器三个主机组的前端连接。每个象限中第4张卡用于双活复制和异步复制,上两个端口用于18500A和18500B之间双活复制连接,下两个端口用于18500B和18500C之间的异步复制连接。每个象限中第5张卡为100Gb以太网卡,暂时不用。

4 存储架构实施要点

本章将主要介绍我行生产环境基于华为高端全闪存储搭建本地双活加异步复制的3DC架构的实施过程中的关键要点,包括SAN组网、单台存储配置、存储双活配置、异步复制配置、主机设置等要点。

4.1 SAN 组网

为保证业务连续性,组网使用冗余架构,主机和存储均连接本地两台SAN交换机。如下图所示,SAN组网中,使用两个物理上独立的交换平面(每个交换平面包括一个交换机或多个相互级联的交换机),每个数据库节点或者应用服务器节点与两个交换平面相连,每台存储和两个交换平面相连。

4.2 划分 Zone

在生产 IT 系统中,一台高端存储承载多个业务系统,通过划分 Zone,避免各业务系统相互影响。划分 Zone 或 vLAN 的总体策略是保证双交换组网,即在每个交换平面上,每个主机节点与每个存储控制器均有物理通道。

在本次SAN组网中需要划分三组Zone,第一是主机和两台双活存储前端口的通信,第二是两台双活存储之间的FC端口通信,第三是生产一台存储和灾备一台存储之间的异步复制的FC端口通信。
每台主机共2个FC端口分别与2台SAN交换机相连,即1个FC端口连接一台SAN交换机上的一个端口。

每台存储的共使用3组前端口与2台SAN交换机相连,用于和主机端口划zone。这3组前端口按照业务种类分为DB2数据库、ORACLE数据库、应用服务器三组,每组8个端口,分别和2台SAN交换机相连,即每组中4个端口连接1台SAN交换机。

在以上主机、存储和SAN交换机的端口连接规则确定好之后,可以规划主机和存储前端口的zone了。每台主机的一个FC端口和该SAN交换机上连接存储的某一组端口建zone,比如一台DB2数据库服务器分别连接交换机A和B的各一个端口,这个一个端口分别和交换机上连接存储的4个端口组建zone。

存储双活链路建zone,两台双活存储各使用IO平面上下左右四个象限中四张HBA卡中8个端口进行互联,即建立八条双活复制链路。

存储异步布置链路建zone,两台异步复制的存储各使用IO平面上下左右四个象限中四张HBA卡中另外8个端口进行互联,即建立八条异步复制链路。

4.3 单台存储配置

4.3.1 存储池
全闪存存储建议存储池创建时使用RAID6配置。本项目中的三台存储均配备36块3.84TB NVMe硬盘,每天存储建一个存储池,涵盖本存储所有硬盘。

在存储池的容量的规划和使用方面,有一些细节需要特别关注。第一,为保证业务正常运行,在存储池中预留所有LUN容量的0.5%用于保存特性的元数据。第二,为保证业务正常运行,在双活LUN所属的存储池中预留一定容量。单独使用双活特性时,在存储池中预留该LUN容量的0.5%用于保存元数据。叠加使用快照或异步远程复制特性时,在存储池中预留该LUN容量的31%。预留空间包括两部分:一部分用于保存元数据,约占1%;另一部分用于保存写前拷贝,约占30%。叠加使用非快照及非异步远程复制特性时,在存储池中预留该LUN容量的1%用于保存元数据。第三,组成双活Pair的LUN所在的存储池使用的存储介质一致、配置信息一致(RAID策略等)。

4.3.2 LUN

华为高端全闪存OceanStor Dorado 18000 V6系列存储系统设计所有LUN默认创建为thick LUN,以节省物理可用容量。对于映射给同一主机或者主机组的所有LUN建议放在同一个LUN组中,以LUN组为单位进行映射、双活一致性组和远程复制一致性组的关系建立和维护。另外,单个 LUN 的容量方面,在结合主机容量需求和存储可用容量满足的前提下,尽量建容量大的 LUN,以简化存储的管理开销。

4.3.3 映射视图
映射视图定义了 LUN、阵列端口、主机端口之间的逻辑映射。

LUN 组是为了便于 LUN 资源管理而设计的一个对象。一般情况下,将同一种业务的 LUN 加入到一个 LUN 组内,如某一淘 Oracle RAC 的所需要的多个LUN。

主机组是一组需要共享存储资源的“主机”,每个“主机”包含多个启动器(主机端口)。为每一个服务器创建一个“主机”,将该服务器的所有启动器添加到该“主机”内。

建映射关系建议按照在主机组和LUN组一对一进行建立映射,使主机组中每一台主机都可以扫描到LUN组中的每个LUN。

4.3 双活配置

双活配置主要包括双活复制网络配置、仲裁网络配置、多路径软件安装配置、HyperMetro配置等内容。

首先按照SAN组网中制定的策略实施两台双活存储之间的FC连接并在交换机中建好对应的ZONE,本项目中采用了八条FC通道用于双活复制。

其次仲裁服务器为一台PC服务器,与两台双活存储之间采用以太网相连。在仲裁服务器上安装好华为提供的仲裁软件并在其中配置上两台双活存储的以太网地址即可。

第三,多路路径软件安装配置包括主机侧和存储侧两块。主机侧配置在下面小节介绍。存储侧配置是在建立‘主机’时可以对主机访问模式进行选择,包括负载均衡和本端优选模式。本项目中两台双活存储部署于同一中心,因此选择负载均衡模式。

最后HyperMetro配置包括检查或导入license、对端存储添加鉴权用户、添加远端设备、创建双活域、为LUN组创建双活一致性组。

4.4 远程复制配置

远程复制配置主要包括远程复制网络配置、HypeReplicatin配置等内容。

首先按照SAN组网中制定的策略实施两台生产中心一台存储和灾备中心一台存储之间的FC连接并在交换机中建好对应的ZONE,本项目中采用了八条FC通道用于远程复制。

其次HypeReplicatin配置包括检查或导入license、对端存储添加鉴权用户、添加远端设备、为LUN组创建远程复制一致性组等内容。

4.5 主机配置

主机端配置主要涉及华为多路径软件UltraPath的安装配置。UltraPath软件的安装过程相对简单,安装包上传解压之后执行其中的安装脚本即可,但是在这里特别对安装过程中最后一步骤突出提醒一下。

在安装完成后会出现是否立即重启的选项,如下所示:

这里要注意一下,不能直接重启操作系统,否则UltraPath安装过程中对系统所修改的某些参数会失效(主要是对HBA卡的链路超时机制linkdown_tmo参数进行了30秒到5秒的修改)。需要先使用命令更新操作系统镜像(upLinux updateImage),然后重启操作系统。

5 3DC架构测试

在整体架构实施完成后,我们进行了全面的测试,包括单台存储、双活存储以及3DC架构的功能测试、高可用测试和性能测试,总体测试结果令人满意。本章节对其中的性能测试和高可用性测试进行简单概述。

5.1 测试环境配置

主机:2台32C、500G内存PC服务器,安装SUSE 12 SP5操作系统。

存储:A、B、C三台存储组成3DC架构,A、B本地双活,B、C为同城异步复制关系。

三台存储分别建16个500GBLUN,存储AB上的16个LUN组建双活一致性组,构建16个双活LUN后映射给两台测试主机。存储BC上的16个LUN组建远程复制一致性组。

测试业务场景:在两台主机上使用测试软件vdbench对16个双活LUN进行持续读写测试。参数设置如下:I/O size为8KB,100%随机,70%读,30%写。预热2分钟,测试执行10分钟。多次调整threads的数值,记录IOPS以及平均读写延迟。

5.2 性能测试结果

针对单存储、双活存储和3DC架构三种架构,分别测试“8K IO+全随机+70%读”、

“8K IO+全随机+100%写”、“32K IO+ 全随机+70%读”的三种业务场景。记录在主机CPU达到100%或者HBA卡带宽到上限后的测试数据汇总如下。

根据测试结果,总结如下:
(1)单存储架构下,由于写IO直接写本存储cache,读IO需要从本端存储的磁盘读上来, 100%写场景下时延均比70%读(即30%写)场景的时延更小。
(2)在双活架构下,写IO需要双写到两台存储的cache,IO在双活复制FC链路来回增加了时延,而读IO只需要从本端存储的磁盘读上来,所以100%写场景下时延比70%读(即30%写)场景的时延更大。
(3)三种IO场景在单存储、双活存储、3DC架构下IO时延均依次增加。原因分别是:双活存储相对与单存储增加了双活两台存储之间复制链路的来回IO时延;3DC架构下,当业务压力较大时,由于B存储既要处理双活又要处理远程复制,性能较双活场景会降低。

5.3 高可用测试结果

针对单存储、双活存储和3DC架构三种架构的各种高可用性测试场景非常多,这里只列举关注度比较高的双活架构下的几个高可用测试结果,仅供参考。

6 总结

本文结合我农信社实际经验,介绍了生产环境中基于华为高端全闪存OceanStor Dorado 18000 V6系列存储本地双活+同城异步复制的3DC架构实施方案。生产中心使用两台华为高端全闪存OceanStor Dorado 18000 V6实现免网关Active-Active双活架构,主机IO通过多路径策略写到任一台存储并自动实时同步到另一台,任一台存储设备故障均不影响上层业务系统运行。同时,生产中心这两台存储与灾备中心的一台华为高端全闪存OceanStor Dorado 18000 V6之间进行数据异步复制,从而实现生产数据三副本的高可用架构。这套存储架构将用于支撑即将新上线的多个重要数据库和应用系统,为支持我行金融业务的飞速发展发挥重大作用。

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

12

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

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

作者其他文章

相关文章

相关问题

相关资料