lulacc
作者lulacc2019-06-11 16:40
存储架构师, 某银行

某银行基于全闪的交易系统架构设计实践,保障交易峰值过万TPS

字数 6551阅读 5248评论 5赞 10

摘要:

本文简单回顾了闪存介质的优点,结合企业级应用的要求,围绕如何有效发挥闪存介质长处,构造具备高可用高性能特点的存储基础架构,同时建设相对完备的存储运维体系,进行了一些思考。

背景

随着云计算、大数据及人工智能、社交媒体、移动互联网、物联网等新一代信息技术的快速发展及日臻成熟,金融行业数据中心正不断深化向数字化转型,以满足金融行业深刻变革和迅猛发展的需要。
一方面,由于金融行业交易事务的强一致性及高实时性要求和用户服务移动互联网化,交易类业务TPS峰值增长很快,如双十一购物节交易峰值等,对金融行业数据中心基础架构性能处理能力提出了更高的要求。
另一方面,金融行业正在经历从传统应用场景到面向互联网应用场景的巨大转变。如移动支付、移动APP、大数据、AI等,以用户为中心打造客户生态体系,极大地提升了客户体验。
随着金融行业数据中心规模越来越大及服务SLA要求越来越高,需要进一步提升数据中心运维能力,达到自动化、数字化、一体化运维目标。

存储技术的发展

最接近内存效率的新型存储介质SCM(Storage Class Memory)已经出现,响应时间达到1微秒级别。具备持久化(Storage Class)和快速字节级访问(Memory)的特点,读写时也没有NAND Flash顺序写入和写前擦除的约束;同时SCM介质的在寿命和数据保持能力方面的表现也远超NAND Flash。基于这些特点,业界普遍认为SCM会成为颠覆存储系统设计的新一代介质,并优先应用于性能和可靠性要求较高的场景。存储介质特性比较如下:
jf11zc2b1o8

jf11zc2b1o8

SCSI/SAS协议适合于机械硬盘场景(机械设备),单队列单命令执行。SSD/SCM盘性能已十分优异,需要NVMe协议来提升读写效率,多队列多命令同时执行。NVMe协议(Non-Volatile Memory Express,非易失性内存主机控制器接口规范)是基于设备逻辑接口的总线传输协议规范,相当于通信协议的应用层。近些年来已经标准化,相关技术日渐成熟已达到企业级应用标准。NVMe协议指令集简洁且并发高,具体优势包括:
1.CPU直接访问存储介质,效率更高;
2. SCSI/SAS协议单队列单命令执行, NVMe协议支持多队列多命令并发执行。NVMe 接口的SSD盘性能得到充分发挥;
3.性能有数倍的提升;
4.由于NVMe指令集简洁,大幅降低了IO时延。
vcq3crfg1wo

vcq3crfg1wo

如下图例可以看出不同存储介质和接口协议搭配时的IO效率情况,存储后端存储介质和传输协议正在向内存级访问效率靠近。存储后端采用NVMe传输协议访问SCM介质将达到最低时延及极好的IO性能。基于目前的存储技术发展现状,采用NVMe传输协议和采用Nand Flash及SCM介质将很快成为业界主流。
icmwajysfyg

icmwajysfyg

另外NVMeoF传输技术也逐渐应用到主机访问存储,主机端采用支持NVMe协议的高速卡访问全闪存储将利于降低时延及获得更好的IO性能。下一步也将关注NVMeoF技术发展及成熟度。

应用场景对应存储类型分类

不同应用类型的业务重要性不同、应用场景不同,工作负载的读写特性需求不同,其对应的存储数据访问需求也不同。基于应用对基础架构进行必要的解耦,按照应用类型创建生产环境存储资源池,以便提高IT资源利用率、增强系统可用性、提升业务运行及响应能力、节省IT投入。当前大的应用场景分类如下:
l3l1c5pxygr

l3l1c5pxygr

基础架构设计

关键系统的可靠性是第一重要的,宕机时间将严重影响生产工作,范围广、影响大、损失重;同时需要提供稳定可预期的性能以满足业务增长的需要。采用RAS(Reliability、Availability,Serviceability)级别最高的高端存储是必要的,并要求高端存储具备横向扩展能力。

建设数据中心基础架构资源池,建立AB防火区机制,从机房基础设施、存储、主机、网络、数据库到应用全方位的高可用保护。本地采用Mirror技术避免单存储故障,异地采用应用同步,达到机房级别的容灾保护,能有效保障数据中心安全运行。依托AB防火区形成统一的虚拟化基础架构资源池,有效利用基础架构资源,保持横向扩展能力,有效支撑金融行业业务快速发展。

