wangshuai_go
作者wangshuai_go2022-11-15 10:03
存储工程师, 证券

证券企业基于华为全闪存存储实践经验分享

字数 8965阅读 953评论 2赞 4

1 前言

随着业务的发展,证券公司业务对IT的需求也越来越高,当前业务系统稳定性、可靠性、业务连续性面临严峻的挑战。而存储作为数据中心最为核心的基础资源之一,存储产品型号选择、存储架构设计、存储高可用性、存储性能、存储可扩展性、存储可维护性等因素均对应用业务的稳定运行起着非常关键的作用。

作为国内大型券商企业,近几年伴随着老一批存储的逐渐退役,我司引入了华为全闪存存储用于生产系统应用的运行。本文结合华为存储相关最佳实践和我司长期使用多家厂商的全闪存存储实践经验,就华为中端全闪存存储的实践经验进行分析、总结和分享。

2 背景需求

2.1 证券行业应用系统数据分类分级

根据国标“《证券期货业数据分类分级指引》”,证券公司应用系统数据可做如下分类分级:

2.2 证券行业应用系统故障和灾备应对能力要求

根据国标《证券基金经营机构信息技术管理办法》证券行业应用系统故障和灾备应对能力要求如下:

证券基金经营机构信息系统备份能力、数据备份能力、故障应对能力、重大灾难应对能力、实时信息系统、非实时信息系统以及备份能力等级相关定义参见中国证监会关于信息系统备份能力相关行业标准。

即参考国标《证券期货经营机构信息系统备份能力标准》 。

2.3 存储发展中遇到的难题

图.存储发展中遇到的难题

图.存储发展中遇到的难题

(1)实时业务系统对存储读写时延敏感:

  • 现网核心交易系统对存储的读写时延性能指标要求较高,对基础架构稳定性要求极高,特别是在交易时间段不能出现任何问题。

(2)混合介质存储架构的性能瓶颈:

  • 我司老一代存储采用的是SSD+SAS盘的混合分层架构,SSD介质作为热数据缓存区或承载tier1性能卷,SAS机械盘做为主存区或承载tier2性能卷,该架构是性能和容量成本妥协平衡的产物。该架构在应对突发型高IO并发、高带宽负载、IO读写命中率低的场景时会有明显的性能波动情况出现(IO命中率低需要直接从SAS盘大量读数据场景影响尤其明显)。

(3)现网存储设备集中到保:

  • 核心存储设备老旧,可靠性降低,伴随着部件老化存储设备故障率也出现了明显的上升情况;
  • TCO较高,后期运维成本高,且扩容难度大扩容成本高。

(4)存储容量空间接近耗尽:

  • 业务发展过快,现网存储空间接近耗尽越来越难以满足业务需求,需尽快发起设备替换并在替换过程中完成存储容量的扩容。

(5)私有云海量VM环境下的高IO并发问题:

  • 证券公司IT基础架构虚拟化占比超过70%,混合分层架构应对海量VM高IO并发访问容易出现性能瓶颈,需转向全闪存架构存储从而提升IO性能。

(6)存储TCO降低:

  • 和大多数企业类似,我司IT信息系统持续建设遇到的一大难题是:IT信息系统迅速发展,各类业务系统年年扩容设备上线数量越来越多,导致机柜空间、能耗、制冷等机房资源消耗一增再增。而存储TCO的降低需要从此方面进行深入考虑。

3 存储规划思路和建设目标

(1)业务连续性架构要求
在存储的选择与架构设计上,我们需要充分考虑存储的稳定性、高可用性、性能以及产品的市场和行业口碑情况等诸多因素,以保证业务的连续性。设计要求如下:

  • 确保应用业务系统的总体高可用,建立健全的故障应对和灾备应对方案;
  • 确保业务系统所选用的存储型号设备,在金融行业和证券行业内有大量的案例,长期以来市场口碑良好为久经市场验证的稳定性产品。

