关键应用存储实施的最佳实践如何落地?

随着金融业信息化程度的不断提高与完善,信息系统在金融行业的关键业务中承担的角色越来越重要,保证业务连续性是信息系统建设的关键,业务系统的连续性和灾难保护的重要性也越来越突出。

本文来自微信公众号“twt企业IT社区”。

【栏目主编】赵海某金融系统高级主管:本议题由宁夏银行技术经理陈明福、某省农信资深技术经理雷智以及我本人发表议题下的主张,几位专家的主张在江西农信技术经理邓毓、某金融科技公司资深集成工程师孙伟光、某金融公司架构师刘艳春等多位专家的复议后,形成了一定的共识,希望可以对同行有一定的参考。

陈明福宁夏银行技术经理:

对于银行业来说,关键应用系统安全稳定可靠是第一要务,设备选型应该遵循“行业主流、安全稳定”的原则,同时兼顾性能(主要包含IOPS、MBPS及延时等指标)与成本,并充分考虑国家信息技术应用创新战略。

一、关键应用存储需求特点

随着金融业信息化程度的不断提高与完善,信息系统在金融行业的关键业务中承担的角色越来越重要,保证业务连续性是信息系统建设的关键,业务系统的连续性和灾难保护的重要性也越来越突出。在当前数字化浪潮下,关键应用系统是银行业稳健经营发展的核心支撑,如何有效确保关键应用系统安全稳定运行且数据零丢失,是每一名银行科技人员最关注的事情,存储设备作为数据中心内最关键、最核心的硬件资源,承载了所有重要业务数据,其重要性不言而喻。

对于银行业来说,关键应用系统安全稳定可靠是第一要务,业务不能断,数据不能丢,必须提供7×24小时连续业务;随着互联网金融的发展,在线交易快速增长,要求联机业务系统支持海量用户高并发访问,性能要求高,时延极致低;监管政策日渐趋严,针对各类事件的处罚日趋严格。

二、关键应用存储设备选型建议

设备选型应该遵循“行业主流、安全稳定”的原则,同时兼顾性能(主要包含IOPS、MBPS及延时等指标)与成本,并充分考虑国家信息技术应用创新战略。对于金融行业来说,为确保安全可靠以及数据一致性等条件约束,建议按场景(如数据库和应用)分别对存储进行使用,建议不混合使用。银行业存储设备选型的关键点在于存储需要具备以下几个特点:

1.行业主流

所选择的存储设备品牌及型号需要在业界(尤其是同行业)有广泛的成功应用案例,经得起同行业的考验,以及需要有稳定的服务团队。

2.安全稳定

存储架构的稳定性及可靠性是数据中心存储选型最基本也是最重要的需求,包含存储架构冗余度较高,各个部件(如:控制器、磁盘、前端接口卡、后端接口卡、网卡及电源等)均为冗余设计、支持在线热插拔,任意部件损坏均不影响主机上业务运行,硬件维护对上层主机访问无感知。其次,各部件可以进行微码在线升级,对主机访问无影响。特别是关键部位控制器,已有最新存储产品可以支持控制器升级微码不重启。

3.可维护性

存储设备需具备较高的可维护性,各个部件的预防性维护和更换均为在线操作,控制器、硬盘及接口卡等部件都必须支持在线微码升级,交替重启部件或更换部件时不可以影响到上层业务。

4.硬件架构

当前存储设备产品根据架构分为“集中式架构存储”和“分布式架构存储”两大阵营。集中式存储最大的优势在于架构简单、维护相对容易,已有的运维经验能够延续,同时传统存储厂商支持能力相对较强。而分布式存储在非一线城市中厂商技术支持方面还存在短板。因此,对于银行信息系统中大多数关键应用,包括核心系统、前置系统、支付系统、银行卡系统等应用,具有高稳定性、高吞吐量和低时延等特性的集中式架构存储是更好的选择,存储设备的各个控制器工作在对称Active/Active模式,各控制器性能负载稳定均衡;若上层应用有特定的分布式文件存储、对象存储或者海量数据存储需不断扩展的需求,同时对存储稳定性和时延要求不高,则可以考虑选择分布式架构存储。

5.可扩展能力

可以按需在线进行横向扩展,同时扩展存储容量和存储性能,随着容量需求的增加可以按需进行在线扩容,包括存储柜内的纵向扩容和多柜的横向扩展,扩展之后实现存储资源的在线自动平衡。当前行业内主流高端存储设备基本配置为“四控制器”,Cache容量高达TB甚至更高,前端主机接口模块FC口速率高达到32GB。闪存盘因“大容量、高IOPS、低耗时和低返厂率”等特点已成为当前集中式高端存储设备的首选主流配置。对于预算充裕的用户,可以选择配置NVMeSSD盘,充分保障设备性能满足业务需求。