业务连续性架构设计

为保证关键系统的业务连续性,当本地发生灾难时可以快速将关键业务切换到异地继续运行,采用了如下多种容灾方式,以极低时间的RPO(Recovery Point Objective)及RTO(Recovery Time Objective)快速恢复生产业务,满足金融行业监管要求。
1.使用基于数据库日志的复制软件;
2.使用存储级的远程复制技术;
3.异地双活部署;
4.前端应用服务异地部署。

存储及SAN整体规划

基于存储和SAN设备的产品特性,主要遵循如下几点建设规则:
1.按照应用场景分类,不同的应用类型数据放在对应的虚拟存储池中。关键业务系统全部放在闪存存储池以保证读写响应时间,满足实时性要求;
2.重要交易类业务和分析类业务不放在同一个存储上,避免重要交易类业务响应时间受到影响;
3.根据应用需要,通过设置存储级的响应时间服务级别来保证重要系统的读写响应时间要求;
4.存储各组件资源尽可能均衡利用。每台存储的控制器及每个前端端口都有Queue Depth和支持的最大LUN数量限制;
5.规划设计的最大资源利用率不应超过各项技术限制指标及各组件利用率的70%,特别重要的不超过50%,避免产生性能瓶颈;
6.必要时采用存储的QOS机制来避免应用系统之间相互影响;
7.生产SAN设备均采用高端交换机,产品架构上具有高可用性,关键部件冗余。生产SAN交换机之间不级联,减少设备故障及链路抖动带来更大的影响面,避免灾难发生;
8.基于SAN交换机的特性进行合理规划,存储前端口及主机HBA端口合理布局;
9.主机端系统相关配置及设置符合存储产品最佳实践要求。

银行基于Vmax全闪存存储交易系统实践

当前互联网业务交易峰值设计目标是超过10000TPS。考虑到我行互联网业务交易峰值大实时性要求高,基础架构在存储选型方面采用了RAS及性能方面处于领先的Vmax全闪高端存储。

底层基础架构设计

本地高可用基础架构示意图如下,采用Oracle ASM RAC数据库,做ASM Disk Group Mirror镜像保护,避免单点故障,达到机房容灾级别保护。
1lq6qtfl26z

1lq6qtfl26z

数据双活业务连续性

数据采用Oracle GoldenGate进行本地和远程复制容灾,实现读写分离。
我行采用OGG DownStream模式有如下考虑:
1.日志在本地存两份(数据实例、OGG实例),数据丢失更少;
2.将数据库与OGG隔离,最大程度的降低OGG影响;
3.OGG的抽取和复制服务均加入到CRS集群中,提供故障自动切换的能力;
4.抽取服务和复制服务主活在不同的节点,充分利用系统资源;
5.日常运维服务不停业务。

存储基础架构建设思路

基础架构资源主要从如下几个方面予以重点保障:
1.降低该应用主机使用的HBA端口虚拟化数量,避免IO通道资源争抢;
2.避免较大IOPS或吞吐量的应用系统与该系统共用存储前端端口,降低存储端口利用率;
3.使用全闪存储资源,在全闪存储内部设置为钻石服务级别,保证极低的响应时间;
4.同一台存储上错开互联网业务高峰期间进行备份作业;
5.避免将高峰时间段繁忙的业务系统放在同一台存储上,既可以避免影响互联网业务,又可以达到存储资源充分利用的目标;
6.按照存储产品最佳实践配置。

项目建设实践成果

联合压力测试时TPS峰值达到15000 TPS预期目标,根据推算平台压力承载能力预计达到20000 TPS。我行实际投产TPS峰值达到8000 TPS,成功经受住海量支付请求的考验。

在实践过程中发现,IOPS及实时性要求高的主机访问Vmax全闪存储通道条数为8通道时,可以更好的平滑系统层面Burst IO带来的毛刺现象。

从Vmax全闪存储端性能分析,TPS峰值时间段响应时间达到0.3ms以下,已完全满足互联网业务海量交易实时性要求,交易顺畅、无时延感知支付成功保障了用户购物体验。

全闪存储架构实践收益

