易捷行云EasyStack云社区
作者易捷行云EasyStack云社区2019-07-26 12:10
软件实施顾问, 易捷行云EasyStack

海通证券金融云思考与实践

字数 8026阅读 1107评论 0赞 1

本文选自 《交易技术前沿》总第三十二期文章(2018年9月)

海通证券信息技术管理部

王洪涛、王朝阳、纪飞、魏勇、孙颖杰

摘要

本文主要叙述了海通证券在金融科技的发展浪潮中积极探索并实践云计算相关技术,基于“统一管理、自主可控、融合业务、引领发展”的基本理念,经过近三年在研发测试环境和生产环境的架构演进和应用落地,设计并总结出了一套能够支撑海通证券未来创新业务发展的云计算架构基础体系,以实现研发测试环境、生产环境应用构件的快速部署,进一步提高资源使用率和系统可用性。

关键字:金融云、生产云、CMP、OpenStack、SDN、NAS

    • -

1.海通证券积极拥抱金融科技的发展浪潮

伴随着互联网金融的快速发展和普惠金融的深入落地,金融科技能力成为传统金融企业支持未来业务发展,实现企业数字化转型的核心能力。在此背景下,IT逐渐从后台走向前台,IT服务能力和管理水平直接影响着企业核心竞争力的打造。首先,互联网经济背景下,证券行业也催生出更加丰富的业务场景,交易额快速增加、数据量爆发式增长、交易系统和数据处理系统复杂性不断提高,同时对IT系统的扩展能力、大规模集群和高效管理能力提出了更高的要求;其次,科技创新已经成为企业的核心竞争力,新型业务的研发、测试、部署和多业务系统的运营给IT基础设施的性能、敏捷性、可靠性和管理效率都带来了更大的挑战。

作为中国综合性证券机构中的龙头企业,海通证券主动拥抱金融科技的发展浪潮,积极的探索和调研云计算相关技术,并率先在行业内启动金融云的建设规划。

1.1.海通证券在金融云方面的发展规划

作为支撑金融科技的全新基础设施形态,云计算成为企业金融科技能力建设的关键抓手。在金融行业,《国务院关于积极推进“互联网+”行动的指导意见》(国发〔2015〕40号)中明确指出“支持银行、证券、保险企业稳妥实施系统架构转型,鼓励探索利用云服务平台开展金融核心业务”后,云计算成为金融行业实施“创新驱动发展战略”的引领性创新技术之一。包括银行、证券、保险企业在内,金融云的建设进程持续深入,越来越多的金融机构将面向互联网场景的IT系统迁移至云平台。

1、稳步建设海通证券金融云:2016年08月,海通证券发布了《海通证券2016-2020年科技发展规划》,文件中明确要把“稳步建设海通金融云”作为今后5年科技发展规划的主要任务之一,“采用虚拟化和软件定义技术,建立服务器、存储、网络设备资源池,实现基础资源共享和自动化管理,为生产、测试、研发环境提供按需服务、按需计量能力;采用容器技术,实现生产、测试、研发环境应用构件的快速部署,提高系统可用性和部署效率;结合业务具体需求,开展软件云化服务试点”。

2、海通证券金融云的定位:在符合合规性、安全性、可用性的前提下,通过使用OpenStack框架,构建出具有一定服务能力和金融架构特征的IaaS到SaaS的金融云平台。在此平台基础上,立足海通证券的经纪业务、投资业务、资管业务,发挥海通证券在证券行业的龙头地位的优势,在利用技术平台进行业务能力输出的同时加强海通金融生态能力的建设,进一步构建上下游业务信息、资金、风险、信用信息等的分享和交换平台。

3、五年五朵云蓝图:按照公司战略发展规划和业务的需要,按需有序的建设桌面云、研发测试云、生产云、托管云和行业云。


图1:五朵云蓝图

1.2.海通证券金融云现阶段建设成果