6.性能指标

在存储设备购买时,一定要充分结合业务系统运行情况,并充分预测未来5-10年业务发展趋势,推算出存储设备性能指标,至少保证未来5年内业务系统不会出现存储性能瓶颈。随着闪存技术的快速发展,目前全闪存存储已经成为各家主流存储厂商的标准配置,同时结合控制器和硬盘框的NVMe技术应用,IOPS已经从传统机械硬盘存储的几万、十几万,上升到几百万级别,性能得到极大提升,因此在当前形势之下采购新存储设备时,全闪存存储已成为首选,如果成本可以承受,配备NVMe SSD的全闪存存储是最佳选择。

7.成本评估

对于银行业来说,高端存储设备选型一个重要的参考就是单位TB可用容量下的成本,能够花更少的钱买到更多的容量,一定是我们采购过程中的一个重要指标,这就对存储设备的架构能力和存储厂商的商业模式提出了一定的要求,最终的选择需要根据实际情况去做抉择。计算成本时除了硬件配置成本,还需要考虑软件许可成本和日常管理维护成本(包含存储设备维保服务成本)。

8.国家信息技术应用创新战略

当前,国家提出“信息技术应用创新”战略,其中存储设备隶属于“信创基础设施产品”范畴,监管部门也出台相应政策,对于银行业来说,在满足安全稳定可靠及性能前提下,应该充分响应国家“信息技术应用创新”战略。随着国内厂商技术的不断演进,目前国内存储品牌(如:华为)已经得到业界公认和实践,能够满足数据中心建设各项指标需求。因此,在国家提倡科技创新和金融行业IT国产化战略的背景下,在存储产品各项功能均满足的前提下,可以优先考虑已经经过行业考验的国内存储品牌。

9.厂商技术支持服务能力

重点考察设备厂商存储产品持续研发能力和本地技术服务能力,在遇到个性化需求时或需求变化时能够及时响应处理的能力,是否有本地化的技术支持服务力量,对客户的响应是否及时且有效,这些都需要充分考查和了解。

三、存储关键技术架构建议

对于银行业来说,两地三中心或多地多中心是当前监管部门强制要求必不可少的数据中心建设模式,在完善的容灾体系架构场景下,基于存储复制技术的容灾架构依然是各银行业倾向选择的一种数据保护措施,故在银行业实施存储时,需要充分考虑存储设备的本地高可用及多中心间容灾架构能力。

1)免网关双活A-A架构,即不依赖于VPLEX、SVC等存储网关设备,而直接使用存储自身的机头进行两台存储之间的IO双活。如:华为公司的HyperMetro就属于免网关解决方案的主流技术之一。

2)数据同步和异步复制功能,可以与双活特性实现免网关的双活+异地容灾的三副本数据容灾架构。

3)快照功能。

上述三方面是实施存储时重点关注的技术架构特性。

四、总结

本文结合银行关键应用系统存储设备实施情况,分析存储设备选型及关键技术实施过程中需要关注的要点,希望给同行在关键应用系统存储设备集成实施时提供一种参考。

雷智某省农信资深技术经理:

存储架构升级的关键在于平稳投产落地。没有最好的存储技术,只有最适合的存储解决方案。在存储架构方案设计时,需从行内实际情况出发,对标行业最佳实践,充分利用厂商资源,保证技术的延续性,做好架构、产品、性能、维护和费用之间的有效平衡。

关键应用系统存储架构设计阶段,应重点关注存储类型、容量、组网及高可用容灾等关键点。在投产实施及运维管理阶段,需关注现网调研、实施窗口、数据迁移、回退方案、投产跟踪和常态化演练机制、日常运维机制、智能运维工具和健全运维生态等重点方面。

一、引言

存储架构升级的关键在于平稳投产落地。关键应用作为企业IT系统中重要程度最高、涉及范围最广、业务数据最多、场景差异最大的应用系统类别,对存储架构的设计及落地带来了较大的挑战。本文将通过阐述银行业关键应用存储架构的应用场景、设计原则、投产实施及运维管理等重点内容,让读者对银行业关键应用存储的落地实践情况有所了解。

二、银行业关键应用对存储的需求场景及功能特点

一般来说,银行业按照应用系统重要等级可以分为核心、重要、外围及管理、数据分析等类别,其中核心及重要类系统通常称为“关键应用”。根据关键应用系统处理事物的特性,可以分为OLTP(联机事务处理过程)和OLAP(联机分析处理)等类别。联机事务处理方式、数据量大小、系统重要程度等差异均会对关键应用存储架构提出不同的需求。

三、关键应用存储架构的设计原则及关键点