(2)存储技术先进性、前瞻性规划要求

  • 业务对存储设备性能要求也越来越高,部分重要业务需提高存储层面处理能力,确保所选存储型号类型非上一代或已淘汰的产品类型或存储技术,选择技术架构先进的较新代产品(稳定产品)以满足未来3-5年的发展需要。
  • 在存储功能方面要考虑技术的先进性,比如数据自动分层、在线压缩、数据重删、精简配置、QoS功能、配置管理的便捷性等,主要根据实际需要选配和使用这些功能。

(3)存储产品和架构选型

  • RAS(Reliability、Availability,Serviceability)到达6个9,存储具备横向扩展能力;
  • 采用面向全闪介质的存储架构以提升性能处理能力,相比较HDD盘或SSD+HDD混合架构在性能方面优势巨大。全闪存阵列有着较高的IOPS和容量密度,一个标准机柜位置可以提供100万以上的IOPS,容量达PB以上,传统存储则需要4-5个机柜才能满足要求,大大减少了空间和能耗的需求,降低用户总体拥有成本。SSD对比传统机械盘,平均无故障工作时间大大提升,SSD换盘概率约为机械硬盘1/10,具有更快的重建时间,减少了风险。

(4)存储环境架构冗余性设计要求

  • 无论是虚拟化环境还是物理机环境,以2台存储为一组进行规划,使用时同一平台或业务的A、B集群(或奇偶集群)主机分别各自接入1台存储,以增加应用总体架构的冗余性,同时降低单台存储故障影响范围;
  • 确保所选存储产品架构设计符合高冗余性,关键部件冗余;
  • 确保从主机、SAN网络光纤链路、到存储的组网设计均为全冗余架构模式;
  • 确保主机端多路径软件运行状态正常;

(5)存储扩展能力要求

  • 规划充足数量的存储前端口以满足未来3-5年的主机端连通接入;
  • 确保存储产品支持进行在线的容量扩容,以应对存储容量不足时的扩容需求;

(6)存储性能能力要求

  • 采用全闪存架构提升性能处理能力;
  • 考虑适当加大存储控制器的cache容量以提升性能能力和优化读写时延;
  • 配置32Gbps存储前端口以保证未来3-5年内端口速率规格不落伍;
  • 存储前端口设计隔离原则,确保核心业务主机采用独立的存储前端口组接入,不同主机集群(虚拟化环境和物理机主机环境)采用各自独立的存储前端口组接入,以做到各个存储前端口组间的流量、故障的相互隔离;
  • 确保执行SAN网络本地化访问策略(主机和存储接入同一台SAN交换机不经过ISL级联),以避免潜在SAN网络全局ISL链路抖动、收敛比超载、queue full、闹邻、慢速设备影响等全局性性能问题。

(7)存储资源利用和资源预留

  • 存储各组件资源尽可能均衡利用。每台存储的控制器及每个前端端口都有Queue Depth和支持的最大LUN数量限制;
  • 规划设计的最大资源利用率不应超过各项技术限制指标及各组件利用率的70%,为存储保留一定的容量和性能能力,应对突发、峰值情况,避免产生性能瓶颈;
  • 基于SAN交换机的特性进行合理规划,存储前端口及主机HBA端口合理布局,物理主机连接存储采用2:2方式(即2主机端口连接2存储端口)保证Initator和Target的收发能力1:1匹配避免阻塞影响时延,虚拟化宿主机连接存储采用2:4方式(即2主机端口连接4存储端口)保证带宽速率。

(8)成本降低

  • 针对全闪存存储启用的数据压缩消重功能,根据经验数据库场景一般压缩比可达2~3倍,虚拟化场景一般的压缩可达1.7~2倍;
  • 所有全闪存存储只开压缩不开重删,全局重删会极大的增加系统的matadata维护量和复杂度带来风险隐患。另外大部分场景下数据节约收益的70%-90%来自压缩,开重删的风险高收益小(备份场景除外);
  • 针对全机械盘或混合存储设备不应开启压缩或去重功能(基于容量换性能的原因)。