在公司高层领导的支持下,各部门通力协作,目前已落地三朵云,包括桌面云、研发测试云和生产云。生产云的落地,标志着海通证券有足够的能力驾驭云计算相关技术、标志着海通证券金融云进入了一个更具挑战、需承担更多责任的新阶段。

截止到目前,海通证券金融云运行平稳并取得了一系列阶段性的成果:

1、IaaS 层异构资源池纳管:实现了以基础设施平台API为基础,统一管理各种异构资源池,实现对IT团队基础设施资源的统一交付。

2、提高资源利用率:通过软件定义技术,使物理服务器的资源使用率平均达到70%以上,相较于传统的虚拟化技术,大大的提高了资源的利用率;同时建立了资源回收再利用的机制,从而有效的控制了IT成本。

3、提高运维效率:金融云平台引入了“自服务”的理念,最大化的减少审批流程,终端用户自主申请并创建所需资源,管理人员统一视图管理,大大降低了运维复杂度。

4、IT资源可计量:金融云平台打造了一个“使用资源-实施计量-按价计费-定期账单-成本优化”的闭环,可以实现小时级计量计费,使成本更加透明。

5、团队建设:金融云团队储备了丰富的云平台规划、设计、实施、运维和运营等方面的经验,同时也积极创新,申请多项发明专利。

1.3.海通证券金融云架构概述

目前金融云主要有三层架构组成:1)多种基础物理资源层,如:X86服务器、网络设备、存储设备、IBM小机等;2)云计算基础架构平台层,如基于OpenStack的纯软件定义化的资源池、基于VMWare的计算虚拟化资源池和基于公有云服务的资源池等;3)统一访问层,以服务于最终用户、运维管理人员、决策者和外部接入程序。

本文后续的章节会重点讲述基于OpenStack的生产云架构,生产云的建设是在充分利用研发测试云经验的基础上,进一步提高平台的便捷性、网络/存储性能和相应的服务能力,同时为跨Region的应用高可用部署打下基础,主要的技术点有:

1、Multi-Region :采用Multi-Region的架构,不但可以实现应用跨Region的高可用,还可以实现平台滚动升级。

2、多后端存储资源池:提供多种类型的存储,从而满足不同的业务使用。

3、硬件SDN :不但可以提高网络的性能和稳定性,还可以实现租户网络和物理网络的统一管理。

4、资源池抽象:在CMP 层把异构资源池进行池化抽象,进一步方便管理。


图2:海通金融云架构图

2.基于开源、自主可控(OpenStack)

海通证劵在业务创新的同时,积极探索并构建创新型的IT架构,以实现“科技支撑业务”到“科技引领业务”的信息化转型。以云计算为代表的金融科技技术,不仅符合金融行业合规性需求,还具有提高IT资源利用率、提高服务连续性等能力,比传统架构更为有效地支撑金融创新。

海通证劵综合考虑并评估了自主可控、稳定安全、技术先进、广泛兼容等要素之后,经过充分的技术验证,最终选择基于OpenStack框架的技术方案:1)OpenStack开源的技术架构,符合海通证劵金融云自主可控的要求;2)OpenStack作为私有云的主流技术之一拥有完整的基础架构资源框架;3)OpenStack积极分享、开放的社区模式,也利于持续赋能技术团队,打造业务和技术兼备的综合型人才。

2.1.Multi-Region架构优势

基于公司长期的战略规划发展,在充分的验证的情况下,海通证券金融云在行业内率先使用了Multi-Region架构,这套架构与标准OpenStack部署相比,主要的优势体现在以下三个方面:

1、支持业务高可用:配合集群化的应用部署架构,同一应用组内的不同虚拟机部署在不同的Region资源池内,以实现应用的跨区域部署和服务,从而达到业务系统在多Region架构下的分布式部署、统一管理的效果,以支撑业务跨区域的高可用架构,进一步提升云平台和业务系统的整体高可用性。