1.关键应用存储架构设计的原则

存储架构的设计既要满足未来业务发展需要和技术发展趋势,也要在总体技术风险可控的前提下,对现有架构进行平滑升级,解决当前架构瓶颈。关键应用系统所用存储架构的建设总体原则应根据不同应用对存储性能和容灾的诉求进行存储选型。按照应用的业务重要性及对RPO、RTO不同要求,重新规划应用主机和存储对应关系,对应不同级别容灾方案。

需要注意的是,没有最好的存储技术,只有最适合的存储解决方案。因此,在存储架构方案设计时,需从行内实际情况出发,对标行业最佳实践,充分利用厂商资源,做好技术的延续性、做好架构、产品、性能、维护和费用之间的有效平衡。

2.关键应用存储架构设计的关键点

存储的单机配置决定着存储架构的整体性能。通常在存储架构规划时采用“高端低配”(高端机型、中低配置)策略进行存储选型,在保障技术先进、性能强大的同时,降低维护期因存储技术落后、性能不足而带来的优化和扩容等风险较大操作的频率,同时高端机型也能够得到原厂商更大售后服务支持。所替换的老旧存储可用于开发测试或外围类系统使用,保护既有投资。

1)存储类型

按照关键应用类别及特性选择集中式或分布式存储,可根据关键应用重要性、需求特点及性价比选择全闪、混闪及传统机械盘存储。

2)存储容量

根据现网存储容量、历史增长率以及未来增长率等指标来综合评估。以存储池为单位,根据当前容量大小,将近3年最大年增长率作为未来5年年均增长率进行估算,在此基础上再预留20%-30%可用容量。

3)存储及应用组网

在满足技术先进性的前提下,保障技术选型稳定性和高可用性,确保存储网络架构稳健、保障业务系统性能。在实施过程中以数据完整性为核心保障体系,按计划完成容灾方案为目标,尽量减少业务系统影响,降低对业务系统的影响。

根据设备情况,从需求、容量、性能、可用性和管理性几个方面详细设计,重点考虑存储池类别、吞吐负载、关联耦合性,尤其需要提前规划交换机端口分配规则、Zone分配规则、跨数据中心级联设计。

4)高可用及容灾

存储架构是全行容灾方案的重要基础。存储架构方案的设计需要根据全行整体容灾建设思路,结合存储特性和业务特点统筹规划,以确保满足监管及全行所需RTO及RPO指标。在实际制定存储规划方案中,以下方面需重点关注:

一是存储3DC架构的建设思路。存储3DC架构已是各大存储产品的标准功能架构,也是各行业容灾方案中均采用的成熟存储容灾解决方案。但在实际使用中,需根据各行现网容灾架构、数据中心间距离、空间、带宽质量、人员分布等因素综合考虑。

一般来说,存储3DC架构在物理地点设置上有两种方案,一是本地、同城和异地各一台存储,三者间形成3DC容灾架构(性价比较高、容灾整体架构较为灵活);二是本地(2台双活)和同城(1台)组成容灾架构(维护难度较小,可以最大程度应对本地主中心存储故障),架构图示例可见图1。

360截图16251112669372.png

图1同城3DC存储容灾架构图

二是各数据中心承载的容灾功能的选择。在金融监管部门要求及传统银行容灾方案中,主中心、同城中心及异地中心根据所承载的容灾功能情况,可以分为“大同城、小异地”和“小同城、大异地”两种。以“大同城、小异地”为例,“大同城”指以双活模式构建两个同城数据中心,通过部署必要的软硬件设备,逐步实现既能两个中心共同承担业务,又能单个中心独立承载全部业务。“小异地”指建立异地灾备数据中心,在发生区域性灾难时,保障金融机构关键业务的持续运营。

三是存储网络组网。优化烟囱式架构,FC-SAN网络采用Core-edge架构,通过分层实现计算、存储资源池化,更利于向云化演进。存储池间数据互联互通,应用共享所有存储资源。SAN及应用组网架构图示例可见图2。

360截图16251112669372.png

图2 SAN及应用组网架构图

四是高可用及容灾方案的选择。容灾体系规划应该从业务视角为出发点,以终为始的制定各类业务系统RTO和RPO,找准各容灾技术定位,通过各容灾技术组合做好备份冗余,按照业务类别和技术特性搭好容灾技术体系框架,做好容灾技术顶层设计。

四、关键应用存储投产实施及运维管理

1.关键应用存储投产实施的关键点

1)现网调研

对现网架构的服务器多路径、存储兼容性、数据量、网络带宽、可用窗口、影响范围等进行详细调研。针对现网应用系统及基础架构等差异,科学制定投产的方式、批次等投产实施方案。

2)实施窗口

