云环境下的存储架构选择和存储服务化实现

云环境下银行业务系统、数据和运维的应用特性催生出了对于存储的不同需求,结合虚拟化、容器等业务需求、结构与非结构化数据的占比与增量变化、运维智能化与容灾的需求,企业可以针对性地选择企业存储与分布式存储,构建云平台存储架构。云平台存储架构和云平台存储相关的技术,为银行未来业务发展提供了先进的技术支撑,为架构持续演进奠定了基础。

本文来自微信公众号“twt企业IT社区”,作者/老谷,某股份制银行系统架构师。

一、银行IT基础设施发展趋势

如今,随着银行业越来越重视其IT的投入和建设,而在这过往三十年间,银行的信息系统架构经历了电子化、区域互联、数据大集中几个阶段,2010年以后各大行开始尝试向互联网+数据驱动转型。

对于银行IT存储建设来说,由于新的应用系统规模变得越来越大,将所有业务单元集中部署在一个或者若干个大型机上的体系结构,已经不能满足当今的业务需求。这种部署模式,造成了每套硬件与所承载应用系统的“专机专用”,多套硬件和应用系统构成了“竖井式”部署架构,使得整体资源利用率不高,占用过多的机房空间和能源。应用系统的增多,IT资源的效率、扩展性、可管理性都面临很大的挑战。

由此云的时代在银行业正式开启序幕,由于各大银行都努力基于云架构来构建新的分布式应用,并持续开展主机下移进程,这就形成了银行业务系统独有的集中式(大机上的集中式架构核心系统)+分布式(云上的分布式架构应用系统)架构体系,并结合云计算、大数据等新技术手段,不断优化改进应用架构、扩展节点弹性计算能力、增强系统高可用性,大大提升了业务推陈出新的快速组合创新能力。银行业务系统对架构有怎样的需求,并基于这种创新能力,未来云化服务化的存储架构又当如何发展?

二、银行业务系统、数据、运维对存储的需求

针对金融行业应用的特性,结合应用的具体技术形态,对于存储的需求基本有以下几类:

1.银行业务应用对存储的需求

虚拟机应用的IO特性及对存储的需求

随着云计算、虚拟化技术的推广使用,金融行业不管是交易类系统还是分析类系统,大量应用节点,包括Web服务器、业务处理的App服务器、通讯服务器,及部分体量较小的数据库基本都运行在虚拟机上。为了保证虚拟机的高可用,往往会构建虚拟化集群,并使用共享存储。虚拟机存储的数据和数据访问的特点是:数据存储量大,通常一个虚拟机需要的存储空间在几十GB到数百GB不等;数据的重复量大,可压缩的空间大;对IO性能的要求中等,对于应用节点,IO时延在10ms(毫秒)左右基本可满足要求,如果虚拟机上运行数据库,则IO时延通常要求小于5ms。金融行业虚拟机通常通过共享存储实现虚拟化的高可用,因此,对存储的稳定性有较高的要求。

容器应用的IO特性及对存储的需求

容器上运行的主要是无状态应用和轻量数据库。容器应用对存储的需求,基本与虚拟机的需求类似。由于一些应用没法完全做到无状态,因此,容器应用往往需要共享存储,通常通过NAS来提供共享能力。

数据库应用的IO特性及对存储的需求

数据库系统一直处于金融业务系统的核心位置,几乎所有的应用系统都离不开数据库,数据库系统的性能问题常常是应用系统性能问题的关键。存储系统又在数据库中起着决定性作用。数据库按其处理业务的类型可分为OLTP(On-line Transaction Processing)、OLAP(On-LineAnalytical Processing)和混合型。

OLTP主要处理的是前面所述的交易类系统,这类数据库系统对存储的IO时延极为敏感,并且都是随机读写,通常对存储的IO时延要求在2ms以内,应用系统的并发量越大,对存储性能的要求越高。高IOPS(Input/Output OperationsPer Second)、低时延是OLTP数据库对存储的共性要求。

OLAP主要处理的是前面所述的分析类的应用,这类数据库对存储的吞吐量要求高、IOPS要求高,对IO时延也要求高,通常对存储的IO时延要求在数ms之内,由于OLAP可以容忍数据库的单个SQL响应时间略长,但对应用任务整体处理时间还是有一定要求,因此IO时延也不能太长。