2、两地三中心架构:不同的Region之间完全物理隔离,具有不同的OpenStack计算和存储资源;同时,该架构是基于SDN网络的Overlay 层的,两个Region之间分属不同的VPC ,也实现了网络层面的隔离。通过SDN的外部网络(经过防火墙)把两个Region的public网络平面打通,从而实现两个Region统一身份认证,统一自服务界面。基于此方案,未来可平滑扩展至多个不同的数据中心,为实现两地三中心的金融云服务奠定基础。

3、滚动升级:此外,Multi-Region架构的另外一个优势是:在一个Region内升级、扩容、缩容的同时,不会影响到其它Region云平台基础架构对外提供服务。


图3:Multi-Region架构图

2.2.基于VxLAN 的业务网络模型

1、VLAN 的限制:传统组网情况下,创建虚拟机后会分配一个VLAN信息,虚拟机上线时会携带VLAN TAG,用于隔离不同租户。在K版之前,OpenStack中port只能支持单一绑定,要么是绑定VxLAN,要么是绑定VLAN。如果绑定VLAN,OpenStack上可配置子网规模就会受限于VLAN ID的规格,最多只能有4K个。

如果OpenStack使用VLAN网络模型,则单个physnet创建的子网个数上限是4K个,虽然可以通过创建多个physnet来突破此限制,但是会引入更复杂的运维问题,也不能完全规避此问题,比如如果多个physnet中具有相同VLAN ID的网络落在了同一台物理服务器上,则会产生冲突。

2、VxLAN的优势:如果OpenStack使用VxLAN网络模型,则可以提供多达16M个的虚拟隔离网络,而绑定VxLAN的话,OVS 需要用到物理主机的内核协议栈进行VxLAN报文的封装与解封装,影响数据面的转发性能。

通过层次化绑定技术实现VxLAN到VLAN的转换(即用户虽然创建的是VxLAN类型的网络,但是在OpenStack节点内走的依然是VLAN网络),解决了OpenStack子网规模受限的问题。同时将NVE的卸载从软件的OVS放到真正的硬件设备上,从而大大提高VxLAN报文的数据面转发性能。

2.3.OpenStack的服务能力

按照规划,海通证券金融云会提供从IaaS到PaaS到SaaS到的服务能力,而目前的阶段,IaaS层相应的服务能力和资源已经就绪,PaaS层实现了部分的平台服务能力,而SaaS层的服务能力还在筹划中。

1、IaaS层的服务能力:完全实现了计算、存储、网络全软件定义化,提供了虚拟机生命周期管理、透明的网络/存储管理、策略管理、QoS管理、权限管理等服务能力。

2、PaaS层的服务能力:目前可以提供包括基于Cloudera的大数据服务、基于Kubernetes的容器服务、Oracle/DB2/MySQL/MongoDB/Redis的数据库服务、共享文件服务、应用中心和可视化资源编排的服务能力,其它的服务也会陆续上线。


图4:OpenStack的服务能力

2.4.实施过程中的经验分享

由于OpenStack框架比较庞大,因而在与SDN对接和使用的过程中需要关注的问题点也比较多,以下从架构设计、部署实施和后期运维三个方面列举几个典型问题:

1、DHCP子网规模:不同的SDN方案有不同的DHCP Server实现方式。以华为SDN为例,是把DHCP Server运行在云平台的物理节点上的,而默认的OpenStack安装,是仅部署在网络节点(一般为3个网络节点)上。每创建一个子网,至少会产生一个子接口,透传一个子网VLAN ID进入不同的VxLAN二层域里,而同一物理接口(相对于交换机来讲,也就是一台DHCP Server)仅能支持4K个子网(一般配置一主两备,所以默认情况下一个三网络节点的云平台最多支持4K个子网)。根据云平台规模的大小,可以把DHCP Server同时也部署在计算节点,每次创建子网时,随机选择三个节点启用DHCP服务,可以支持超大业务规模云平台。