由于迁移变更内容多,操作复杂,关键应用磁盘较多、操作时间较长,导致整个操作时间窗口有可能超出正常维护窗口时间。可以通过科学制定Runbook、操作指导书、操作命令、非影响业务的情况下提前开展、分阶段分批实施等措施,科学规划操作时间窗口。

3)数据迁移

数据迁移是存储新架构投产的关键步骤。在存储数据迁移中需重点关注数据一致性、业务完备性和系统兼容性。科学安排数据迁移策略,通过迁移演练等多种措施,尽量减少停机窗口和停机对客户服务体验的影响。

4)回退方案

回退方案作为投产实施方案中的关键环节,必须确保投产出现风险时,有完善的回退应急预案,保障回退期间业务不受影响。需提前准备并演练不同投产场景的主要回退步骤,将回退所需时间加入到投产计划窗口之中。

5)投产跟踪

主要对整体存储架构及应用系统的功能及性能进行跟踪,验证投产工作的实际成效。针对发现的故障及时进行分析,并评估采用基于投产架构环境进行解决、整体回退或部分回退等方案保障生产系统安全稳定运营。

2.关键应用存储运维管理的关键点

1)常态化演练机制

常态化演练是检验灾备体系可用性、准确性和时效性的关键手段。把应急演练纳入常态化轨道,开展经常性的、针对性的应急演练工作,才能充分保证灾备机制的有效性,检验灾备流程的可操作性,不断完善灾备体系建设,持续提升灾备演练的实战能力。

2)日常运维机制

常态运维机制一般包括常态巡检机制(告警检查、硬软件状态等)和性能分析机制(历史性能数据分析、容量预测、瓶颈预测及优化等)。

3)智能运维工具

一般来说,存储厂商可以提供存储产品的监控及运维工具,也可使用第三方工具。智能运维工具的使用可以大幅提高运维管理的准确性和效率。如华为DME提供的存储智能预测分析(硬盘失效预测、容量趋势预测、性能潮汐分析、性能异常检测、性能瓶颈分析、设备健康评估)、报表展现、存储异构管理等功能。

4)健全运维生态

关键系统存储作为银行机构的关键设备,在提升行内技术人员能力的同时,还需建立“原厂+三方”、“一线+后台”、“交付+研发”的立体式、全天候的支撑服务体系。

五、结束语

本文基于银行业关键应用系统存储需求场景,结合行业经验,对银行业关键系统存储架构设计原则和关键点、投产实施和运维管理等重点内容进行了研究和总结。介绍银行业关键应用系统类别和存储使用场景,分析了关键应用系统存储架构设计的存储类型、容量、组网及高可用容灾等关键点,总结了在投产实施及运维管理中需关注的现网调研、实施窗口、数据迁移、回退方案、投产跟踪和常态化演练机制、日常运维机制、智能运维工具和健全运维生态等重点方面,希望能让读者对银行业关键应用系统存储实施落地的行业经验有所了解和参考。

张鹏某金融科技公司高级技术主管:

选好产品很重要,存储的核心能力要符合关键业务数据应用场景。通常关键业务数据需要高端存储系统来配合。存储选得好非常重要,实施规划做的好也很重要。

金融行业的关键应用系统多数是联机交易系统,数据存放于数据库中。数据库按照业务通常分为两类:联机事务处理(OLTP)和联机分析处理(OLAP)。其中,OLTP是传统的关系型数据库的主要应用,主要是基本、日常的事务处理,有大量在线用户进行事务操作,如证券交易、银行交易、在线购物网站等;OLAP是数据仓库系统的主要应用,支持复杂的分析操作,且少量的用户在线执行长时间复杂的统计查询,侧重决策支持,提供直观易懂的查询结果给决策人员,以便准确掌握企业的经营状况,从而制定正确的方案。

OLTP应用的主要负载特征是小数据块的随机读写,需要存储系统提供高IOPS低时延的性能支持,以保证大量在线用户事务操作的及时响应。从数据库角度看,每个事务的读、写、更涉及的数据量非常小。数据库的数据必须是当前的,所以对数据库的可用性要求很高。多用户并发连接数据库,访问数据库,要求数据库有很快的响应时间,通常一个事务在几秒内完成。从存储角度看,每个I/O非常小,通常为2KB~8KB,访问硬盘数据的位置非常随机,通常至少30%的数据是随机写操作,重做日志写入非常频繁。

如何提升OLTP业务性能,在存储选择的过程中尤为重要

选好产品很重要,存储的核心能力要符合关键业务数据应用场景。通常关键业务数据需要高端存储系统来配合。高端存储系统必须具有以下主要特点:安全可靠,稳定运行,核心业务永不中断,高扩展能力等等。这些特点来源于高端存储有别于中低端存储的设计和配置。