还有一类是OLTP与OLAP混合的数据库,对于混合型数据库,对存储的要求是最高的,既要求IO时延短,又要求存储数据的吞吐量大。但是在高并发的应用系统设计中,通常会将应用拆分,尽量避免使用此类混合型数据库。

•文件共享类应用的IO特性及对存储的需求

有些应用系统的服务器节点之间,需要共享数据库,常见的是文件共享。这类系统对存储的要求是IO时延在几个ms左右,并且随着文件数量的增加,时延不能增加。

2.银行不同数据类型对存储的需求

●非结构化数据和归档数据的IO特性及对存储的需求

非结构化数据和归档数据的特点是文件数量大,文件数量通常在数亿及以上;对存储的时延要求不高,要求在几十ms左右,但是要求存储在容量增加时,性能不能降低。

●结构化数据的IO特性对存储的需求

关系数据库:用于主业务数据存储,提供事务型数据处理,是应用系统的核心数据存储。需要高速缓存,对复杂或操作代价昂贵的结果进行缓存,加速访问。

3.银行运行维护对存储的需求

●运维智能化对存储的需求

基于多设备、甚至是多设备多厂家管理的复杂情形下,金融企业数据中心需要有新型的管理方案,能够按需分配存储资源服务,自动化数据运维管理,支持开放架构、多云链接和融合,支持未来金融业务走向全场景智能、多云融合。

●容灾对存储的需求

在移动互联网已普及、用户对业务实时性需求越来越高的今天,保障业务连续性是重中之重,做好完备的灾备方案规划和实施,实现业务不中断、数据不丢失、操作无感知。在数据中心中,完整的数据保护的过程应该是一个数据加热的过程,热数据应该全部做容灾保障7x24H的业务连续;对温数据来说则需要做热备份,这样当故障发生时,备份数据就能够快速转变成我们需要的生产数据;对于冷数据或是归档数据,当它们转变为温归档数据则能够快速地被调用发挥价值。所以我们说,“热数据全容灾,温数据热备份,冷数据温归档”,这样整个数据的访问效率也会得到大幅度提升。

三、针对不同的业务需求,如何选择存储

企业存储是金融业常见的存储设备,不管是SAN存储还是NAS存储,在金融行业都已使用了二十年。很多银行构建了庞大的SAN存储网络或NAS网络,并且运行稳定。近些年随着云计算技术的发展,互联网企业开始大规模使用分布式存储,分布式存储给银行传统的企业存储带来了冲击。很多金融企业面临分布式和企业存储的选择难题。

对于这个问题,其实不用纠结,不管是企业存储还是分布式存储都有其各自的特点和使用范畴。

1.企业存储和分布式存储的特点

企业存储功能完善,稳定性好,运维简单,监控、运维体系健全,技术成熟,可选择的范围也很广,从中低端到高端产品齐全。不足是:单体容量有限,可扩展性较差,一次性投入大。

分布式存储,通常使用多台PC服务器,构造一个软件定义的存储,其特点是:IO吞吐量大,扩容方便,可以组成大规模的存储池。采购成本可分批次、分阶段投入,设备可以分批次折旧。但是由于分布式存储的成熟度不足,以及分布式存储本身网络连接的条件不如企业存储,导致稳定的性能表现不足,运维相对复杂,配套的监控、运维体系不足。

2.企业存储和分布式存储的选择

在选择上,如果系统对延时要求高,对性能的稳定性要求高,那么最好的选择是企业存储。如果系统对IO吞吐量的要求高,而对性能要求没那么高,分布式存储是较适合的选择。对于大容量的对象存储的选择,基本上分布式存储是不二的选择。在云计算环境、虚拟化平台所用的存储,如果虚拟机本身没有承载高IO性能要求的应用(如数据库应用),那么分布式存储是较好的选择,服务器的扩容和存储的扩容可以根据实际存储的用量同步进行。未来随着分布式技术的发展,伴随着云计算技术的发展,分布式存储也将逐步在一段时间内有一定的发展。

四、私有云环境下,不同架构存储如何适配云架构

1.何为云平台存储

云平台存储,作为一种云计算领域存储服务方式,底层构建在分布式存储基础之上,上层通过Internet形式提供存储服务,除了具备分布式存储基础特性外,更兼具灵活性。

