baimmi
作者baimmi2018-06-05 10:14
系统架构师, 中国银联股份有限公司

金融企业分布式存储方案设计实践分享

字数 8712阅读 5480评论 7赞 11

1、项目概述

1.1 项目背景

目前我司所处的金融行业也正处于技术更新换代变革的时代,传统依托于大小机的各种系统逐渐过渡到云端,X86架构逐渐成为趋势与主流,以各大银行为代表的金融行业开始逐渐采用虚拟化与云计算技术来构建IT系统,提升IT系统的资源利用率。

计算、存储与网络之间的协调联动,构建了一个完整的云平台生态环境;传统的集中式存储由于稳定可靠,一度成为金融机构在建设IT系统时候的首要选择。然而,在新时代,新技术以及新需求的背景下,传统SAN在企业基础设施池化、云化中面临了很多问题:

  • 存储资源弹性问题:多业务负载、资源的动态需求变化
  • 存储扩展的问题:共享、扩展面临了诸多的瓶颈和问题(机头、前后端网络、CPU/Cache与HDD不同步问题)
  • 形态和实施的成本、复杂性问题:独立的存储网络,建设成本高、实施复杂(初始实施、扩减容等)
  • 容错和可靠性问题:大规模集群中容忍的故障域问题(跨机柜、跨机房),硬盘重建时间长问题

针对上述问题,近些年来新兴的基于X86平台的分布式存储系统满足了业务平台日益增长的存储需求,为业务平台提供高安全性、高可靠性、高可用性和开放性的存储服务。

基于X86平台的分布式存储系统基于分布式处理技术、虚拟化技术和集群技术实现,作为云计算资源池存储资源池的一部分,为计算资源池提供高速、可靠、安全的块存储服务。

1.2 项目需求

在大数据时代背景下,金融行业各个企业逐渐地将这些理念融合到自身业务发展之中,并加以创新,期望通过借助大数据的能力,更加深入了解客户,控制风险。金融行业机构继续推进互联网金融战略,探索互联网金融为银行卡数据挖掘、远程开户、虚拟卡发行等业务带来的新机遇,并结合市场需求和新兴技术推出网购一键支付、互联网跨行智能收付平台、云POS等新兴支付服务和产品。

一直以来金融行业机构对于数据中心的核心存储的基本要求却一直很明确:

1、高性能

移动支付业务正走在高速发展的道路上,在过去几年乃至未来几年必定会是产业各方竞争的焦点。从2015年初一直到2016年带二季度,据统计全国第三方支付市场规模一直保持着季度间20%以上的增长速度。在具体业务场景中,每秒的交易笔数也在稳步增长,尤其是在某些特定的节假日或者品牌促销日中,会迎来交易业务的高峰。从企业角度衡量,后端交易系统为了保证业务的稳定运行,势必需要对存储系统提出高性能、高带宽的严格要求。

面对超大规模的数据请求和节点数,存储系统应该有能力进行高效的均衡负载,充分发挥空闲节点的资源保障存储服务质量,提高系统的运行效能;并根据存储设备的性能为业务选择合适的存储资源,对业务进行依据服务等级协议(SLA)进行多层次自动负载均衡和调度。

2、高可靠性

对于金融行业机构来说,数据安全永远排在所有需求的首位。金融行业数据中心的存储系统首先应该具备的就是高可靠性。存储系统自身因该具有一定的容灾备份的能力,包括多副本存储、增量备份、实时快照、数据复制、数据迁移以及无条件的数据恢复能力。甚至于随着数据增长,存储规模扩大到一定程度的时候,很难在一个数据中心内进行资源管理,存储系统应该能够提供跨数据中心的数据存储服务,并支持跨域访问、异地容灾备份、异地双活等能力。

新的存储系统的高可靠性同时也应该体现在能够提供租户和业务的隔离,以及亿用户外单位、以业务为单位、以存储硬件为单位的数据隔离策略上,通过丰富的管理策略,进一步保证数据安全,为数据中心的长久无错运行保驾护航。