存储控制器的架构设计,是存储的核心,各高端存储厂商都有独门绝技,例如早期国外厂商的全光纤交换式和点对点直连相混合的统一星型网络体系架构,交换式体系结构又称CrossBar结构,是一种高带宽、大吞吐率和无阻塞的体系结构。又比如有些厂商采用直连矩阵结构,虚拟矩阵结构,或无阻塞交换矩阵结构,都有别于中低端存储的双控制器共享总线结构,这些结构的设计都是为了实现CPU、内存、驱动器和服务器端口在各个控制器之间的共享,提供低延迟的稳定访问。当前有些厂商采用的分布式多控制器多集群的结构还可以提高高可用性以及灵活和强大的扩展能力。值得自豪的是国内高端存储厂商目前应对高安全,高稳定需求的核心应用,也推出高端存储系统,例如采用创新的SmartMatrix智能矩阵架构,该架构具备全交换、全虚拟化、全冗余、固有负载均衡等特点,结合端到端数据完整性(End-to-endData Integrity)、内存ECC(Error Checking andCorrecting)和传输通道CRC(Cyclic RedundancyCheck)等技术,提供存储系统性能线性增长、最大的扩展性、7×24小时高可用性以及高系统安全性,能全面满足大中型数据中心关键业务的需求。

缓存Cache是存储系统的核心部件。存储系统中数据最终是存放在若干个磁盘中。不管是机械磁盘还是固态磁盘,其读写速度远低于CPU速度。因此对于存储系统来说,一边是服务器/主机高速请求,另一边是磁盘低速读写,因此必须通过相应部件和技术来调和这个高低矛盾。这就需要高速缓存(Cache)和缓存管理技术。缓存的设计各个厂商差别也比较大,有的厂商是数据和控制分离的结构,通过数据缓存交换式结构,提供持续的高带宽和大吞吐率,通过控制缓存点对点直连结构,提供多通道和高并发能力。有的厂商是数据和控制混合缓存,每块缓存卡上分配一定地址范围作为该缓存卡的控制信息或索引,其他地址作为数据信息的存储,这种无集中控制缓存机制的设计就是分布式缓存架构。不管何种设计架构,最终使用者应该关注的是并发访问的能力,高速缓存是影响高端存储的关键部件,高速缓存的并发访问可以成倍地提高存储系统的综合性能,并发访问能力没有提高上去,后端的磁盘通路再多,磁盘I/O能力再高也无济于事。缓存毕竟可配置的容量有限,除去用于其他功能的容量开销,真正用于读写缓存的空间有限且珍贵,那么好的交换算法,智能的调度算法,可以更加高效的利用缓存空间同时调节读写缓存的比例,让缓存空间能够发挥更高效能,这也是高端存储适应核心关键业务场景必备的能力。另外需要关注的,高端存储必备的缓存数据保护措施,通常写缓存会提供镜像保护,掉电电池保护等,确保未提交数据的安全。

RAID技术,即独立磁盘冗余阵列,是把相同的数据存储在多个硬盘的不同地方的方法。基本原理不在这里赘述,主要谈谈在进行RAID级别(以磁盘组成RAID组,不考虑热备盘的情况举例)选择时,应该考虑可靠性,读写性能,磁盘利用率等几个方面。RAID0不提供数据冗余,损坏的数据将无法得到恢复,即使读写性能和磁盘利用率都非常高,但不适用于关键数据业务的场景。RAID1,数据全冗余,最多可以容许N-1个硬盘同时损坏(N个硬盘组成的RAID1阵列),读性能较高,写性能较低,磁盘利用率比较低(约为25%或50%),由于磁盘数量局限性比较高,通常只应用于系统磁盘的数据存储。RAID3,数据冗余度较高,任意一块磁盘(以磁盘举例)数据故障都可以通过校验进行恢复,如果出现两个及以上磁盘故障,则整个RAID级别故障,读性能高,写性能低,磁盘利用率较高(约为80%左右),适合于查询类多的业务场景,例如存储视频影像数据。RAID5,数据冗余度较高,校验数据分布在每一个磁盘上,允许任意一个磁盘故障,如果出现两个及以上磁盘故障,则整个RAID级别故障。读性能较高,写性能较高,磁盘利用率较高(约为80%左右),适用于一些关键数据业务场景,但配置时需要注意RAID组的磁盘数不要过大,避免故障发生带来的写惩罚问题。RAID6,数据冗余度较高,两组校验数据分散在不同的磁盘上,允许任意两个磁盘故障,如果出现三个及以上磁盘故障,则整个RAID级别故障,这种故障概率就低很多,读性能中等,写性能也中等,磁盘利用率随着磁盘数量增加而增加,最大磁盘利用率约88%。SSD磁盘的大量应用,机械磁盘性能的问题得到缓解,在关键数据存储场景下,SSD磁盘采用RAID6保护方式越来越多。RAID10,数据冗余度高,最多可以容许N个硬盘同时损坏(2N个硬盘组成的RAID 10阵列),读和写的性能较高,磁盘利用率为50%,可应用于关键数据业务场景,成本略高。当前,一些存储厂商还推出更高级别的RAID级别,例如采用一些动态RAID技术,基于虚拟数据块的RAID技术,增加校验数量,提高冗余能力和磁盘空间利用率,缩短硬盘故障后的重构时间,可根据业务场景的需要来选择,通常需要注意的是冗余能力,磁盘空间利用率与性能是成反比的,根据业务特性找到折中平衡点是关键。在选择RAID时综合可靠性、性能、利用率、成本等方面考虑,建议分层分级进行数据存储策略定制,例如对于核心业务(如运营商的计费等系统或金融A类在线交易系统等),性能层RAID策略配置为RAID10,RAID5或更高冗余能力的RAID,如果是SSD盘可用RAID6(8D+2P)。对于非核心业务,性能层RAID策略配置为RAID5(8D+1P)。容量层的RAID策略推荐配置为RAID6。