(9)存储高效的运营和运维能力要求

  • 存储事件、监控、告警功能能力的支持满足情况;
  • 存储GUI日常操作维护的便捷性和丰富性;
  • 存储CLI、RestAPI支持的完善和丰富性,以满足自动化脚本和程序的调度开发,大幅提升存储运维效率;
  • 通过CLI、RestAPI快速获取存储配置和性能数据支持情况;
  • 存储厂商的的售后质量能力,包括服务能力、专业技术能力、排障及方案设计等能力因素。

4 华为OceanStor Dorado中端全闪存存储架构分析

总结分析来讲:华为OceanStor Dorado中端系列包含5300/5500/5600 ,高端系列包含6800/18500/18800 ,中端和高端的差别主要分为:

(1)高端存储为全互联多控制器可扩展架构,扩展能力更强;
(2)高可用方面高端存储明显强于中端存储,高端存储控制框内前端口不归属单控制器,其和框内所有控制器互联打通,高端存储单控制器重启时主机链路不会发生offline或切换现象,甚至当主机仅一条单链路访问时高端存储控制器故障或重启也不会导致主机访问存储卷中断。中端存储因为前端口在物理上就绑定了控制器归属所以没有具备高端存储的这些能力;
(3)高端存储控制器处理能力、前端口数目、性能负载能力等各方参数能力更强。

以下为华为OceanStor Dorado中端系列的存储架构说明:

全互联设计: 华为 OceanStor Dorado 5x00系列全闪存存储采用智能矩阵式多控架构,消除单点故障,实现系统高可用;多个控制器之间通过负载均衡算法共同承载业务压力;一旦某个控制器发生故障,其他控制器可平滑接管业务,业务 0 中断。

全对称的 A-A 架构:存储架构采用全对称的 A-A 设计,应用服务器可通过任意一个控制器访问到 LUN, IO 无需转发。

盘控一体机控制框设计:全闪存存储系统控制框为2U2控,盘控一体形态,包括25盘位SAS和36盘位NVMe两种硬盘形态。

互连:Scale-Out接口模块采用RDMA协议互联。

后端:后端接口支持12Gb SAS接口模块(接入SAS硬盘框的接口模块)或 100Gb RDMA接口模块(接入智能SAS硬盘框,智能NVMe硬盘框的接口模块)方式连接存储介质。

华为 OceanStor OceanStor Dorado 5x00系列全闪存中端存储逻辑架构示意图 :
图.中端( NVMe)逻辑架构示意图

图.中端( NVMe)逻辑架构示意图

华为OceanStor Dorado 5x00系列全闪存中端存储控制器互联架构图:
图.控互联架构图

图.控互联架构图

5 实施规划

5.1 双活组网规划

通过华为OceanStor Dorado 5000系列中端存储HyperMetro特性实现双活架构。设备部署在东莞数据中心(A区域和B区域),两个区域可同时承担相同业务,提高数据中心的整体服务能力和系统资源利用率,当单区域故障时,业务自动切换到另一个区域。方案逻辑示意图如下所示:

另外主机多路径为负载均衡模式:该模式下可实现 I/O的跨阵列负载均衡,即I/O以分片的方式在两个阵列上下发。

5.2 网络资源规划

根据项目配置,每一套华为OceanStor Dorado 5x00 Hypermetro组网需申请的资源为:
业务网络:每个控制器出8个FC口,双交换组网,共计16根FC线。
管理网络:每套存储2个管理口(RJ45),管理IP,连接AB控。连接不同交换机。
复制网络:每个控制器出4个FC口,双交换平行组网,共计8根FC线。
仲裁网络:与管理网络复用。
仲裁服务器:可用物理机或虚拟机,建议部署在独立区域,最多部署2台仲裁服务器(2台必须在同一区域),每个仲裁服务器1个仲裁地址,1个管理地址。
机柜空间:控制框2U×1,合计2U

Hypermetro组网资源申请合计如下:

5.3 前后端接口规划

设备接口模块槽位分布图如下:

前后端接口规划策略:

后端(扩容预留)BE 12Gb SAS接口模块可安装的槽位号和使用的优先级顺序为:IOM 5 > IOM 4 > IOM 3。IOM2预留于Scale-out扩展控制器用。

相应FC组网前端端口接口模块使用的槽位号和槽位使用优先级为: IOM 0>IOM 1>IOM 3>IOM 4>IOM 5>IOM 2

本项目接口模块槽位及端口规划如下图所示:

5.4 SAN组网规划

以A、B两个区域分别部署1台存储、1台主机的双活交叉组网为例,将业务流量与双活复制流量分开,并将不同主机的业务流量均分到不同的端口上。

项目整体组网规划如下:

5.5 硬盘域及存储池规划

硬盘域规划:创建1个硬盘域
热备策略有4种:无,低,高,自定义。本次使用低热备策略。占用逻辑上1块硬盘容量。
存储池规划:创建1个存储池

华为OceanStor Dorado V6存储系统采用动态RAID技术实现冗余设计,根据RAID中检验位的个数不同提供不同的保护级别。存储系统提供3种保护级别,RAID 5、RAID 6(默认)和RAID-TP。推荐配置RAID-6,允许同时坏2个盘。

在不考虑热备空间的情况下,各不同保护级别的对比分析如下表所示。

RAID利用率 = [ ( RAID列数 - RAID的校验列M) / RAID列数 ] ×100%
RAID列数 = min (存储池成员盘数-预留列数, 25)
预留列数=max(1,热备盘数)
因此本项目raid利用率为[(24-2)/24]*100%=91.67%

5.6 可用容量计算

存储系统中,系统数据的容量开销主要包括标称容量差值、热备空间、raid利用率和其他各类文件系统开销。由于存储系统本身的容量开销,用户能使用的实际容量会小于存储系统提供的容量。实际存储系统的容量开销主要由下面几个部分组成:
1. 标称容量差值
硬盘厂商和操作系统对硬盘容量的定义不同产生的差值。硬盘厂商定义的单位进制为1000,操作系统定义的单位进制为1024。针对TB级的硬盘,容量差距为(1000100010001000)/(1024102410241024),约为90.9%。

2. 热备空间占用
如前文分析,本项目热备空间规划为1块硬盘的容量。即利用率为:(25-1)/25=96%

3. Raid利用率
如前文分析,本项目中raid2.0+推荐采用riad-6(22+2)保护策略,利用率为91.67%

4. 系统占用及保险箱空间预留
系统信息开销占用每块硬盘空间577MB,保险箱空间预留2GB。针对本项目内的3.84TB硬盘,合计消耗的空间约为0.08%

5. 元数据及硬盘均衡性预留
存储系统对每块硬盘预留0.6%作为元数据空间,2%作为元数据备份空间,1%用于提高系统性能和硬盘均衡性。容量利用率计算为1-0.6%-2%-1%=96.4%

6. 一体化容量
硬盘进行扇区格式化时按比例存放校验数据(512/520或4096/4160)。一体化利用率约为98.46%

统计计算项目中单台存储容量估算约为:
253.8490.9%96%91.67%99.92%96.4%*98.46%=72 TB

5.7 LUN规划

华为OceanStor Dorado系列存储系统创建的LUN都是thin LUN,thin LUN是主机可访问的一个逻辑硬盘。存储系统不会一次性分配已设置的容量给该LUN,在该LUN容量范围内,存储系统会根据主机实际使用的容量动态分配存储资源,实现按需分配。

LUN主要配置参数如下:

6 全闪存存储实践经验分享

6.1 数据缩减技术的选择和成本降低

- 我司主存储数据缩减技术选择:
1)针对全闪存存储启用的数据压缩消重功能,根据经验核心业务、数据库场景一般压缩比可达2~3倍,虚拟化场景一般的压缩比可达1.7~2倍;
2)所有全闪存存储只开压缩不开重删:全局重删会极大的增加系统的matadata维护量和复杂度带来风险,另外大部分场景下数据节约收益的70%-90%来自压缩,开重删的风险高收益小(备份场景除外)。