3、扩容方便

面对互联网金融和普惠金融的发展,现有的数据中心无法像以前一样预估资源的消耗,因而,没有办法保证一次性采购足够的存储,从另一个角度来说,预估采购会造成资源的阶段性冗余和浪费。

在存储设备的使用过程中,任何企业不可避免的会遇到调整存储资源池的需求。要求存储资源池根据业务的需求增加或者减少存储设备并且会要求在调整的过程中,尽量减少对业务的影响,即业务不能被中断。因而一个支持平滑扩容,无需中断业务即可无缝扩展的存储架构是现有背景下所急需的。

基于X86的分布式存储系统能够针对业务进行专业化的策略管理的新型存储系统,例如根据业务的变化弹性配额、根据业务量的变化弹性存储性能扩展等;提供对租户和业务的隔离以及以用户为单位、以业务为单位、以存储容器为单位的数据隔离。

4、存储系统的通用性强

系统要支持自动对硬件资源的部署、优化和管理,将各类存储资源进行灵活的配置,实现应用按需求(容量、性能、QoS、SLA等)进行分配。同时可以对外提供丰富的标准接口,如文件系统接口(NFS、CIFS)、块接口(iSCIS、FC)或者对象接口(S3、SWIFT);对内能够提供标准的管理接口进行配置,通过策略服务满足应用和客户所需的存储资源,无需人工干预。

由于之前存储系统紧耦合的原因,造成了现有数据中内部常常出现多厂家不同型号的存储设备共存的现象,这些存储设备之间往往没有通用的接口,并且存在技术壁垒,维保服务需要独立采购。基于X86架构的分布式存储系统使得用户在通用硬件设备和上层软件服务的选择上更自主、范围更广。同时新存储系统应该支持自动化简化异构存储设备快速接入和统一管理,对数据中心内部的存储资源实施一致的策略。将传统的不同厂家、不同型号的存储产品利用起来,节约资源。

5、存储系统应该方便部署、易于管理

传统存储系统在建设过程中在,需要配置交换机、划分LUN、配置主机组、映射、识别、多路径聚合等多步操作,十分麻烦;新的存储系统应该将简化运维的理念贯彻实施,具有简化部署的功能,并且在日常管理和错误处理方面能够实现自动化,例如当某个节点发生故障时,系统能够自动将数据复制到健康节点,重新进行负载均衡,整个过程无需人工参与。

存储系统应该为管理人员提供全面的存储可视化,深入洞悉存储与应用的关系,为存储可能出现的问题和趋势以及对存储资源的优化与使用进行报告和预警。智能化的采集和分析,使得存储资源被更加高效地利用。例如对存储IOPS、存储吞吐量以及存储容量的使用进行动态的监测和预测,方便管理人员对存储现有情况进行了解和及时对未来存储的扩容进行规划。

2、架构设计

2016年底,我司计划在创新研究环境中引入分布式存储技术,并为OpenStack私有云平台提供服务,计算存储耦合联动,实现整体架构上的分布式。 一期项目规模为6个节点,采用3副本,共提供80T的存储空间,主要业务租户为创新研究所需的虚拟机。

2.1 硬件平台

2.1.1 存储服务器选型

本次项目服务器的详细配置如下:
1.png

1.png