存储系统的微码需要简化、高效、执行速度快、周而复始地完成服务器/主机对数据的访问请求,同时关键业务系统有业务连续性的要求,存储软件功能(例如数据本地复制克隆快照、远程数据复制,存储双活,服务器多路径等)都是在存储选型里必需考虑的内容。

存储连接技术对存储的性能也起着关键作用

小型计算机系统接口SCSI是一种用于计算机及其周边设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SCSI标准定义命令、通信协议以及实体的电气特性(换成OSI的说法,就是占据物理层、链接层、套接层、应用层),最大部分的应用是在存储设备上(例如硬盘、磁带机),除外,SCSI可以连接的设备包括有扫描仪、光学设备(像CD、DVD)、打印机等等。截止到2003年的SCSI标准是Ultra 640 SCSI,其最大同步传输速度达到640MB/s,这种接口是一种便于系统集成、降低成本和提高效率的接口标准,主要用于早期的中高端服务器与工作站上。

SAS(Serial Attached SCSI,串列SCSI)是由并行SCSI物理存储接口演化而来,是由ANSIINCITS T10技术委员会开发的新的存储接口标准。与并行方式相比,串列方式提供更快速的通信传输速度以及更简易的配置。在企业级存储领域早已取代了老迈的SCSI。虽然SCSI是一个具有很多特性的并行总线技术,但SAS是一种串行互连架构,可以让企业用户以更为灵活的方式进行扩展和管理他们的存储系统。SAS则具有更高的性能,当今SAS-4已经可以支持22.5Gbps速率。

光纤通道FC,也称为光纤信道和是一种高速网络互联技术(最高速度128Gbps),主要用于将计算机数据存储连接到服务器。光纤通道由信息技术标准国际委员会(INCITS)的T11技术委员会标准化。INCITS受美国国家标准学会(ANSI)官方认可。光纤通道FC和SCSI接口一样最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。光纤通道是为在像服务器这样的多硬盘系统环境而设计,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通讯等系统对高数据传输率的要求。光纤通道早已经成为企业级存储SAN中的一种常见连接类型。

iSCSI,Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。iSCSI利用了TCP/IP的port 860和3260作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。iSCSI常常被认为是光纤通道FC的一个低成本替代方法,使用它来连接服务器计算机和磁盘卷上存储阵列。

NVMe非易失性内存标准;相比于传统的SATA和SAS总线技术,NVMe SSD利用了服务器中的PCIe高速总线,将其直接连接到计算机,从而减少了CPU的开销,简化了操作,降低了延迟,提高了IOPS和吞吐量。队列深度是NVMe相对于SATA和SAS的另一个优势,SATA和SAS只能是单个队列,而且每个队列的深度也比较低,而NVMe协议设计之初就考虑了该问题,它的最大队列数量可以是65K,而且每个队列的深度可以高达65K。除了减少延迟外,这对于提高服务器处理并发请求的能力至关重要。

RoCE是一种允许通过以太网使用远程直接内存访问(RDMA)的网络协议。在全闪存存储的SAN网络中使用10GE/25GE的交换机通信,将大幅降低网络时延,提升整体性能。

NVMe over Fabrics(简称NVMe-OF)将NVMe应用到前端,作为存储阵列与前端服务器连接的通道,取代过去的FC、iSCSI。由此,服务器可以使用本机NVMe协议直接与NVMe SSD通信,从而大幅降低了延迟。对于NVMe-oF,传输类型有3种选择,分别是使用光纤通道、TCP和RDMA的NVMe-oF。采用RDMA作为传输类型的NVMe over RoCE对网络要求较高,要求交换机能够支持无损以太网,支持PFC死锁检测和抑制/隔离等。