不同workload种类下的压缩和重删收益比:

根据经验在大部分场景(除去VDI、clone、备份场景后)下数据节约主要收益来自于压缩,特别是对企业级主存储系统数据节约收益的70%-90%来自压缩。

- 主存储系统开启重删和压缩的风险收益分析:

- 根据经验我总结和建议数据缩减技术选择如下:

6.2 跨存储数据迁移

存储替换迁移关键策略:
由于系统架构越来越复杂、数据类型越来越多样性,存储替换迁移工作也需要越来越细致。存储替换迁移其实也是一个数据迁移的过程,首先我们需要充分了解常用的存储数据迁移技术。为了高效、安全、完整地完成存储替换迁移任务,我们需要结合不同存储各自系统特点及所承载业务系统的类型特点有策略地开展迁移相关的工作。针对不同的系统及不同的应用场景制定有针对性的迁移方案,切不可一刀切,也不能指望通过一个迁移方案就能够完成所有类型数据的迁移,没有绝对最好最完美的方案,只能根据实际情况形成符合自身的方案。

- 证券公司业务的特点和我司主要采用的数据迁移方案:
1)证券公司业务的特点为应用、DB的数据量均不是巨大规模容量类型(例如不存在超过100TB数据量的单库),大量业务应用在非交易时间段可安排停机窗口,IT基础架构虚拟化占比超过70%;
2)我司主要采用“虚拟机在线漂移、文件复制、数据库层复制”等数据迁移技术方案(各方案详细说明见下表)。

常见数据迁移技术总结分享:

在选择迁移技术或工具时,一定要充分结合自身网络环境及对业务连续性的要求,选择最优的迁移方法,实现期望值。一般会根据数据类型选择不同的迁移工具或技术实现跨存储的数据安全平稳迁移。

- 数据迁移完整性保障:
一是数据完整性及一致性验证工作,比如迁移前后数据库信息的校对,文件系统则可以统计文件inode数和文件MD5校验;

如果采用文件复制方案还需特别注意迁移前后文件系统目录和文件的权限校对,确保在使用rebocopy、rsync复制后的目标目录权限/ACL的一致性。

- 制定完善的应急预案及回退方案
迁移实施操作迁前做好数据备份,数据备份作为最后一根救命稻草务必确保一定做了数据备份,备份可以是NBU专业备份软件的备份、DBA的一份export或应用人员copy到服务器本地盘的一份冷copy数据等。

迁移前和应用运维人员做好充分沟通,对其说明迁移过程中的影响评估(性能影响、停机时长等)以及可能出现意外突发情况,从应用层、数据库层、主机、存储层做好相应的应急预案及回退方案。

6.3 存储资源阈值和资源预留规划

  • 存储各组件资源尽可能均衡利用。每台存储的控制器及每个前端端口都有Queue Depth数量限制和支持的最大LUN数量限制;
  • 规划设计的最大资源利用率不应超过各项技术限制指标及各组件利用率的70%,为存储保留一定的容量和性能能力,应对突发、峰值情况,避免产生性能瓶颈;
  • 针对全闪存存储启用的数据压缩功从而降低成本,根据经验核心业务、数据库场景一般压缩比可达2~3倍,虚拟化场景一般的压缩比可达1.7~2倍;
  • 针对全闪存存储开启thin超额分配功能,保守期间按照数据库和虚拟化场景压缩比较低的一方进行总体容量的规划,规划压缩比为1.8倍,总容量超分比最好不要超过170%;
  • 针对HDD或SSD+HDD混合架构存储不建议开启压缩和thin超分功能(基于容量换性能的原因)。

6.4 IO并发队列的考虑

