随着业务的发展,证券公司业务对IT的需求也越来越高,当前业务系统稳定性、可靠性、业务连续性面临严峻的挑战。而存储作为数据中心最为核心的基础资源之一,存储产品型号选择、存储架构设计、存储高可用性、存储性能、存储可扩展性、存储可维护性等因素均对应用业务的稳定运行起着非常关键的作用。
作为国内大型券商企业,近几年伴随着老一批存储的逐渐退役,我司引入了华为全闪存存储用于生产系统应用的运行。本文结合华为存储相关最佳实践和我司长期使用多家厂商的全闪存存储实践经验,就华为中端全闪存存储的实践经验进行分析、总结和分享。
根据国标“《证券期货业数据分类分级指引》”,证券公司应用系统数据可做如下分类分级:
根据国标《证券基金经营机构信息技术管理办法》证券行业应用系统故障和灾备应对能力要求如下:
证券基金经营机构信息系统备份能力、数据备份能力、故障应对能力、重大灾难应对能力、实时信息系统、非实时信息系统以及备份能力等级相关定义参见中国证监会关于信息系统备份能力相关行业标准。
即参考国标《证券期货经营机构信息系统备份能力标准》 。
(1)实时业务系统对存储读写时延敏感:
(2)混合介质存储架构的性能瓶颈:
(3)现网存储设备集中到保:
(4)存储容量空间接近耗尽:
(5)私有云海量VM环境下的高IO并发问题:
(6)存储TCO降低:
(1)业务连续性架构要求
在存储的选择与架构设计上,我们需要充分考虑存储的稳定性、高可用性、性能以及产品的市场和行业口碑情况等诸多因素,以保证业务的连续性。设计要求如下:
(2)存储技术先进性、前瞻性规划要求
(3)存储产品和架构选型
(4)存储环境架构冗余性设计要求
(5)存储扩展能力要求
(6)存储性能能力要求
(7)存储资源利用和资源预留
(8)成本降低
(9)存储高效的运营和运维能力要求
总结分析来讲:华为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系列全闪存中端存储逻辑架构示意图 :
华为OceanStor Dorado 5x00系列全闪存中端存储控制器互联架构图:
通过华为OceanStor Dorado 5000系列中端存储HyperMetro特性实现双活架构。设备部署在东莞数据中心(A区域和B区域),两个区域可同时承担相同业务,提高数据中心的整体服务能力和系统资源利用率,当单区域故障时,业务自动切换到另一个区域。方案逻辑示意图如下所示:
另外主机多路径为负载均衡模式:该模式下可实现 I/O的跨阵列负载均衡,即I/O以分片的方式在两个阵列上下发。
根据项目配置,每一套华为OceanStor Dorado 5x00 Hypermetro组网需申请的资源为:
业务网络:每个控制器出8个FC口,双交换组网,共计16根FC线。
管理网络:每套存储2个管理口(RJ45),管理IP,连接AB控。连接不同交换机。
复制网络:每个控制器出4个FC口,双交换平行组网,共计8根FC线。
仲裁网络:与管理网络复用。
仲裁服务器:可用物理机或虚拟机,建议部署在独立区域,最多部署2台仲裁服务器(2台必须在同一区域),每个仲裁服务器1个仲裁地址,1个管理地址。
机柜空间:控制框2U×1,合计2U
后端(扩容预留)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
以A、B两个区域分别部署1台存储、1台主机的双活交叉组网为例,将业务流量与双活复制流量分开,并将不同主机的业务流量均分到不同的端口上。
硬盘域规划:创建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%
存储系统中,系统数据的容量开销主要包括标称容量差值、热备空间、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
华为OceanStor Dorado系列存储系统创建的LUN都是thin LUN,thin LUN是主机可访问的一个逻辑硬盘。存储系统不会一次性分配已设置的容量给该LUN,在该LUN容量范围内,存储系统会根据主机实际使用的容量动态分配存储资源,实现按需分配。
- 我司主存储数据缩减技术选择:
1)针对全闪存存储启用的数据压缩消重功能,根据经验核心业务、数据库场景一般压缩比可达2~3倍,虚拟化场景一般的压缩比可达1.7~2倍;
2)所有全闪存存储只开压缩不开重删:全局重删会极大的增加系统的matadata维护量和复杂度带来风险,另外大部分场景下数据节约收益的70%-90%来自压缩,开重删的风险高收益小(备份场景除外)。
根据经验在大部分场景(除去VDI、clone、备份场景后)下数据节约主要收益来自于压缩,特别是对企业级主存储系统数据节约收益的70%-90%来自压缩。
存储替换迁移关键策略:
由于系统架构越来越复杂、数据类型越来越多样性,存储替换迁移工作也需要越来越细致。存储替换迁移其实也是一个数据迁移的过程,首先我们需要充分了解常用的存储数据迁移技术。为了高效、安全、完整地完成存储替换迁移任务,我们需要结合不同存储各自系统特点及所承载业务系统的类型特点有策略地开展迁移相关的工作。针对不同的系统及不同的应用场景制定有针对性的迁移方案,切不可一刀切,也不能指望通过一个迁移方案就能够完成所有类型数据的迁移,没有绝对最好最完美的方案,只能根据实际情况形成符合自身的方案。
- 证券公司业务的特点和我司主要采用的数据迁移方案:
1)证券公司业务的特点为应用、DB的数据量均不是巨大规模容量类型(例如不存在超过100TB数据量的单库),大量业务应用在非交易时间段可安排停机窗口,IT基础架构虚拟化占比超过70%;
2)我司主要采用“虚拟机在线漂移、文件复制、数据库层复制”等数据迁移技术方案(各方案详细说明见下表)。
在选择迁移技术或工具时,一定要充分结合自身网络环境及对业务连续性的要求,选择最优的迁移方法,实现期望值。一般会根据数据类型选择不同的迁移工具或技术实现跨存储的数据安全平稳迁移。
- 数据迁移完整性保障:
一是数据完整性及一致性验证工作,比如迁移前后数据库信息的校对,文件系统则可以统计文件inode数和文件MD5校验;
如果采用文件复制方案还需特别注意迁移前后文件系统目录和文件的权限校对,确保在使用rebocopy、rsync复制后的目标目录权限/ACL的一致性。
- 制定完善的应急预案及回退方案
迁移实施操作迁前做好数据备份,数据备份作为最后一根救命稻草务必确保一定做了数据备份,备份可以是NBU专业备份软件的备份、DBA的一份export或应用人员copy到服务器本地盘的一份冷copy数据等。
迁移前和应用运维人员做好充分沟通,对其说明迁移过程中的影响评估(性能影响、停机时长等)以及可能出现意外突发情况,从应用层、数据库层、主机、存储层做好相应的应急预案及回退方案。
队列深度(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-Depths)注意事项:
队列深度的存在,在流水线上的每个不同环节设置缓冲空间(Buffer),使正常流水线数据传送从进紧耦合变成了松耦合。简单来讲从主机访问存储存在很多层的Queue(软硬件在传输过程中设计的Buffer大小,将串行流水线操作模拟成并行操作的一种并发交易模拟机制)。在IO处理没有卡顿时,有Queue 和没有Queue 的效果是一样的。使用Queue-Depths 传送机制的系统中,整个系统的吞吐量和延迟由性能最差的那个部位决定。
在进行磁盘数目的考虑主要是考虑到每个系统对于LUN的队列深度的考虑。具体的队列深度不同的平台有不同参数值,这些参数值需要考虑到如下几个组件:
由于队列深度直接导致了主机同时对存储卷写入或者读取的IO数量,所以每个不同的系统在应用系统对于存储卷写入或者读取上一定会取决于存储卷的数目。如果存储卷数目太少,应用系统IOPS过大势必将会导致大量IO在系统层面或者其他(HBA)上进行等待,这样就会造成应用系统的响应升高。
全闪存意味着需要更高速、低时延的网络,意味网络链路问题影响的放大化!
我司采用“虚拟机在线漂移、文件复制、数据库层复制”等数据迁移技术方案,圆满实现了应用系统的跨存储品牌安全平稳迁移。
总体上近3年在生产环境中,华为OceanStor Dorado中端全闪存存储的运行和实践效果良好,存储架构能力、高可用能力、性能能力、稳定性可靠性能力体验良好。
同时针对华为OceanStor Dorado全闪存存储开启压缩、thin超分配功能使得在不降低性能能力的情况下降低了存储容量成本。全闪存单位容量密度的大幅提升节约了50-70%的机房空间占用和45%的电力消耗,从而大幅降低了总体成本。OceanStor Dorado全闪存存储的备件故障率明显降低,特别是SSD盘相比机械盘低的多的故障率节省了运维人员大量人力时间。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞6
添加新评论2 条评论
2022-11-24 13:36
2022-11-23 10:41