存储选的好非常重要,实施规划做的好也很重要

存储的实施需要从存储本身及存储组网环境几个方面来设计。

存储侧的配置主要包含容量、存储池、文件系统以及网络的规划。使用存储之前,建议首先分析清楚业务性能和容量需求,做好存储系统的硬盘数规划,降低运维风险。

存储系统用于存储业务数据和系统数据,为了保证有足够的容量用于存储业务数据,需要对存储系统的可用容量进行合理规划。规划可用容量时,需要考虑单盘标称容量、热备容量、RAID利用率等因素。硬盘厂商和操作系统对硬盘容量定义的算法是存在偏差的,因此,硬盘的标称容量和操作系统中显示的实际容量也存在着一定的偏差。通常硬盘厂商的算法:1GB=1,000MB、1MB=1,000KB、1KB=1,000bytes。操作系统的算法:1GB=1,024MB、1MB=1,024KB、1KB=1,024bytes。存储系统支持热备空间,用于承载失效成员盘中的数据,在规划存储可用容量时要考虑热备空间的占用。不同的RAID级别中,校验数据带来的容量开销是不同的,也就是说RAID有效磁盘空间利用率也是规划实际可用容量需要考虑的。除此之外,不同厂商可用容量数据块大小计算也有差异,所以计算规划可用容量的时候,最好有一定的余量。

存储池,是存放存储空间资源的容器。为了更好地利用存储系统的存储空间,需要根据实际的业务需求,对存储池的RAID策略进行合理的规划。根据RAID中检验位的个数不同提供不同的保护级别。RAID保护级别的选择可以参考前文描述,根据业务特点不同提供更合理的容量和性能。创建存储池时,允许设置容量分配比的告警阈值,默认是80(百分比),这里特别强调关键业务环境下不建议增大这个预警值。在使用瘦磁盘(Thin LUN)的时候,容量告警尤其重要,用户可以根据业务数据量增长的速度设置合理的告警阈值,避免业务因为存储池容量不足而造成服务中断。存储池中RAID的划分,还要考虑磁盘冗余和磁盘柜冗余,以及热备盘的配比。RAID是否跨磁盘柜,在空间利用率、可靠性、性能方面还是有差异,不跨磁盘柜的RAID空间利用率高,跨磁盘柜的RAID可靠性高,两者随机读与顺序读性能相当,其中不跨磁盘柜的RAID顺序写性能高于随机写性能。

存储区域网络SAN中,逻辑单元号LUN是用来标识一个逻辑单元的数字,这个逻辑单元是通过SCSI寻址的设备。存储系统将物理硬盘进行分区,成为拥有逻辑地址的各个部分,进而允许服务器进行访问,这样的一个分区便称为一个LUN。通常说的LUN也指在SAN存储上创建的逻辑磁盘。不同厂商对LUN和卷的定义不同,本文针对一般情况进行描述,即卷只是针对服务器来讲。存储系统上创建一个LUN,此时LUN相对于存储系统是一个逻辑设备。当网络中的服务器连接到存储系统时,就可以识别到存储系统上的逻辑设备LUN,此时LUN相对于服务器来讲就是一个物理硬盘。在该物理硬盘上创建一个或多个分区,就可以得到一个或多个卷。此时卷相对于服务器是一个逻辑设备。数据库或应用系统创建LUN时,为了存储系统的性能达到最优状态,需要根据实际的数据存储情况,为LUN选择合适的策略。通常存储厂商会提供不同应用类型的预置配置策略,如果没有匹配特定的应用类型,也可以选择通用类型。LUN数量的设置,要考虑LUN是否跨越RAID组中的所有硬盘,新型的RAID技术的存储池会将LUN的数据块尽量分布在所有硬盘上,发挥最大性能,所以要参考不同厂商提供的配置策略设置合理的LUN数量。同时满足数量的前提下,使用尽量大的LUN容量,以简化管理开销,但是建议单个LUN不要超过2TByte。

网络侧配置,不管通过以光纤通道为代表的存储区域网络还是通过以太网互联,存储和服务器之间的网络侧规划要充分考虑可靠性和负载均衡等特性,通常要遵循几个原则,即服务器链路双交换组网,每个服务器至少两张HBA卡(这里的HBA卡不是泛指光纤通道卡,可以理解为服务器通过不同协议连接存储的接口卡),每张卡到两个交换机均有链路;存储到交换机双交换组网,每个控制器至少两张接口卡,每张接口卡到两个交换机均有链路。