2、配置LLDP链路发现:为了记录OpenStack中物理节点网口与Server Leaf网口的对应关系,SDN控制器一般通过两种方式来发现并记录全网拓扑:1)手动添加,这种方式在物理节点较少时比较有效,当节点数量较多,工作量巨大;2)使用LLDP 协议自动发现,这种方式需要在物理节点上安装并启动lldp服务,适合集群规模较大的场景。

根据采购硬件服务器上使用的网卡型号不同,可能默认的一些高级特性会影响到链路发现的过程。海通证券金融云项目采用了目前最新的V5架构的服务器,物理节点板载集成了一块X722型号网卡外,还额外配置了1块或者多块PCI-E万兆网卡,基于高可用的设计,跨网卡间的两个万兆端口会做LACP负载均衡绑定。但是X722网卡的高级特性默认情况下会开启lldp上报功能,且比操作系统层面手动配置的优先级要高,从而导致LACP负载均衡的绑定只能单边链路上报,与预期行为不符合。处理此问题要比定位此问题简单不少,只需要在开机过程中关闭网卡默认的lldp上报功能即可。

3、资源预留比例建议:云平台搭建完成之后,需要对CPU、内存和存储资源进行分配和预留,一般建议在生产环境下预留不低于30%的CPU、内存和存储资源,研发测试环境下可以根据实际情况少预留一些,比如15%。根据目前云平台运维的一些经验,一旦物理机资源利用率超过一定的阀值,则会影响到虚拟机的正常运行。

3.性能容量、各取所长(NAS+Ceph)

在研发测试云一期环境中,后端存储使用了分布式存储Ceph,很好的满足业务需求,不但提供了可扩展的后端存储资源池,性能上也满足了研发测试环境对IO能力的需要。

随着金融云环境上应用场景的不断丰富、数据量的持续增长、数据来源呈现多样性,业务应用对数据可用性、性能的要求也不尽相同,所以在研发测试云二期和生产云一期的项目中引入了NAS存储。通过NAS存储提供的纯SSD磁盘的“超高性能资源池”、纯SAS磁盘提供的“超大容量资源池”和Ceph提供的SSD+SAS磁盘提供的“混合资源池“的架构设计,按照应用对容量和性能的不同要求,在海通金融云中将两类存储方式结合应用,优势互补。


图5:分布式存储Ceph + NAS集中式存储设计

3.1.OpenStack组件简介

NOVA:计算服务,用于提供大规模可扩展的按需自助服务访问计算资源,包括裸机,虚拟机和容器。

GLANCE:镜像服务,用于发现,注册和检索虚拟机镜像。

CINDER:块存储服务,用于虚拟化块存储设备的管理,并为最终用户提供自助服务API,以请求和使用这些资源,而无需了解其存储实际部署的位置或设备类型。

SWIFT:对象存储服务,用于存储可以无限制地增长的非结构化数据。

3.2.NAS存储在OpenStack环境中的部署方案

按照NAS存储承担的功能来区分,主要有以下三种方案:

1、将NAS存储作为传统存储资源供给:在Openstack内部由Manila文件共享驱动通过虚拟机+挂载卷+NFS/CIFS共享的方式为租户提供文件系统的共享挂载点,同一个网络下的其它虚拟机可以通过该挂载点共享同一个文件系统。

2、通过Cinder/Glance/Nova驱动以NFS/iSCSI协议对接NAS存储:将Cinder的云硬盘、Glance的VM Images和Nova的系统盘后端统一对接NAS存储。如果Cinder和Glance落在同一Volume中,可以实现虚拟机的秒级创建;如果Cinder和Glance不在同一个Volume上,则第一次创建虚拟机的时间稍长,待镜像缓存之后,也可以实现虚拟机的秒级创建。

3、通过Cinder驱动以NFS/iSCSI协议对接NAS存储:将Glance/Nova后端对接Ceph存储,用于保存VM Images和系统盘的数据。Cinder对接NAS存储,用于存储数据的云硬盘,同时使用NFS协议的image-cache区,采用copy-offload功能对高频部署的VM Images由Ceph存储Glance命中后缓存到NAS上的image cache区。将OpenStack中Glance的数据存储到Ceph存储中是一种较好的解决方案,既能够保障images的安全性,同时glance和nova在同一个存储池中,能够基于copy-on-write的方式快速创建虚拟机,从而实现秒级创建虚拟机。