队列深度(Queue-Depths)是指主机端单个LUN可以一次被允许并行的处理的I/O数目(SCSI命令)。例如QD=32,代表可以在同一个时刻并行对该LUN做32个IO操作。

在SCSI命令层面,每个从发送端(initiator)主机HBA 卡端口发送到接收端(target)存储HBA卡端口的IO request都会消耗一个Queue 条目。

一般来说,更高的队列深度相当于更好的性能。如果存储控制器/节点到达最大队列深度并耗尽,存储控制器将拒绝新的传入命令并通过返回QFULL回应主机从而引起性能的降低。如果大量的主机访问存储控制器,你应该仔细计划,以避免QFULL条件显著降低系统性能和在某些系统会导致错误。

Queue-depth、IOPS、latency之间关系和计算公式:

  • Queue-depth=IOPS x Response Time (10Q = 10000IOPS x 1ms)
  • IOPS = Queue-depth/latency (10000IOPS = 10Q/1ms)
  • IO Queue Memory = IO Queue Depth * size of (IOP Descriptor + Transfer Buffer)

有关队列深度(Queue-Depths)注意事项:

队列深度的存在,在流水线上的每个不同环节设置缓冲空间(Buffer),使正常流水线数据传送从进紧耦合变成了松耦合。简单来讲从主机访问存储存在很多层的Queue(软硬件在传输过程中设计的Buffer大小,将串行流水线操作模拟成并行操作的一种并发交易模拟机制)。在IO处理没有卡顿时,有Queue 和没有Queue 的效果是一样的。使用Queue-Depths 传送机制的系统中,整个系统的吞吐量和延迟由性能最差的那个部位决定。

在进行磁盘数目的考虑主要是考虑到每个系统对于LUN的队列深度的考虑。具体的队列深度不同的平台有不同参数值,这些参数值需要考虑到如下几个组件:

  • HBA卡的队列参数
  • 聚合磁盘的队列深度参数
  • 路径磁盘的队列深度参数

由于队列深度直接导致了主机同时对存储卷写入或者读取的IO数量,所以每个不同的系统在应用系统对于存储卷写入或者读取上一定会取决于存储卷的数目。如果存储卷数目太少,应用系统IOPS过大势必将会导致大量IO在系统层面或者其他(HBA)上进行等待,这样就会造成应用系统的响应升高。

Linux建议调整的参数说明如下表:

6.5 SAN网络链路问题

全闪存意味着需要更高速、低时延的网络,意味网络链路问题影响的放大化!

典型SAN网络链路相关问题及处理预案:

  • 链路光衰问题:

6.6 双活站点故障和恢复测试






7 效果和收益


8 总结

我司采用“虚拟机在线漂移、文件复制、数据库层复制”等数据迁移技术方案,圆满实现了应用系统的跨存储品牌安全平稳迁移。

总体上近3年在生产环境中,华为OceanStor Dorado中端全闪存存储的运行和实践效果良好,存储架构能力、高可用能力、性能能力、稳定性可靠性能力体验良好。

同时针对华为OceanStor Dorado全闪存存储开启压缩、thin超分配功能使得在不降低性能能力的情况下降低了存储容量成本。全闪存单位容量密度的大幅提升节约了50-70%的机房空间占用和45%的电力消耗,从而大幅降低了总体成本。OceanStor Dorado全闪存存储的备件故障率明显降低,特别是SSD盘相比机械盘低的多的故障率节省了运维人员大量人力时间。

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

4

添加新评论2 条评论

匿名用户
2022-11-24 13:36
写得很详细,说得很明白。华为存储值得信赖!
whitewindmindwhitewindmind系统工程师, 浙商证券
2022-11-23 10:41
版主对存储各项性能指标参数都做了全面阐述和深入的分析,同时还有详细的架构设计及说明,以及单边故障的演练测试,验证双活的可用性。版主整篇文章几乎都以数据说话,非常直观,值得同业借鉴。
Ctrl+Enter 发表

本文隶属于专栏

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

作者其他文章

相关文章

相关问题

相关资料