2.云架构下存储的实现

存储向云架构的适配通过分布式文件系统的支撑和统一云管平台的调度。现有的云平台存储分布式文件系统包括GFS、HDFS、Lustre、FastDFS、PVFS、GPFS、PFS、Ceph和TFS等。

我行现有一套私有云环境,由同一套存储系统为上层应用提供块、文件和对象三种数据服务,满足银行业务对结构化和非结构化数据的存放需求,例如:在高性能、高读写速率要求,数据密集型应用场景下:NoSQL/关系型数据库(超高IO存储类型),需通过云平台存储对外提供的集中式块存储服务来实现。在大容量、读写速率要求不高、事务性处理较少的应用场景下:企业办公应用(通用IO存储类型),则通过云存储对外提供的分布式块存储服务来实现。具体的实现逻辑实际是基于:云硬盘,是一种基于分布式架构的,可弹性扩展的虚拟块存储设备。可以在线进行操作,可以对挂载到云服务器上的云硬盘做格式化、创建文件系统等操作,并对数据持久化存储。同时,云硬盘具有更高的数据可靠性,更高的I/O吞吐能力和更加简单易用等特点。而对于影像存储,非结构化数据备份归档需求则通过OBS,一个基于对象的海量存储服务,来提供海量、安全、高可靠、低成本的数据存储能力。

云平台存储内置数据保护功能,例如:备份、容灾等,分布式存储提供多种企业级特性,包括快照、精简配置、备份、加密、压缩、QoS等。

通过云管平台对计算,存储,网络等多种云服务进行统一的的申请发放,帮助我行轻松应对业务快速变化时的信息灵活、可靠存取的需求。保障银行云平台存储系统的数据安全性,超强的可扩展性。

五、云环境下的存储服务化如何实现

未来银行的IT以全行资源池化的私有云为基础,通过云平台存储实现虚拟化存储资源的管理和使用。云存储采用可扩展的分布式文件系统,它将存储作为服务,通过应用软件进行业务管理,统一的应用接口对外提供数据存储和业务访问功能。并通过集群应用、网格技术等技术,将网络中大量类型各异的存储设备整合起来。通过OpenStack的标准接口,对服务器、虚拟化平台、存储、网络、容器等基础设备及软件进行统一的管理。

1.针对于不同需求的存储服务化

●对象存储服务OBS

一项面向Internet访问的服务,提供基于HTTP/HTTPS协议的Web服务接口,银行业务系统在使用时需要该服务可以随时随地连接到Internet的电脑上,以OBS管理控制台或各种OBS工具访问来管理存储在OBS中的数据。此外,OBS需要支持SDK和OBS API接口,可在使用时方便管理银行自己存储在OBS上的数据,以及开发多种类型的上层业务应用。

●文件存储服务SFS

弹性文件服务(Scalable File Service,SFS)提供按需扩展的高性能文件存储(NAS)。

对于银行不中断应用和文件共享的需求,文件服务需要实现同一区域跨多个可用区的云服务器可以访问同一文件系统,从而满足多台云服务器共同访问和分享文件。弹性文件服务要根据使用需求,在不中断应用的情况下,增加或者缩减文件系统的容量。性能随容量增加而提升,保障高可靠性和高可用性,同时保障数据的高持久度,满足业务增长需求。弹性文件服务应同时支持NFS和CIFS协议。通过标准协议访问数据,无缝适配主流应用程序进行数据读写。兼容SMB2.0/2.1/3.0版本,Windows客户端可轻松访问共享空间,从而满足银行业务应用的高效。

●块存储服务

云硬盘应具有更高的数据可靠性,更高的I/O吞吐能力,以满足银行核心数据的存储与使用。

六、小结

综上所述,云平台存储架构和云平台存储相关的技术,为银行未来业务发展提供了先进的技术支撑,为架构持续演进奠定了基础。面向互联网的数字银行IT系统设计越趋复杂,在业务需求快速变化的情况下,微服务的数量也呈指数级增长,传统的模式支撑如此大规模的分布式服务变得艰难,云平台存储架构简化了业务系统基础设施,更利于构建自动化的管理体系。

THEEND

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

更多
暂无评论