3.3.协议的选择:NFS vs iSCSI(NetApp FAS8200)

FAS8200存储可以支持多种协议,比如:NFS、iSCSI和FC等;而Openstack Cinder Driver也可以同时支持NFS、iSCSI等协议,配置简单,可按需部署并及时调整;在海通证券金融云架构中,最终选择了NFS协议,主要基于以下几个方面的因素:

1、NFS在大多常见负载场景的性能优于iSCSI。

2、NFS相较iSCSI有更优秀的文件共享能力,在多个物理节点的并行访问场景的处理能力优于iSCSI(支持更多的VMs共同访问)。

3、NFS在空间回收和空间释放等方面的操作效率高于iSCSI。

4、NFS协议工作在设备上是基于底层永久一致性WAFL(Write Anywhere File Layout)文件系统,可靠性高于iSCSI内置方式的OS的文件系统;NFS本身文件系统由 FAS存储实现,保证数据文件永远一致。

5、NFS可以灵活的扩大和缩小空间,管理更加简单。

6、NFS具有copy-offload特性,可以大大提高VMs的创建效率,iSCSI无此特性。

7、NFS需要创建的Volume数量大大少于iSCSI,方便管理;一般一个iSCSI LUN对应一个VM,而一个FlexVol下可以部署多个VM的卷,适用于多个VMs或者容器的场景。

3.4.多存储后端提升海通证券金融云平台业务价值

海通证券在金融云环境中同时集成高端NAS存储和分布式Ceph存储,并按照业务需求使用不同类型的存储资源池,此架构设计简化了部署流程、提高了实例启动速度、分卷创建更快且全面可扩展能力更强,在降低风险的同时加快了云部署速度,这将进一步提升金融云的服务能力,并带来显著的业务价值,从而为后续大规模应用上云奠定坚实基础。

1、NAS存储的NFS协议与OpenStack无缝融合,完美衔接,终端用户可以享受到灵活、可扩展、高可用的云环境,也会大大推进应用上云的进度。

2、高端企业级NAS存储满足苛刻的可用性要求,可提供99.9999%的SLA,从而进一步提升金融云平台的可靠性。

3、超高性能资源池服务于数据库等关键应用;超大容量资源池可用于存放需长期保存的冷数据;混合资源池则可按需分配使用。

3.5.实施过程中的经验分享

在金融云规划过程中,通过巧妙的设计,把存储流量做到最优化;在实施过程中也遇到了一些关于NAS存储挂载的问题,提前做好预案,从而避免此类问题重演,比如:rpcbind服务在CentOS7.x版本的操作系统中无法开机启动等。

1、存储流量优化:此次项目的的两个Region中,都分别有NAS存储和分布式Ceph存储,通过将相应的万兆光口以LACP 负载均衡模式进行链路聚合,然后与同一个Region(同一个AZ)中计算节点的聚合链路上连到同一组Server Leaf上,进而使同一业务计算和存储之间的数据通讯都在一组Server Leaf完成,流量路径最优,转发效率极大提高,同时减少微突发造成的链路拥塞。

2、rpcbind服务无法开机启动当物理服务器(控制节点、计算节点)重启之后,NFS依赖的rpcbind.service无法正常开机启动(即便是已经设置了此服务开机启动),从而进一步导致NAS资源池无法正常挂载。

在CentOS7.X的操作系统中,这是一个已知的现象,也有相应的解决方案 。建议在环境搭建完成之后,按序重启所有云平台中的主机,检查相关服务是否都正常工作。

这篇文章是海通证券金融云思考与实践的上半部分,主要叙述了OpenStack和存储层相关的内容;下半部分将会重点讲述海通金融云SDN实践、CMP异构管理多资源池的设计和未来规划等相关的内容。

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

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广