2.1.2 存储服务器特点介绍

  • 产品定位 浪潮英信服务器NF5270M4是基于英特尔® 至强® E5-2600V3/V4系列处理器,以模块化设计为基础,为客户提供一款较高性能、高可靠性、较低功耗、最佳散热的2U双路服务器。无论是企业级的数据中心还是发展中的企业应用,NF5270M4都可以提供多种灵活的配置选择,可以更好的满足客户不断增长的服务器需求。
  • 目标用户 对稳定性、实用性有较高要求的大型行业、企业及政府用户
  • 产品特性 稳定可靠MTBF超过5年 稳定创新的底层设计,配合精准的气流导向及风扇调节机制,造就了NF5270M4的稳定可靠。经过实测,NF5270M4 MTBF超过5年,可为用户提供稳定可靠的业务平台。
  • 系统性能全面提升 基于英特尔最新平台的E5-2600V4系列处理器,相比上一代多出50%的内核与高速缓存,最大频率达到2400MHz,大幅提升处理器性能。 在内存方面采用最新的DDR4内存技术,最大可支持2.5T总容量,更高密度、更大容量为企业虚拟化和业务处理提供更好的性能。
  • 更好支持分级存储 支持多达24个2.5英寸或12个3.5英寸前置热插拔硬盘,及后置2个2.5英寸热插拔硬盘,可为企业应用提供多种存储解决方案,如大容量硬盘池、分级存储、分布式存储等。
  • 应用举例 数据存储、大数据处理、虚拟化等。

2.2 总体架构设计

分布式云存储系统的核心是统一管理存储资源,面向云平台,提供多样化的数据服务。分布式云存储系统将应用与底层存储解耦,不依赖于传统设备和应用厂商的绑定。在未来数据中心全面转型,整体上云的过程中,实现存储与计算、网络资源的联动,顺应数据价值链向服务转移。

图片1.png

图片1.png

图 2-1 分布式云存储系统架构示意图

分布式云存储系统主要由基于分布式架构的分布式存储系统和轻量化异构存储统一管理组件构成。

基于分布式架构的分布式存储运行在标准的X86服务器之上,利用虚拟化技术,将集群中的存储资源虚拟化为存储池,并向上提供块设备、文件和对象存储服务。同时,分布式存储具有高性能,能够轻松应对各类高负载管理的要求,其中包括业务关键型应用与核心业务系统;多副本及强一致性技术的应用提供高可用特性;极强的横向扩展能力则为业务扩张带来的管理维护提供了极大的灵活性和便利。

轻量化异构存储统一管理组件实现了分布式存储和集中式存储的统一自动化管理,分布式分布式存储通过面向存储统一管理组件开放存储系统的控制接口,实现存储系统的监控与运维。通过开放的接口,异构存储统一管理组件可以实现分布式存储系统的资源划分与服务编排,并对集中式存储设备划分基于不同QoS策略的虚拟卷服务于云平台,实现与计算、网络的联动。

2.3 两种部署方式

在实际部署中,依据计算资源与存储资源是否集中,分布式存储可以采用两种部署方式,分别为超融合部署方式与分离式部署方式。超融合方式与分离式方式最大的区别就是超融合在分离式的基础上,还包含了计算,并通过内部网络实现了计算、存储和网络的融合。

若使用超融合的部署方式,则虚拟机和分布式存储系统均运行在相同的物理机上。典型情况如下图所示。

图片2.png

图片2.png

若使用分离部署的方式,则运行虚拟机的服务器和存储系统服务端位于不同的物理机。典型情况如下图所示。

经过对比,显而易见,由于同时占有计算和存储资源以及网络带宽,超融合部署方式在顺序读取与随机读取的场景下,性能上明显有显著的衰减。

在超融合部署方式的理念下。计算和存储会争抢CPU/内存/网络等物理资源,而且计算和存储又相互依赖,一旦一方资源需求骤升就是导致另一方资源枯竭,进而影响性能并在整个基础架构中产生涟漪效应。其次超融合部署方式在集群规模较大后,网络、硬盘、服务器发生故障的概率都会增大,数据重删、压缩、加密纠删码等功能都用软件实现,故障的自修复和数据功能实现都会消耗一定的系统资源,导致性能下降和抖动。

具体两种部署方案在高可靠、性能、易扩展性、弹性以及易管理等方面的对比如下:

2.png

2.png

结合业务需求与特点,两种部署方式针对的应用场景如下:

3.png

3.png

3、网络设计方案

3.1 在机架式服务器上使用组网方案

3.1.1 单柜10GE组网

图片3.png

图片3.png

说明:
1、服务器上默认配置一块2x10GE的网卡,分别与两台10GE交换机连接,两个网口做bond,缺省为负载分担规模
2、服务器的BMC 网口与一台GE交换机连接,GE交换机上行两个GE线缆分别与两个10GE交换机连接
3、10GE交换机下行承担内部管理、存储、业务平面,10GE上行对接客户网络,默认提供4x10GE,两台10GE交换机堆叠

3.1.2 单柜Infinite Band存储组网

图片4.png

图片4.png

说明:
1、服务器上默认配置一块2x10GE的网卡,分别与两台10GE交换机连接,两个网口做bond,缺省为源目的IP和Port负荷分担模式,对应的交换机端口配置eth-trunk
2、服务器的BMC 网口与一台GE交换机连接,GE交换机上行两个GE线缆分别与两个10GE交换机连接,对应端口做eth-trunk
3、10GE交换机下行承担内部管理、业务平面网络连接,10GE上行对接客户网络,默认提供4x10GE,两台10GE交换机堆叠
4、每台服务器上的两个Infinite Band网口分别与两台Infinite Band交换机连接,两台Infinite Band交换机之间6根线互连,Infinite Band网口承担存储平面的通信
6、后续扩容需要增加10GE汇聚交换机和Infinite Band主干交换机

3.2 在刀片服务器上使用组网方案

3.2.1 虚拟化10GE 刀片服务器组网

图片5.png

图片5.png

说明:
1、每个刀片配置1个2x10GE端口的iNIC网卡或普通10GE网卡;
2、每个机框使用XCUB交换板,通过基本框自级联方式,不使用外置交换机。框间使用4x10GE互联。
3、框内两块交换板通过40G接口堆叠;

3.2.2 虚拟化IB+SSD组网

图片6.png

图片6.png

说明:
1、中心框汇聚,10GE和IB交换板,无外置交换机,最大规模7框
2、每扩展框两块10GE交换板与中心框2+2(40GE)互连,内部管理与业务
3、每扩展框两块IB交换板与汇聚框3+3互连,其中直连2根交叉1根IB线,内部存储
4、中心框上行2+2(40GE),外部业务
5、刀片采用计算存储融合方式,每刀片主要配置:1块2x10GE,1块2x56Gb,2块SSD主存
6、每扩展框存储单面带宽2x56Gb=112Gbps

4、现有业界主流分布式存储产品介绍

分布式存储使用标准化硬件并通过分布式软件实现存储资源的虚拟化。相比于传统的集中式、基于专用硬件的存储系统,分布式存储具有更好的横向可扩展能力,更高的性能,易于管理并且成本更低。分布式存储是云计算技术发展的重要趋势,是未来数据中心的发展方向。

目前,业界对不同分布式存储产品的可扩展能力、性能与可靠性,以及硬件优化配置方案等,还缺乏实践经验和深入认识。为面向金融行业的云计算数据中心建设方案提供前沿性指导,中国银联电子支付研究院组织业界力量,编制了分布式存储存储测试规范,并依据测试规范对目前主流的分布式存储产品进行测试评估。

4.1 免费开源版本——Ceph

Ceph是一个致力于构建下一代存储的项目,在2008年开始建立开源社区并接纳外部的开发者加入项目,2012年Ceph进入OpenStack Cinder项目成为重要的存储驱动,之后开始在OpenStack用户间逐渐试用。从2014年开始Ceph开始吸引越来越多来自不同厂商的开发者加入,包括Yahoo,SUSE和Intel等。迄今为止,Ceph已经成为全球最广泛的开源分布式存储项目,拥有一个得到众多IT厂商支持的协同开发模式。目前Ceph支持OpenStack、CloudStack、OpenNebula、Hadoop等。