当前在启用压缩情况下全闪存储价格已经比传统存储价格低廉许多。关键系统使用全闪高端存储后,数据中心经济收益提升显著,体现如下:
1.响应时间大幅降低:读写工作负载平均响应时间从原来的几个毫秒级大幅降低到0.5毫秒以下;
2.存储空间大幅提升:有效存储容量增加了3倍;
3.数据中心性能处理能力大幅提升:存储性能处理性能提升了2.7倍;
4.集成度高节省机房空间:存储占用机房空间减少了54%;
5.绿色环保:存储电力消耗降低了58%;
6.节省人力投入:大幅减少了进机房硬件维护时间。机械盘容量小数量多,由于其物理特性易损,更换次数较多;SSD盘容量大数量少,且其故障率比机械盘低很多。
7.减少IT投入:经实践确认整体数据压缩能力至少可以达到2:1以上,启用压缩可以节省存储后端空间,大幅降低了存储投入成本。

全闪数据中心建设

闪存存储优点
SSD盘(Nand Flash)与机械盘(Hard Disk Drive)比较主要有如下优点:
1.响应时间比机械盘低很多,达到百微妙级别;
2.性能比机械盘高很多,IOPS有100倍数量级差异;
3.Flash介质质量轻、体积小、能耗低;
4.单个SSD盘容量比机械盘大很多,达到TB级别。

由于Nand Flash介质重写最小擦除单元是Block级别,不是以计算机系统通用的512Byte为最小写单位,导致Nand Flash有写放大问题。另外闪存的每个基本单元有擦写次数的限制,其使用寿命使用最大可擦写次数指标(Max Program/Erase Cycle)衡量,不同的种类SSD盘最大可擦写次数不同。
企业级闪存介质分为四大类:SLC(Single-Level Cell)、eMLC(Enterprise Multi-Level Cell)、TLC(Triple-Level Cell)及进来出现的QLC(Quad-Level Cell)等。随着3D Nand技术成熟,集成密度大幅提升生产成本大幅下降,性能及稳定性也大幅提升,当前3D-TLC已成为市场主流。在混合存储年代常使用SLC或者eMLC闪存介质作为性能加速层,当前全闪存储主要使用3D-TLC闪存介质,稳定性已完全达到企业级要求且性价比较高。

企业应用全闪,针对闪存特性需要有如下优化机制:
1.磨损均衡(Wear Leveling):使用算法来跨闪存单元分配写入和擦除操作,这样可以保证每个存储单元的磨损差不多,延长闪存存储设备的使用寿命;
2.垃圾回收(Garbage collection):垃圾数据收集在后台运行,它累积之前标记为删除的数据块,对各个垃圾数据块执行完整的数据块擦除,然后返还回收的空间,以供后面的数据块重新使用;
3.预留空间(Over-provisioning) :这部分空间对用户不可见,用来做性能优化及保持稳定的一致性性能,包括磨损均衡、垃圾回收和坏块映射等。

全闪存储采用闪存介质以后,存储的读写方式有必要针对闪存特性做出改变。一方面需要提高闪存的访问寿命,另一方面需要提高闪存的利用率以降低成本。当前主要通过如下几个方面进行优化
1.存储利用大容量高速缓存,采用写入折叠及写合并技术,让尽量多的IO在缓存里处理,写入时合并多个小随机IO。减少落盘次数,避免无谓的闪存擦写,提高闪存盘耐用性;
2.采用在线数据压缩及消重技术,用同样的存储容量可以放更多的数据,提高存储空间的利用率,节省IT投入;
3.采用智能化技术让高热度数据不压缩,以保证应用系统响应时间基本无损;
4.采用响应时间服务级别技术,保证重点应用系统的高实时性要求,降低次要系统对存储资源的占用。

全闪存储相比传统存储主要有如下优点:
1.性能优异,响应时间大幅下降;
2.集成度高,占用机房空间小;
3.功耗低,绿色环保;
4.SSD盘故障率比机械盘低很多。

现代化运维体系建设

从流程、配置、监控、自动化等方面全面建设现代化数据中心运维体系,达到敏捷运维数字化运维一体化运维目标。

存储云平台建设

建设数据中心基础架构存储云平台,对接私有云平台,做到一键自动化标准化部署基础架构资源及系统模板,大幅缩短项目部署时间及减少人力投入。以各大应用类型存储资源池为单元,底层使用SMI-S、SNMP及REST-API等协议管理存储及SAN交换机等资源,虚拟化抽象化软件定义存储及SAN资源,提供服务目录达到自动化部署目标。自动化服务目录主要包括新建、扩容、回收存储资源订单等任务,必须要管理员审批后再即时或定时自动化执行订单,加强流程控制。

