关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

如何进行云存储架构框架设计?

发布时间:2022-10-10 10:26:55

  随着互联网类新兴业务的激增、业务数据快速增长,云存储技术应运而生。本文深入剖析了云存储通用框架、硬件架构以及其底层原理这三个技术层面的差异性,为云存储架构框架设计提供了理论依据;再结合细分行业及其业务应用场景的差异性需求,最终确定了满足企业需求的云存储总体架构,并详细介绍了架构设计评估和技术选型过程中的一些实践经验。


  1. 概述


  随着互联网类新兴业务的激增、业务数据快速增长,使得企业数据中心存储系统面临新的挑战:大数据、云计算等新技术应用带来了新的存储应用场景;海量数据存储冲击着传统存储架构,性能容量成为瓶颈;存储系统扩容和新建周期长,无法满足业务敏捷需求。


  云存储技术应运而生,敏捷、资源可弹性部署、按需获取的特性很好地满足了数据中心海量数据和新兴业务快速上线的存储需求。


  2. 云存储技术分析


  顾名思义,云存储是在云计算基础上衍生和发展出来的,通过网络将大量异构存储设备构成了统一的存储资源池,在集中式存储技术基础上,融合了分布式存储、多租户共享、软件定义存储等多种云存储技术。


  新技术应用都有其两面性,在设计构建云存储架构框架之前,有必要详细了解和剖析云存储技术,这样才能结合自身需求做好规划。下文将从云存储通用框架、存储硬件架构以及分布式底层存储技术这三方面展开叙述。


  2.1 云存储通用框架


  相比于传统存储来说,云存储系统是一种层次化的体系结构,其通用框架可参考图 1 分为云存储服务和云存储资源池两种,其中云存储资源池是云存储最为核心的部分。


  云存储资源池又可细分为数据存储层、存储抽象层和存储接口层。数据存储层是云存储的基础,由不同类型的硬件设备组成,提供多种 IO 性能的存储资源;存储抽象层实现了不同类型的存储设备的逻辑虚拟化管理,为上层应用提供不同存储资源的抽象,实现存储资源的灵活调配;存储接口层提供了不同类型的存储接口,实现存储系统与外部应用的数据传输。


  云存储服务为用户提供统一的协议和编程接口,提供云数据盘和对象存储服务,是云存储资源调度控制的入口,授权用户可以公共应用接口访问云存储。


  2.2 云存储硬件架构


  数据存储层可根据差异化的需求、细分行业以及不同的应用场景,部署不同架构的数据存储,这也是存储硬件选型的关键。一般可分为集中式和分布式两种存储架构,其中分布式存储中又可以依据计算与存储是否解耦,再细分为独立部署与超融合两种架构,下文将对这三种架构存储进行评估。


  2.2.1 集中式存储


  集中式存储的代表是传统 SAN 存储或 NAS 存储,使用专用硬件和存储控制器。其架构如图 2 所示,存储控制器采用双控或多控互联架构,包含 RAID 功能和大容量 Cache 。控制器后端连接到磁盘柜,磁盘柜包含了多个 RAID 组,每个 RAID 组又包含多块磁盘,这就组成了集中式的磁盘阵列。


  集中式存储一般提供块存储或文件存储接口服务,其优点可总结为:


  性能:IO 分片粒度小,数据 IO 传输路径短,表现为低时延和高 IOPS ;


  可靠性高 :专有硬件和存储控制器的可靠性高,基于 RAID 和硬件冗余等技术也较成熟;


  数据强一致性: 控制器、磁盘间的集中式互联架构最大限度地保证了数据的强一致性。


  当然传统集中式存储也有其劣势,这也是分布式架构兴起的原因,表现在:


  扩展性差: 集中式存储是无法无限制地扩展磁盘柜的,受限于存储控制器的扩展能力;


  成本较高: 集中式存储的高可靠专有硬件也会带来更高的设备采购成本和维保成本。


  2.2.2 分布式存储 - 独立部署架构


  分布式存储采用可扩展的系统结构,通过网络将数据分散存储在多台独立的存储节点上,其架构如图 3 所示,分布式存储 - 独立部署架构由多个专门的存储节点组成,对外提供各种存储服务。


  分布式存储不再依赖于传统专用硬件,大部分部署在通用服务器之上,通过软件定义的方式来实现核心存储逻辑,其优势在于:


  灵活迭代: 相比于硬件的迭代,软件版本迭代周期更快更灵活;


  硬件成本低: 消除了专有硬件依赖,硬件成本低;


  易扩展: 分布式架构易于横向扩展,性能容量线性扩展。


  而分布式存储的劣势在于:


  复杂度高: 相比于集中式单体架构来说,分布式运维复杂度高;


  稳定性低: 部分产品技术成熟度不够,硬件故障或系统异常场景下,存储性能易受影响。


  2.2.3 分布式存储 - 超融合架构


  超融合架构是一个包含计算、网络、存储的整体架构解决方案,其存储本身也是分布式存储。在超融合形态中,计算与存储是同一软件堆栈运行在通用服务器中的,其架构如图 4 所示,大多数超融合产品在其节点上会部署控制器虚拟机 CVM , CVM 会承担存储服务功能,而普通的虚拟机需与 CVM 通信才可访问数据存储。


  超融合倾向于计算层和存储层可以很好耦合的设计理念,除了分布式存储的优点外,其优势还包括:


  降低运维复杂度: 通过架构设计、部署、日常运维管理的简化,单一厂商可提供所有软硬件的支持。


  而分布式存储的独立部署架构的优势在于资源自由调配、计算与存储层可独立部署扩展。这样来看,超融合的劣势如下:


  新的资源孤岛: 无法与外部做资源共享,会带来资源利用率和统一管理问题;


  性能问题: 计算与和存储会争抢服务器硬件资源和网络带宽,性能问题会更明显;


  横向扩展性不足: 性能风险也间接带来了无法大规模部署的问题;


  系统内部复杂性: 系统架构的简化带来了更高的内部复杂性。


  2.3 分布式底层存储技术


  相比于集中式存储,分布式存储的复杂性更高,但更适应大规模的云部署场景,有必要深入了解其底层原理。分布式存储存在着独立部署和超融合的硬件架构差异,而从逻辑层面来看,不管是独立部署还是超融合架构,又主要分为分布式文件系统( DFS )和分布式键值( k-v )存储这两种存储技术。


  2.3.1 分布式文件系统


  云存储技术的复杂性还在于存储虚拟化技术,它屏蔽了数据 IO 与底层数据存储的映射与实现细节。如图 5 所示,分布式文件系统( DFS )是一种虚拟文件系统,本身有着文件目录结构特征。而 DFS 对外提供的存储单元则是由文件组成,这些文件又会被逻辑分片,再按照多数据副本分布算法分布到不同数据节点上。


  基于 DFS 的云存储逻辑清晰,也有着比较广的应用范围,比如 GFS 、 HDFS 等典型应用,包括一些超融合底层存储也是基于 DFS 来实现的,但也存在着明显缺陷:


  扩展性受限: 基于目录结构的文件系统,会成为 DFS 大规模扩展的瓶颈;


  性能方面: 文件目录信息可以通过缓存到内存中来提高定位数据的速度,但是当文件数量达到一定量级时,硬件无法满足时,性能会急剧下降。


  2.3.2 分布式键值存储


  分布式文件系统的文件目录管理遵循着 map-reduce 的设计思路,化大为小,分而治之,再合并处理,其架构中需要元数据管理节点来协调,本质上还是一种中心化;分布式键值( k-v )存储是一种无中心化架构,解决了主节点本身的瓶颈,其架构设计思路则是均衡设计,所有节点的地位都是对等的,通过数据布局算法均衡分布在不同节点上。一致性 hash 算法和虚拟节点是一种通用做法,不同于简单散列 hash 将数据分布在一条直线上,而是采用首尾相连,将整个哈希值空间组织成一个虚拟圆环。


  ceph 是一种典型基于分布式键值的存储系统,其 object 数据分布采用的是 crush 算法,是在一致性 hash 算法基础上,充分考虑多副本、故障域隔离等约束设计而来,其实现原理如图 6 所示。


  与基于 DFS 的云存储相比,基于分布式 KV 的云存储可以支持更好的扩展性,但是也存在如下缺陷:


  复杂度高: 基于分布式 KV 的云存储又增加了一层存储抽象,系统设计和运维复杂度都很高;


  性能方面: 写入延时增加,多数据副本写入的时延更高一些;



/template/Home/Zkeys/PC/Static