Ceph是统一分布式存储系统,具有优异的性能、可靠性、可扩展性。Ceph的架构如图4-1所示,底层是RADOS(可靠、自动、分布式对象存储),可以通过LIBRADOS直接访问到RADOS的对象存储系统。RBD(块设备接口)、RADOS Gateway(对象存储接口、Ceph File System(POSIX接口)都是基于RADOS的。

图片7.png

图片7.png

图 4-1 Ceph存储架构图

Ceph的核心是RADOS,它是分布式对象存储系统,由自修复、自管理、智能的存储节点组成。RADOS作为数据持久层,是RADOSGW、RBD、CEPH FS的基础。分布式对象存储的基本问题是如何分布数据到上千个存储节点上,RADOS的核心是CRUSH(一个可扩展的伪随机数据分布算法)。CRUSH能够有效映射数据对象到存储节点上,而且能够处理系统的扩展和硬件失效,最小化由于存储节点的添加和移除而导致的数据迁移。CRUSH算法达到了效率和扩展性这两个矛盾的目标。

4.2 国内商业版本——FusionStorage & OceanStor DJ

4.2.1FusionStorage

Fusion Storage是一个华为公司发布的分布式存储软件,在通用的x86服务器上部署该软件把所有服务器的本地硬盘组织成一个虚拟存储资源池,提供块存储功能。

FusionStorage采用了分布式集群控制技术和分布式Hash数据路由技术,提供分布式存储功能特性。如图4-2所示,FusionStorage在存储接口层通过SCSI驱动接口向操作系统数据库提供卷设备;在存储服务层提供各种存储高级特性,如快照、链接克隆、精简配置、分布式cache、容灾备份等;在存储引擎层,FuisonStorage存储提供包括管理状态控制、分布式数据路由、强一致性复制技术、集群故障自愈与并行数据重建子系统等功能;同时,FusionStorage软件的安装部署、自动化配置、在线升级、告警、监控和日志等OM功能都可以在存储管理层提供,并向用户提供Portal界面

图片8.png

图片8.png

图 4-2 FusionStorage功能架构图

FusionStorage可以运行在华为自产的服务器上,也可以运行在第三方服务器上,支持设备利旧,盘活现有资产保护已有的投资

4.2.2OceanStor DJ

OceanStor DJ定义为业务驱动的存储控制软件,统一管理存储资源,提供业务驱动、自动化的数据服务。其核心是基于Openstack存储相关组件的增强,实现存储即服务、数据保护即服务、数据库即服务、大数据即服务等。

OceanStor DJ将应用与底层存储解耦,能够使客户不依赖于传统设备和应用厂商的绑定地位。在云化场景下,将存储和数据保护等能力以XaaS的方式提供,顺应存储价值链向软件和服务转移。图4-3展示了OceanStor DJ的功能架构图。

图片9.png

图片9.png

图 4-3 OceanStor DJ功能架构图

OceanStor DJ向上提供数据应用服务化:通过将存储功能软件化、应用化,访问协议解耦,支持文件、块、对象等类型存储资源分配服务;作为开放平台,集成华为和第三方数据保护、容灾软件,提供XaaS等服务能力。

在中间层实现业务部署自动化服务:通过基于策略的资源调度和任务编排,实现存储资源按需发放和自动化部署;支持自服务,提高资源分配效率,降低OPEX。

而向下则提供存储资源虚拟化服务:从控制面通过对企业级存储的管理、资源虚拟化,实现统一管理,提升资源利用率;支持标准硬件,实现快速弹性扩展,承接新型业务和负载。

华为OceanStor DJ在控制面上将存储的功能特性从物理阵列中抽象出来,把具备相同或近似能力的多个物理存储池在逻辑上组成虚拟存储池。用户在请求存储资源的时候,可基于虚拟存储池的SLA能力去考虑,无需关心后端由哪台阵列为其应用提供存储资源。
DJ部署在管理网络,不会部署在数据网络里;数据的传输不通过OceanStor DJ,但可以定义数据路径如何联通 。DJ的存储服务保留了阵列的高级特性,如镜像、克隆、快照、多站点高可用性等,这区别于传统的存储虚拟化技术,不会因为将后端存储视为标准块存储设备而抹杀这些特性。

总体来说,OceanStor DJ具备以下特征:

1、支持异构存储资源的虚拟化管理
2、允许管理员设置存储和数据服务的管理策略
3、支持全局自动化管理
4、为用户提供丰富的自助服务Portal或API接口
5、存储基础架构的无缝扩展,实现可靠性或性能的提升(例如QoS和SLA设置)。
6、用户对存储资源及成本耗费可进行公开透明的监控和管理

4.3 产学研版本——碧海分布式存储系统(BOSS)

碧海分布式块存储系统是上海霄云信息科技公司面向云计算数据中心而研发的大规模存储系统,技术来源于上海交通大学顶尖存储技术团队,系统性能优异、稳定可靠、易于管理,具有完全的自主知识产权。

BOSS使用“分布存储、集中管理”的系统架构。系统软件组件由监控服务器、数据服务器、客户端组成。监控服务器实现集中化的系统配置、管理、状态监控,并负责系统拓扑的实时监控和计算。监控服务器部署在两个不同节点上,实现高可用,并支持数据强一致性。图4-4与图4-5分别展示了碧海分布式存储系统的软件组件与部署方式。

图片10.png

图片10.png

图 4-4 BOSS软件组件

图片11.png

图片11.png

图 4-5 BOSS部署方式

BOSS从通信协议设计、编解码方式、缓存管理算法、I/O调度、多线程和I/O并发性、基于零拷贝的缓冲区管理等多个关键环节都进行了优化设计,使得BOSS可以充分展现存储硬件的性能,满足云计算数据中心虚拟机、数据库等业务对高IOPS和低延迟的性能要求。

BOSS使用专用的Cache管理算法,新修改的数据会立即写入磁盘,从而避免由于断电等故障引起数据丢失。在数据读写过程中,BOSS会对每个副本进行检查,并及时修复损坏的副本。BOSS会周期性对每个磁盘进行可靠性检查,如果发现磁盘损坏,则将该磁盘隔离,并启动数据修复。当磁盘损坏而进行数据重建时,该磁盘的数据会分散到存储池中的其它磁盘,以分布式方式进行数据修复,从而显著缩短修复时间,降低数据丢失风险。BOSS还提供了fsck工具,可以对全系统、指定的存储池(pool)或卷进行一致性检查,并进行修复。

在同一存储池中,用户可以为每个逻辑卷设定不同的副本数,根据数据本身的重要性实现差异化保护。在同一物理存储池中能够为数据提供差异化的保护策略,实现数据保护和存储空间利用率的兼顾,这一特色为BOSS所独创。

资料下载:http://www.talkwithtrend.com/Document/detail/tid/416333

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

11

添加新评论7 条评论

#whdomain系统工程师, hwadee
2018-06-11 21:15
谢谢分享!
#qiuhaoshu技术经理, 恒展数通
2018-06-11 13:11
谢谢分享!
#午夜幽魂系统运维工程师, 计算机有限公司
2018-06-11 09:06
这资料真心不错呀
#xuhuibin网络工程师, 清算总中心
2018-06-11 08:06
谢谢分享。
#llxyzlll其它, 某银行
2018-06-08 14:29
谢谢分享!
#llxyzlll其它, 某银行
2018-06-08 14:29
谢谢分享!
#wuwenpin软件开发工程师, 南京
2018-06-05 11:31
谢谢分享!
Ctrl+Enter 发表

本文隶属于专栏

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

分布式块存储选型优先顺序调查

发表您的选型观点,参与即得50金币。