【摘要】传统存储系统 由于稳定和可靠一度是银行业重要业务数据库数据存储的首选 ,但是随着银行业务不断增长以及互联网业务的兴起,业务数据呈现几何倍数的快速增长,使得银行数据中心中的传统存储系统架构面临了新的挑战 ,具体包括: 新建存储系统周期长与新兴业务快速上线间的矛盾;系统庞大,管理复杂,运维人员压力巨大;存储性能无法满足越来越多的数据并行处理应用需求;客户需求分析、业务数据分析与决策推荐等需求,导致对AI、区块链、云计算、大数据等新技术应用的需求。
面对上述挑战,加上银行主机上云的IT架构转型战略下,形成了基于 稳态+敏态双模 的日益增长 海量 业务 数据高并发高访问需求的背景 大 趋势 ,因此 , 银行需要引入分布式存储技术,解决存储的 可靠性 、 扩展性 、 异构 、成 本投入 、数 据迁移 等 问题 ,为银行上云业务应用系统提供基础设施的技术保障。
针对支撑银行稳态、敏态业务应用系统的分布式存储,本文从需求、规划和选型三个维度,分享了银行分布式存储落地的一些实践。
银行业 的IT业 务 应用 系统 , 从业务类型来看,有交易类系统、经营管理类系统、AI/BI 等 分析类系统、办公 管理 类系统等 ; 从数据的全生命周期来看, 可 分为在线数据和 离 线数据, 离 线数据 下 又有备份数据和归档数据。银行 业的业务 应用 系统 的多样性,决定了数据 存取 的多样性,从而也决定了对存储设备选择的多样性。
其中, 交易类系统是银行 业 最重要的 IT业务应用 系统, 是 直接面向客户提供金融业务服务。交易系统并非是单 体系 统,而是由许许多多的系统组成,其中最重要的系统是被称为核心系统的账务处理系统,围绕着核心系统,还有众多的产品、渠道类系统,它们共同构成一套复杂的分布式业务处理系统。每套系统都有相对独立的功能,客户完成任何一笔金融业务,都会涉及到多套系统,其中任何一套系统的故障或缓慢都会影响客户的业务体验。因此,交易链路上的每套系统都需要很高的安全性、稳定性和并发交易处理能力。近年来,随着移动互联网、 金融科技 对金融行业的影响,银行的应用系统也在不断互联网化,秒杀、交易银行等新的应用形态层出不穷,交易系统必须面对突发和不确定性的高并发,这对系统的稳定性 、 性能要求 和业务连续性提 出了更高的要求。
另外, 伴随着交易系统,银行 业 还有大量的内部经营管理及分析类系统。管理分析类系统有实时分析系统及非实时分析系统,即常说的T+0系统和T+1系统。这些系统的数据类型和数据处理方式和交易系统有较大不同,这些系统对存储的要求也有所不同。分析类系统不会面临突发和不确定性的并发量,也不需要快速的单笔交易处理时间;但是分析类系统需要在一定的时间内完成海量数据的处理和计算,需要具备非常强的批量处理能力和并行处理能力,这就要求对应的存储系统有较大的吞吐能力。
总体上,在银行 业的IT 业务应用 系统中,存储 有 客户的存款数据、贷款数据、理财数据、交易数据 、影像数据、双录数据、运营分析数据、监管报送数据、反洗钱数据、历史归档数据、运维数据 等, 目前这些数据 全部都是数字化、电子化的 , 数据 存储的可靠性、 安全 性 直接影响客户和企业的资金安全,数据的存取效率 也 直接影响客户体验 和管理效能。这些数据可以归纳为3类:非结构化、半结构化、结构化数据:
综合银行 IT 业务应用 系统 的业务特性和技术架构,银行 业 使用了2种不同架构的存储产品:集中式 存储 和分布式存储,如下图所示:
其中: 集中式存储 是 指由一台或多台主控制器组成中心节点,各数据设备级联部署,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理,中心节点统一对外提供FC、iSCSI、NAS存储接口。 每 个终端或客户端及其仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。
集中式 存储的优点是 功能完善,稳定性好,运维简单,监控、运维体系健全,技术成熟,可选择的范围也很广,从中低端到高端产品齐全。不足是:单体容量有限,可扩展性较差,一次性投入大。 其演进方向是在于保持稳定性的基础上,利用更快的介质、更低时延的网络为稳态模式的核心业务应用系统的结构化数据提供存储保障。其典型架构如下所示:
分布式存储 是 将数据分散存储在多台独立的X86服务器上,通过通用的存储协议对外提供FC、iSCSI、RBD、NAS、S3等存储接口,每个存储服务器节点既能够进行数据存放和性能加速,也同时提供数据控制和存储接口对接,没有单点故障,每个节点都可以对外提供数据吞吐,性能随着存储节点的增多会线性上升,分布式存储采用可扩展的系统结构,利用多台存储服务器分担存储负荷 。 其 优点是 :IO吞吐量大;扩容方便;可以组成大规模的存储池;采购成本可分批次、分阶段投入,设备可以分批次折旧。但分布式存储的网络延时 大 及稳定的性能表现不足,运维相对复杂。 其演进方向是在大规模的扩展性的基础上,逐步优化性能、可靠性,让海量非结构化数据存得下、用得起。其典型架构如下所示:
集中式存储和 分布式存储 的差异,如下图所示:
当前 银行 的云 数据中心基础设施 中, 普遍地 采用 了 集中式存储和分布式存储共存的规划设计 ,譬如 针对系统延时、性能稳定性要求高、有存储共享需求的业务使用集中式存储。 对 系统对IO吞吐量的要求高,后续扩容需求巨大,而对性能没有极致要求使用分布式存储。对于海量非结构化数据的存储, 采购了 分布式对象存储。
银行分布式存储的 节点通过接入交换机(TOR)接入数据中心网络,并根据计算与存储的部署关系 ,可以 分为 超 融合架构 、计算存储分离架构 这两种部署方式。其中超融合架构是将计算和存储节点都部署在同台服务器上,共用服务器资源及网络资源,适用于小型的虚拟化环境,如VMware的vSAN分布式存储产品就是基于超融合架构部署的;而 计算存储 分离式架构是将计算和存储节点部署在不同的服务器上,各自独立占用设备的计算资源和网络资源,适用于 资源池 规模比较大的 使用 场景 。两种部署方式的差异如下所示:
典型的 分布式存储分离式架构的网络组网如 下图 所示,其中存储节点存储内网流量较大且可能有较高的突发,需独立组网,带宽建议万兆,双链路冗余;存储节点业务网络需独立组网,带宽万兆,双链路冗余。
服务器的10GE网口配置为双网卡绑定。
服务器的10GE网口配置为双网卡绑定。
另外,各大公有云厂商的专有云方案中,其存储产品的网络组网更加简捷,业务网和存储网合二为一,每台节点服务器采用直通模式连接硬盘,网卡只配置一块双口网卡,由云存储产品的软件实现:(1) 自动复制以多副本冗余方式存储,将数据备份在不同机器上,从而免除单个机器故障带来的数据丢失等问题 。(2) 在每个存储写入请求返回之前,确保数据被成功写入三份跨机架的存储节点中。 (3) 当节点从异常状态恢复后,默认实现数据迁移和数据重平衡 。
分布式存储的存储冗余策略有多副本和纠删码两种形式,两种形式相应的特性如下表所示 :
其中多副本的副本数一般为2副本或3副本,使用较多的是3副本格式,而纠删码策略较多,相对应的最低节点数和空间利用率如下表所示,使用的较多的为4+2策略格式。
根据存储冗余策略的格式对分布式存储的可用容量进行相应的估算如下图5所示,例如:100块2T的数据盘,200TB标称容量,采用3副本的格式,可用容量为:2000.920.8533.3%≈52.08TB;而采用4+2的纠删码格式,可用容量为:2000.920.8566.7%≈104.32TB。从可用容量上来看2者相差一倍,如果追求较高存储性能方面考虑采用副本格式,而对于性能要求不是很高,且对存储可用容量比较在乎的话考虑采用纠删码格式。
根据不同的服务等级和不同的适用场景,可以大致区分和归纳相应的时延和性能密度,大致分为下表所列的4大类。
综合考虑到数据中心机柜的电力承载容量和网络端口数量,分布式存储按单元进行部署或扩容,一个单元使用了3个机柜,共享2组交换机,1 2 台至1 6 台的节点服务器为一个集群。一个典型分布式存储单元的机柜布局如下图所示:
分布式存储的产品采购模式和其产品生态强相关,分为2种模式:一种是分布式存储厂商建有强大的生态,各大服务器厂商会做兼容性认证,能够支持银行采用软硬件分离采购模式,譬如 VMware vSAN 产品,银行是采用软硬件分离的采购模式,对物理服务器的采购只需要厂商通过 vSAN 兼容性认证,在 VMware 兼容指南 中找到相应的型号和配置,下图是 vSAN 6.7 版本认证的浪潮服务器配置清单:
另一种则是软硬件一体化的采购模式,由分布式存储厂商对若干服务器厂商的若干机型做适配,对各个部件,特别是硬盘,做软硬件的调优、拷机并且提供供应链保障。譬如分布式对象存储产品,以及国内各个公有云厂商对企业私有化部署的专有云方案中的分布式存储服务。
银行分布式存储的技术选型,通常会全面考察 6 类超3 0 个评估项,如下表所示:
当前银行部署稳态业务应用系统时,基础设施环境的虚拟化平台普遍地选择了VM ware 的ESXi产品。稳态的重 负载 应 用对于 数据 存储 的 性能要求是非常苛刻的,要求更低的延迟、更高的吞吐和更高的并发能力 ,在分布式存储选型时通常相应地选择 VMware 公司的v SAN 产品。 vSAN 是一款分布式 块 存储软件 , 有更简单且更高效的IO路径,更低的IO开销 也 意味着更高的性能表现 ,其 本身集成内嵌于vSphere ESXi内核 中 , 它管 理主机上的所有磁盘,并将磁盘资源池化,为vSphere 提供存储服务 。 vSAN 在 vSphere 的用户眼中更像是一个内置的功能的存在,只需开启就能用起来( 注: 需要符合硬件条件以及独立的授权许可 )。同时vSAN 在管理上非常依赖 vCenter ,包括集群创建、关闭、管理都必须通过 vCenter 来完成。vSAN 与 vSphere 属于紧耦合的集成关系。
vSAN 的存储性能加速机制主要通过 SSD 作为缓存加速 IO 读写。该机制是以磁盘组为单位,其中有且仅有 1 块 SSD 作为缓存盘 对 高频的、小的IO做梳理和排序,最后写到大容量的基于 HDD 机械盘的存储层 ,以达成 加速IO 性能 ; 另外搭配1-7 块磁盘作为容量盘。每个 vSAN 主机至少需要包含 1个磁盘组,最多支持 5 个磁盘组。
vSAN 将缓存盘容量分为两个区域,读缓存区域和写缓存区域,其中读缓存 70%,写缓存 30%(这个比例是固定的);而全闪配置中,缓存盘依然是必需的,但只作为写缓存使用且最大容量为 600GB。由于NAND SSD 擦写寿命限制,所以在 实践 中经常会配置最低1.2TB的NAND SSD 盘,余下的600GB在很长一段时间内是不会用到的,作为补充性的资源 。
在银行的落地 实践中, 为满足稳态 关键业务应用 、重负载业务应用的 超低时延 要求,和数据库 对小块的IO和时延的高要求 ,以及对IO 读 、IO 写 、IO 读写混合 的 性能 稳定 表现 需求,除了采 用全闪 存 节点的硬件 配置 方案 外 ,在vSAN中选择英特尔®傲腾™ 固态盘S SD作为缓存层 ,以及 英特尔®傲腾™持久内存作为DRAM的二级缓存 ,这样能够进一步优化 延迟、吞吐和并发能力 ,取得 在性能、密度和TCO上的平衡。
英特尔®傲腾™ 固态盘S SD 使用支持N VMe 协议的PCI e 接口, 降低了控制器和软件层面的延迟 。
在介质层的延迟控制上, 英特尔®傲腾™SSD与常见的NAND SSD有本质的不同,其性能介于DRAM内存和NAND SSD之间,而且,由于英特尔®傲腾™ 固态盘 SSD支持字节寻址,并且无需进行垃圾回收,可以直接写入数据,所以可以持续提供稳定的高性能表现。
英特尔®傲腾™ 固态盘 SSD 相比普通NAND SSD在高负载下也有更稳定的性能表现,如下图所示,随 着负载的增加,蓝色线条表示NAND SSD的响应延迟,延迟随着负载增加越来越高且非常不稳定,而英特尔®傲腾™SSD的响应表现则始终与横轴重叠,延迟并没有随着负载增加而增加。
另外, 英特尔®傲腾™ 固态盘 SSD 还有很高的耐用性,譬如 英特尔®傲腾™ 固态盘 DC P4800X的耐久性能达到惊人的60 DWPD1,每天全盘写入擦除60次,英特尔普通的3D NAND SSD P4600的DWPD仅为3.02,相隔20倍。
因此, vSAN在缓存层用上英特尔®傲腾™ 固态盘 SSD后,当支撑更多的工作负载时, 能够保持稳定的高性能 , 并且通过 英特尔®傲腾™ 固态盘 SSD的低延迟和高耐久性 ,vSAN 所需的Cache Tier 可 大幅降低,纸面数据上的容量配比是1:6,实际上是1:12,也就是说,100GB的SSD可以替代1200GB的NAND SSD 。
在 VMware vSAN官方文档中 1个vSAN集群 理论上最大支持6 4 台物理机;但是银行在生产环境的最佳实践中,一个集群配置为 12台物理机,集群内共享存储 ,物理机的内存使用率不超过8 0 %。 3个 v SAN集群组成一个 单元 ,为最小 的建设或 扩容规格 。 vSAN 节点服务器选择 基于x86架构的英特尔®至强®可扩展处理器系列 的 5218 型号,单路 16C的CPU处理器及768G容量内存的 物理服务器,其详细配置如下表所示:
可选择的节点物理机型号有 华为2288HV5 、 浪潮NF5280M5 、 H3C R4900G3 、 联想SR650.
银行部署敏态业务应用系统时,基础设施环境通常是建设为私有云平台。当前主流的私有云平台方案是选择各大公有云厂商对企业输出的,且支持私有化部署的专有云产品,其专有云的架构是采用计算存储分离架构,方案中含有多种存储服务产品,都是隶属于分布式存储,包括:分布式块存储、分布式对象存储和分布式文件系统。
以分布式块存储为例,在专有云方案中也称为云硬盘,典型的产品架构 由CBS接入、MDS(Meta data Server)控制集群和CBS存储集群构成。CBS接入收到CVM云主机集群的数据读写请求后,根据MDS提供的集群路由信息,将读写请求转发至对应的CBS存储节点中 ,如下图所示:
云硬盘服务提供三种规格:
· 普通云硬盘
· 高性能云硬盘
高性能云硬盘是基于海量分布式存储的运营使用经验,通过对海量访问数据分析,采取了冷热数据分区等技术而推出的兼顾了低成本与高性能的云硬盘产品。采取了SSD+HDD混合硬盘机型,通过SSD缓存、大块IO透写等方式保证了相对低成本下的硬盘性能大幅提升。
· SSD云硬盘
SSD云硬盘基于全SSD存储介质,利用三副本分布式存储技术,提供低时延、高随机IOPS、高吞吐量的 I/O 能力及数据安全性99.9999999% 的高性能存储,可以作为云服务器的独立可扩展硬盘使用。SSD云硬盘相比普通云硬盘的随机IOPS 性能有20+倍的性能提升、吞吐量有8~16倍的提升。
公有云厂商为满足用户高负载交易系统、 高吞吐的电商系统、面向人工智能的数据分析系统 、联机应用的 核心数据库、 高并发CDN等的高性能需求,一直在进行深度优化以全面提升云硬盘的性能,采取的优化措施包括:(1)、支持远程直接数据存取(R emote Direct Memory Access ,RDMA)协议, 加入轮询、算法优化、消除竞争以及消除锁等机制 以 优化存储引擎 ;(2)、使用 英特尔的SPDK (Storage Performance Development Kit) 开发套件 以 优化NVMe 固态盘的 IOPS 和时延性能 ;(3)、使用 英特尔®傲腾™持久内存 技术以优化云硬盘的 数据落盘 方案 。 优化前的数据落盘方案如下图所示:
上图中, 来自计算集群的云主机数据首先通过 HASH 找到或分配到对应的块节点 (Block Node) 中,然后数据会被缓存到不同的 Page。接 着 ,系统需要进行执行两次写操作,一次将业务数据写入 SSD 固态盘对应的数据区;另一次是将元数据 (Metadata) 以 LOG 方式追加 (wAppend) 写入固态盘中。整个过程, 基于NAND的 SSD 固态盘 一次写入延迟通常为数十微秒,两次写入就会有数十乃至近百微秒的延迟 ;在 数据写入 时 需要以块为单位,且写入前需要做擦除操作等特性,一方面会带来写入效率的降低,另一方面反复擦写也大幅降低了其使用寿命(即“写入放大”问题) ; 在LOG 的回收过程中还存在相应的毛刺问题 。
英特尔®傲腾™ 持久内存 技术 是 通过一种全新的无晶体管存储架构,在三维矩阵中堆叠存储网格,从而在提高存储密度、增强读写性能的同时,提供 了 持久化的存储能力 。 与传统DRAM内存相比,英特尔®傲腾™持久内存的两大优势包括存储密度更高、单位存储成本更低,具有 较 好的经济效益,其次通App Direct模式下的英特尔®傲腾™持久内存能够有效充当 云硬盘产品 的数据持久化存储载体。 优化方案使用 英特尔®傲腾™持久内存 的收益如下:
数据读写时延大幅缩短:
相比NAND 固态盘数十微秒的读写时延,英特尔®傲腾™持久内存的读写时延可控制在 1 微秒以内; 另外, 借助PMDK (Persistent Memory Development Kit) 开发套件 提供的函数库与工具,英特尔®傲腾™持久内存可对整个写入流程实现更加细致和准确的控制,并有效提升系统的写入性能。
系统使用寿命有效提升:
英特尔®傲腾™持久内存可按字节寻址的特性有效解决了 NAND 固态盘的“写入放大”问题,避免因反复擦写造成的设备使用寿命降低;另 外, 英特尔®傲腾™持久内存独有的存储结构 也 具有更长的使用期限;
增强存储空间使用效率:
英特尔®傲腾™持久内存允许单独访问和更新内存单元,所以无需再执行垃圾收集,进而避免了NAND 固态盘面临的回收毛刺问题,提升了存储空间的使用效率。
上图中,来自计算集群的 数据通过HASH分配到对应的块节点并缓存到页面中,然后数据就马上被持久化存储到英特尔®傲腾™持久内存中,同时页面/块的元数据也会直接更新到对应的数据区中。除数据落盘过程实现优化之外,还可以通过定制化的策略和算法,决定英特尔®傲腾™持久内存中的数据 进一步下刷到固态盘中 。例如,将需要频繁读写的“热数据”保留在持久内存中,而长时间不需访问的“冷数据”定期被后台转移至SSD里降低TCO 成本。
云硬盘的存储节点服务器通常是选择 基于x86架构的英特尔®至强®可扩展处理器系列 的 5218 型号,单路 16C的CPU处理器及64G容量内存的 物理服务器,其详细配置如下表所示:
分布式存储的出现得益于云原生应用的发展 、网络技术 以及存储 软 硬件 技术 的持续演进和优化。随着 银行业务的 不断增长以及互联网业务的兴起 ,业 务数据呈现几何倍数的快速增长, 银行数据中心逐步 建设 了 更为高效的 分布式存 储系统 。当前应用场景如下:
为银行的互联网业务应用、备份归档、附件、渠道柜面、手机银行 APP 等提供分布式对象存储,总对象数量超过1 00 亿个。
银行后面的分布式存储的演进方向,一是根据银行各个应用场景的要求,和厂商进行产品联合创新和优化,譬如在CPU计算方面, 采用英特尔®至强®可扩展处理器的安全保障业务恢复能力和敏捷服务交付能力 ;在内存处理方面,采用 英特尔®傲腾™持久化内存 作为缓存 承接小IO 写性能以及第一级读性能,提升 读写 数据的 性能 ,从而更快地处理大量数据 , 即便在断电时,数据也能够保留在持久内存中,有助于保护存储数据,避免数据丢失 ;在存储读写方面,采用 全闪存阵列硬盘,优化存储硬盘的读写能力,提供更高的IO能力和读写性能,以更优质的存储能力更好地为业务服务。
另外的演进方向结合银行私有云的建设,在技术上跟随公有云厂商的存储技术发展路线,进行技术归一化的规划。譬如各大公有云厂商的专有云方案中存储产品的组网是简捷的,其稳定性和规模也得到了公有云的实际验证,对于银行降低运维管理成本、提供良好和丰富的存储服务能力、冷热数据分层的成本管控、数据湖建设都有积极意义。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞8
添加新评论4 条评论
2023-08-03 10:48
2022-02-10 15:53
2022-02-10 15:45
2022-02-09 16:17