存储和服务器间的访问控制也需要规划。LUN Masking逻辑单元号掩蔽是指LUN与服务器HBA卡的WWN地址绑定,与服务器HBA卡建立一对一或多对一的连接和访问关系。以存储为中心的,在一个存储前端端口掩码多个LUN的加强型方法。LUN Masking在存储控制器级别上进行服务器HBA的WWN绑定,因此存储控制能够将不同LUN划分给一个或多个服务器,可以提供LUN级别的访问控制。LUN Masking也允许磁盘存储资源在多个独立服务器之间共享。LUNMapping逻辑单元号映射是指LUN与存储设备的服务器端口进行绑定,服务器连接不同的服务器端口时所能访问的LUN不同。实现不同的LUN与不同的存储服务器端口绑定,不同的服务器端口与不同的FC交换机或者不同的ZONE连接,从而实现不同的服务器只能访问不同的存储端口。不同厂商对LUN Masking和LUN Mapping的定义和解释不完全相同,有的甚至就定义成一个名称。本位以映射视图作为统称,主要图定义了LUN、阵列端口、服务器端口之间的逻辑映射。创建映射视图,建议为了便于管理,建立类似LUN组的对象,将同一种业务的LUN加入到一个LUN组内。建立类似服务器组的对象,将包含一组需要共享存储资源的“服务器”,以及每个“服务器”包含多个启动器(主机端口)。为每一个服务器创建一个“服务器”,将该服务器的所有启动器添加到该“服务器”内。如果为了可以更精细化的控制存储端口的分配,可以考虑建立类似端口组的对象,一个端口组应至少包含来自于每个控制器的一个端口,以增加运维的灵活性,降低业务之间的性能影响,同时避免单点故障。

服务器侧的配置,主要考虑在服务器硬件资源有限的情况下,最大程度地发挥出服务器性能,提高系统的并发处理能力与稳定性是一项相当重要的工作。操作系统内核参数的调整是必不可少的。例如Linux系统下,TCP断开连接以后会以TIIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的TIME_WAIT状态的连接,不及时断开将会占用大量的端口资源。通过优化TCP的内核参数,及时清理掉TIME_WAIT状态的端口。编辑/etc/sysctl.conf并添加参数内容。net.ipv4.tcp_syncookies=1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用Cookies来处理,可防范少量SYN攻击,默认为0表示关闭。net.ipv4.tcp_tw_reuse=1表示开启重用。允许将TIME_WAIT sockets重新用于新的TCP连接。默认为0表示关闭。net.ipv4.tcp_tw_recycle=1表示开启TCP连接中TIME_WAIT sockets的快速回收。默认为0表示关闭。net.ipv4.tcp_fin_timeout=30表示修改系统默认的TIMEOUT时间。让内核参数修改生效记得执行命令sysctl–p。

服务器侧还需要进行多路径的配置,主要是服务器操作系统自身的多路径管理软件和存储厂商提供的多路径管理软件。一般存储厂商提供的多路径管理软件是基于操作系统上的增强。可以通过更丰富的参数配置,灵活配置路径的选择算法,和分配I/O负载。尤其是在存储双活的解决方案中,多路径管理软件的配合非常重要。

关键数据存储在数据库中,数据库侧的配置也是非常重要,企业级数据库的日志文件和数据文件的存储方式不同,对存储的要求也不同,例如日志文件会存在频繁的覆盖写的操作,如果存储中有SSD磁盘,就要特别注意SSD磁盘对写入次数的限制,那么就需要通过对数据库参数的调整,来减少磁盘离散写入,增加磁盘顺序写入的量,并且尽量分布均匀的写入磁盘空间。不同的数据库的数据引擎对存储的I/O要求差异较大,具体情况请参考数据库相关文档。

实施中配置步骤参考

OLTP数据库场景下,存储配置步骤可参考下表。

表1 OLTP数据库场景下存储配置步骤表

360截图16251112669372.png

总结

本文介绍了金融机构关键业务系统数据存储的选型关注点,以及实施配置中的一些最佳实践,读者可以利用本文提供的存储、组网、参数等信息,在实践中进行参考,减少在实施方案规划时的负担与实施过程中的风险。也期望能够帮助读者为关键业务系统选择到具有高性能、高扩展性、安全稳定、简单易用的存储系统。

结束语

金融行业对数据存储的性能、高可用性、安全性、业务连续性等要求比较高,应用场景丰富,企业级存储需要具备对应的能力,并且在实施过程中需要根据数据特点做好规划设计。议题中阐述的技术特点多为通用技术,或业界主流技术特点,意在引导厂商在做产品设计时能够更好理解用户的应用场景,同时为用户在实施规划中提供参考。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论