《云平台存储项目实施配置方案.docx》由会员分享,可在线阅读,更多相关《云平台存储项目实施配置方案.docx(16页珍藏版)》请在第一文库网上搜索。
1、云平台存储项目实施配置方案云平台存储项目实施过程中,做好规划可以避免后续实施中出现的问题和困难,在实施规划时要充分考虑哪些方面,该如何思考和设计?本议题将从性能、故障隔离、安全、扩展能力等多个方面加以阐述,希望给同行们一些借鉴。云平台存储项目实施过程中的配置关键问题(如性能、故障隔离、安全)如何解决?社区专家主张张鹏某金融科技公司高级技术主管:本议题由我本人、某金融系统高级主管赵海、某股份制银行运维工程师陈宇对关键点进行观点主张,这些主张在民生银行科技部数据库架构师孔再华、某金融科技公司资深集成工程师孙伟光、无锡农商行科技管理部系统管理团队长高晓峰等专家的复议之后,最终形成了一定的共识,希望可
2、以为同行带来参考。张鹏某金融科技公高级技术主管:云平台基础架构在配置前对计算、存储、网络等资源需要进行统一规划,云平台存储在配置前需要在稳定可靠、扩展灵活、性能平衡、冗余保障、故障隔离、安全防护几个方面达到一定的要求。云平台基础架构层的存储通常有哪些?从云平台对外提供的云服务划分,可以大概归纳为块存储、文件存储、对象存储。块存储主要面向云主机提供云硬盘的服务,通常通过集中式SAN存储或者分布式存储部署。文件存储主要面向基于IP网络的文件类型数据的存储,通常通过传统NAS存储或者NAS网关结合分布式存储的方式部署。对象存储主要面向基于HTTP/HTTPS协议的Web服务接口,用于数据湖、网站、移
3、动应用程序、备份和恢复、归档、企业应用程序、IoT设备和大数据分析等应用场景的存储服务,通常由对象存储控制单元和分布式数据存储单元组合部署。云平台基础架构在配置前,计算、存储、网络等资源需要统一规划。传统IT系统配置中,各资源耦合性相对低,界面分层比较明显。云平台环境中,各个资源高度耦合,存储和计算可分为存算一体和存算分离两种分布式架构,配置规划时要分别考虑。存储和网络的联系更加紧密,集中式SAN存储配置时要考虑光纤通道网络、存储、计算的互联以及云平台纳管,分布式存储配置时要考虑业务网络、存储网络、管理网络和有灾备要求情况下数据复制网络的规划。云平台的存储配置时需要在稳定可靠、扩展灵活、性能平
4、衡、冗余保障、故障隔离、安全防护等几个方面达到一定要求。稳定可靠基础架构的稳定性对于一个云平台是至关重要的。包括存储、网络、计算节点自身的软硬件稳定性,和它们之间通信的稳定性。在云平台运维管理侧,还要考虑监控、日志、告警、流程、自动化等功能的部署,增加平台的故障自愈,故障溯源的能力。扩展灵活扩展包含两个方面:横向扩展和纵向扩展。集群横向扩展主要包括计算节点、存储、网络资源“节点级别”的扩展,例如新存储节点设备新加入集群后,其上的所有业务均能在新节点正常运行,同时新节点的加入对普通用户来说是透明的,即用户不会感知到集群的横向扩展。云平台的分布式存储的横向扩展能力比较强,部署也比较灵活,需要在网络
5、规划方面充分预留网络资源。纵向扩展即是在整机中加入新的CPU、内存、硬盘、网卡等组件以提高单机性能。云平台中的集中式存储通常容量的扩展属于纵向扩展方式。分布式架构下的存储扩展配置和集中式架构的存储扩展配置完成后,关注点不同,例如分布式存储关注节点级的重平衡,集中式存储关注磁盘级的重平衡。性能平衡云平台可以提供性能型、容量型等不同规格的存储服务。在配置云平台基础架构层的时候,要根据不同的应用场景,通过不同的存储来实现。对于性能要求比较高的应用场景,例如交易型应用,在分布式存储的磁盘配置中考虑SASSSD或者NVMeSSD磁盘。对于容量要求比较高的应用场景,例如备份归档应用,在分布式存储中可以考虑
6、大容量的SATA磁盘。对于一些安全性、性能性、业务连续性要求更高的应用,例如数据库应用,可以考虑裸金属服务器,和SAN光纤通道存储配置SASSSD或者NVMeSSD磁盘,并结合SAN存储的复制和快照特性进行灾备配置。冗余保障对于云平台而言,冗余性有两方面需要考虑,一方面是能力冗余,即尽量保持不同资源上容量和性能的平衡,最大程度地减少潜在风险,所以通常在部署时要预估一定的余量。另一方面是故障冗余,和传统架构中高可用性有区别,传统架构中,各个部件、各个连接通道通常采用双冗余的高可用架构,存储自身是高可用架构设计的,存储和服务器之间也是通过冗余的链路进行连接,目的是尽可能消除单点故障的隐患。在云平台
7、的分布式存储部署时,存储集群中采用节点冗余的部署架构,单一的存储节点故障不会影响整个集群的正常运行,单一的存储节点的部件和连接通道配置时非冗余部署的方式居多。故障隔离SAN存储通过Zoning和1UNMaSking技术实现的是资源的隔离和访问控制,能在一定程度上做到故障隔离,但是不全面,因为1UN是在存储池或者RA1D组上抽象出来的,存储池和RA1D组的故障,会影响到上层抽象的所有1UN;同时某个租户对1UN的高性能访问,产生热点数据可能会影响整个存储的性能。分布式存储的软件在设计时考虑了均匀分布,性能平衡,隔离故障,节点异构等方面,尽可能在资源隔离和故障隔离方面做了考虑,需要在实施配置时,尽
8、可能的在存储节点硬件的配置和性能达到统一,数据分布的均衡方面特别注意,尽量减少故障发生或局部热点数据对整个存储集群产生影响。安全防护云平台存储的安全风险,一是由于身份认证和访问控制的问题有可能造成数据被假冒或窃取;二是由于数据在云端存储和传输过程中的保密问题有可能导致数据被篡改或隐私泄露;三是由于云平台存储缺乏传统网络的物理隔离和防护边界的问题(云平台存储利用虚拟化技术的结果)有可能造成数据被越界访问;四是由于云平台存储之上的应用导致的数据非法访问和破坏等(例如在SaaS提供的接口上进行二次软件开发,存在多用户对同一应用进行开发,有可能存在代码监管缺失的安全隐患)。如何减少风险,在配置时需要采
9、用一些措施。加密是云平台存储系统中实施数据保护的最常用也是最重要的方法,租户可以在对数据进行加密后,直接把密文传输到云端进行存储,租户保管密钥,且只有自身才能进行解密。针对关键数据的加密传输和加密存储技术,是配置时需要重点考虑的。加固技术是云安全存储的一项重要技术,主要保障云平台操作系统安全,首先要确保存储底座操作系统的安全性,尽可能减少不必要的软件漏洞。通过主动防御功能,应能抵抗内外网络对操作系统的拒绝服务攻击以及阻止内部网络对外网的攻击。通过存储分离,确保虚拟机或容器只能访问已分配给自身的存储空间。赵海某金融系统高级主管:云平台存储项目建设过程中,针对不同的存储类型有不同的优化方法。企业存
10、储性能优化时主要考虑规划时的优化配置、存储引擎硬件配置、存储引擎端口资源、存储软件参数策略等方面;分布式存储性能优化时主要考虑业务区分、数据管理、容错设计、网络通讯、数据分布、配置参数、硬件配置几个方面。纵观存储的发展,从最原始的DAS架构发展到NAS和SAN并存的架构,从NAS&SAN并存的架构发展到基于互联网基因和云计算基因的云平台存储架构,其架构变得越来越复杂。这必然带来性能上的损耗,这与我们大部分数据业务场景追求性能的目标是相悖的,那么如何解决这个矛盾呢?一、企业存储优化思路总结企业存储主要包括集中式架构的SAN存储和NAS存储。企业经历集中式存储的时间相对而言比较长,那么在面临性能优
11、化的问题也有一套相对比较完善的思路,总结来看主要从以下几个方面实现:1 .规划时的优化配置大部分的性能优化问题都归根于规划设计不够精细准确,所以解决性能的非常关键的因素就在于规划,存储卷的数量、分布、分区(Zone)映射等相关配置。如果DBA对数据库数据文件使用的存储卷规划不够均衡准确,必然造成某些卷的高热点IO访问,如果这个卷所依附的分区映射又不是非常合理均衡,那么这个问题就会无限放大。因此传统存储实践前的规划,需要架构师在上层应用的存储使用容量、数目、负载等各方面进行梳理和分析,本着均衡分布的原则将卷的使用映射到存储资源上,这样才能最大限度减少后续性能优化问题。2 .存储引擎硬件配置主要通
12、过观察存储运行过程当中关键指标(CPU、Cache)的峰值以及平均值的情况,来衡量当前控制器内的硬件配置是否已经成为系统性能的瓶颈,通常传统集中式存储支持单独升级CPU、CaChe硬件的场景较少,一般都是通过增加CaChe卡或者控制器扩展的方式来解决。当然,在具体分析的时候需要根据其他指标的评估来判断是否因为其他特殊状况引起的资源占用问题,这种情况并非需要增加硬件资源。3 .存储引擎端口资源主要通过观察存储运行过程当每一个前端端口和后端端口的使用情况(使用率、均衡性、吞吐量)等相关指标在一定周期内的平均数值,来评估板卡端口容量以及配置是否有性能问题。如果端口数量容量没有问题,只是出现了负载不均
13、衡的状况,那么就需要手动调整Zone映射的配置来调整其平衡性。4 .存储软件参数策略所谓与性能问题息息相关的存储软件策略,主要是指存储产品开放出来的一系列软件参数以及分层策略。通常是通过观察存储运行过程当中的系列关键指标(IOPS1atencyXThrOUghOUt等),来判断软件层面的队列参数、存储单元参数、读写控制参数、缓存控制参数等来实现一部分优化。如果是针对个别存储卷的问题,可能需要将数据反馈到系统管理员和DBA层面进行操作系统及数据层面的优化。所谓分层策略是指存储资源池当中有SSD、SAS.SATA等多种磁盘的资源池的自动平衡策略,一般通过观察预留资源池容量大小、分层时间窗口策略、分
14、层容量阈值策略、SSD磁盘数量增加等手段实现分层的优化。二、分布式存储性能优化思路对于分布式存储来讲,它的架构复杂度要高于传统的集中式存储,从前期的架构配置规划到后期的运维监控优化都要比传统的集中式存储付出更多的精力和工作。首先,我们从整个的读写流程来看。图1:两种存储读写流程图如图1所示,上半部分是传统SAN存储的落盘路径,下半部分是分布式存储的落盘路径,相对于SAN存储的落盘路径,分布式存储的这个链路就复杂了。应用发出的IO请求会经过以太网络到达云平台存储的路由节点、接口服务层;接口服务层又会将应用特定的服务接口数据格式,转换为底层分布式存储平台接受的文件或者对象格式;在具体写入的时候又会
15、访问元数据,通过元数据的映射表再找到数据节点数据空间,然后完成冗余性复制,才能完成一个真正的IOo也就是说在存储数据服务接口到底层分布式存储平台这个环节会有延时(1atency),从分布式存储平台接受请求、到数据落盘、到数据节点并完成冗余复制这个过程也会有延时。因此分布式存储的性能问题相对更复杂,更需要有系统的思路去执行。1 .业务区分存储资源是为数据业务服务的,数据业务表现在I0PS、吞吐带宽、容量方面的需求和宽容度是不一样的。因此我们在针对不同数据业务场景进行分布式存储项目实践的时候,从软件层面到硬件层面的配置都应该有针对性的标准。例如我们可以按照以下的标准(表1)进行业务的区分:表1:存
16、储指标与业务场景映射表经过对业务场景的精细化梳理分析之后,可以将存储空间的分配对应到按照不同的业务需求划分设计的存储资源池当中,然后再根据资源池的技术指标(IOPS、ThroughoutCapacity)去规划资源池对应的软硬件配置。2 .数据管理通常的分布式存储系统,会把数据分散在大量的存储服务器上,而存储服务器本身都会安装1inUX操作系统,并且有自己的本地文件系统。例如HDFS、1uster.Ceph等分布式存储系统的存储节点都会使用POSIX接口的本地文件系统EXT、BTRFS.XFS等来存储数据。本地文件系统不能很好地适配对象存储需求的扩展性要求:1)数据和元数据分离不彻底,目录树结构的元数据管理方式等导致大规模的对象数据寻址非常慢。2)为了支持事务特性的日志重复写问题,也就是分布式文件系统日志和本地文件系统日志重复写的问题。3)本地文件系统日志的事务性写