存储自动化平台建设主要考虑平台的可重用性、易用性及安全性,在存储云架构自动化设计与实现中遵循以下主要建设原则:
1.保障存储及SAN操作安全性
为保证在有限可控的范围内对自动化操作进行安全性控制, 对用户进行合法性验证, 以确保经过授权和可信的用户对其进行操作。

2.具备可审计性
对于基础架构的任何操作,都需要对任何时间,任何API调用的监控与事后的审计,以保障基础架构在有序、可控的环境下正常运行。

3.对外屏蔽存储及SAN操作复杂性
由于存储及SAN网络的专业性,使其运维操作、调用开发需要具有一定程度的存储专业知识和经验,并能够以最佳实践实现其自动化运维能力。经过专业化API封装,可以有效降低云平台开发难度和其不确定性。

4.虚拟化标准化
针对业务系统需求,虚拟化定义存储资源,标准化服务目录,制定相关规范。

5.灵活的扩展性
通过定制化封装,可以对未来自动化支撑能力有更好的扩展性和适应性,保证未来整体IT运维管理系统的整合与对接。

大型数据中心存储设备数量相对较多,集中展示当前存储环境运行情况,对容量、性能、可用性管理非常重要。采用专业存储资源管理软件,集中管理各大虚拟存储资源池的资源,收集和展示基础架构设备配置信息、容量使用情况、性能数据、趋势等,可以极大增加运维工作的计划性。

集中监控运维

采用存储资源管理软件,集中管理各大虚拟存储资源池的资源,收集不同类型设备的信息(配置、容量、性能、告警)等,集中展示基础架构设备配置信息、容量使用情况、性能数据、趋势等。另对接一体化运维平台达到敏捷化、数字化、可视化运维目标。

所有基础架构设备对接集中监控告警平台,做到所有故障即时告警,所有故障及时处理。

容量及性能图表

存储资源管理软件可以深度定制各种图表。将相关监控数据对接数据可视化平台,定制相关实时图表及告警,设定相关关键绩效指标(KPI),聚焦应用体验,实现可视化运维。当前主要从如下多个维度进行展示:
1.展示资源池存储容量的使用状况及使用趋势,跟踪存储容量使用情况;
2.展示资源池的性能情况及响应时间,掌握业务系统整体性能情况及趋势;
3.定制存储组件利用率图表,了解单台存储内各组件的利用率情况和趋势,避免存储内组件瓶颈;
4.按业务系统展示单个应用的性能情况及响应时间、涉及的底层资源路径关系图,把握特定应用运行性能状况,利于快速定位故障;
5.各类图表的时间跨度可以实时、每天或者指定任何时间段自由选择定制,达到微观和宏观的视角展示。

总结

全闪存储刚进入市场时,昂贵的价格令人咋舌,用户只能选择极少数延迟要求特别高的场景使用,好钢用在刀刃上。随着闪存介质的价格下降,存储数据压缩和重删技术发展,全闪存储单位容量成本已接近传统介质存储。除成本考虑之外,全闪存储还兼具一些特长:
1、高吞吐低延迟。提升关键业务系统的运行速度,基本可以消灭存储IO瓶颈。
2、减少机房空间占用。SSD单盘介质容量增加速度大大超过传统介质,原来需要几个机柜的存储空间,现在只需要单个机柜甚至几U即可。
3、节能减排。机柜数量减少,相应的电力消耗也大幅降低。
4、运维更简单。运维人员不用频繁解决存储的IO性能问题,可以将更多精力放在系统架构优化和自动化上。全闪存储将会是现代化数据中心的发展趋势。

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

10

添加新评论5 条评论

#sym0202系统工程师, 天合正道
2019-06-18 17:53
SSD闪盘的兼容性,有没有机械盘那么好,接触的不多,请多指教!
#goldenstaryuan系统工程师, hmbank
2019-06-18 16:28
全闪有成为数据中心的的主力存储的趋势,多谢分享
#fiery_xu软件开发工程师, 银行
2019-06-14 16:05
不错不错,学习
#michael1983技术经理, 某证券
2019-06-14 14:46
1、高端全闪的SSD故障后,是如何处理的?厂商回收?还是自行处理? 2、存储资源管理软件是用EMC的?还是第三方的?能否纳管其他品牌存储? 3、存储自动化平台实际实施的效果如何?毕竟是核心系统存储,尤其回收的动作,风险还是比较高的。
#michael1983技术经理, 某证券
2019-06-12 10:54
谢谢分享
Ctrl+Enter 发表

本文隶属于专栏

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

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30