分布式存储技术和发展趋势
摘要:
现如今,数据存储对于大众已不再陌生,从磁盘存储到现在的云端存储,与生活息息相关。数据存储系统一直作为信息化系统的重要组成部分,在构建高效稳定系统的同时,也成为大型企业挖掘数据价值、释放数据潜能的关键。与此同时,随着云计算、5G、大数据、AI等新技术的发展和应用程序的落地,对数据存储的需求激增,这推动了存储需求的发展,也为数据产业带来了新的需求和挑战。根据IDC研究机构的预测,从2018年至2025年,全球产生的数据量将会从33ZB增长到175ZB,复合增长率高达27%,数据存储变得至关重要。那么,让我们透过本篇文章一起来了解数据存储的历史、分布式储存技术和未来趋势。
分类: 智能存储 大数据 云计算 人工智能 智能网络 5G
标记: 分布式存储技术 数据中心 SAN NAS 大数据分析 高性能计算
什么是数据中心储存
数据中心是一个拥有核心计算服务和基础设施的场所,我们可以理解为其主要是一个存储和计算数据的物理场所。这个物理场所需要具备充足可靠的电源、良好的散热条件和高度完备的物理及虚拟防护。
数据中心存储是指能够在数据中心设施内存储数据和应用程序的设备和软件技术:
-硬盘驱动器。磁带驱动器以及其他形式的内部和外部存储。例如:直连式存储(DAS)
-存储和备份管理软件及实用程序
-外部存储设施。例如:云存储或远程存储
-存储网络技术。例如:存储区域网络(SAN)、网络附加存储(NAS)
|
|
DAS |
SAN |
NAS |
|
连接方式 |
SCSI |
光纤网络/IP网络 |
Ethernet |
|
共享数据 |
N/A |
需要第三方软件 |
内部设计可提供 |
|
安全性 |
服务器控制 |
软硬件控制 |
网络控制 |
|
管理 |
服务器控制 |
专用软件 |
基于网络 |
|
备份 |
备份时间长 |
服务器不参与 |
方案灵活 |
|
I/O |
块级 |
块级 |
文件级 |
|
处理效率 |
弱 |
强 |
由网络情况控制 |
|
应用 |
单个服务器 |
中小型网络 |
大型网络 |
DAS(Direct-Attached Storage)是一种将存储设备与主机系统相连接的直连式存储技术,也是早期应用最广泛的存储方法, 由于自身局限性而被逐渐淘汰。
SAN(Storage Area Network)是存储设备通过光纤通道交换机的连接实现数据访问、交换和存储的存储区域网络技术,只受光纤线路的长度影响。其存储采用的宽带从原来的100MB/s、200MB/s 到目前的1Gbps、2Gbps、8MB/s 甚至更高。SAN 已成为目前各大数据中心不可缺少的存储技术。
NAS(Network-Attached Storage),即网络附属存储技术,基于标准网络协议从而实现数据传输,存储设备通过网络拓扑结构应用到多个服务器上。NAS设备无需改造就可以用于Unix/Windows NT 数据中心网络内。并且,NAS 产品能通过SAN连接到存储设备。NAS与SAN 的搭配也将是未来发展趋势。
数据中心储存的发展史
数据储存经历了数百年变迁,从结绳记事到刻到动物皮毛骨头的记事方式,再从跃于纸上的描述到如今的IOPS(每秒读写次数)可达到200万以上的全闪存阵列,现代数据储存发生了翻天覆地的变化。
20世纪20年代 录音磁带的发明是磁性储存时代的开始。
20世纪30年代 出现了早期计算机的磁鼓内存。磁鼓储存器在1950到60年代都是计算机的主要储存器。
20世纪40年代 ABC 世界上第一台电子数字计算机诞生,此前都是机械式计算机。
20世纪50年代 ENIAC成数据中心发展雏形,简单定义数据中心可以包含计算和存储,拥有良好备份支持的小型而又完整的功能。
20世纪60年代 数据中心虚拟化技术商业化。
20世纪70年代 灾难备份计划。Alto是首个将计算机所有元素都结合在一起的图形界面操作系统。
20世纪80年代 IBM推出PC5150 台式计算机(server)。
20世纪90年代初 client-server技术模型的出现使主机代管和外部数据中心雏形显现。服务器由单独房间存放,并分层设计,拥有布线和彼此链接,传统数据中心出现。
21世纪初 能耗问题成为议题。PC的繁荣和数据中心的出现占用更多的场所,能耗增加,并以每年10%-15%的速度递增。为此,数据中心的所有者开始部署更加经济高效、绿色环保的基础设施。
2007年 模块化数据中心出现。
2010年至今 云数据中心。云计算能更加灵活地调动资源,对设备进行智能化管理,将计算层、存储层和网络层融合到一个硬件设备中,由超融合架构来管理数据中心。[4]
分布式存储技术和应用
什么是分布式储存?
分布式储存技术并不是将数据存储在某个或多个特定节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,使数据分散在企业存储资源的各个角落。
分布式存储由客户端、元数据和数据服务器组成。客户端(应用程序)想要访问数据D,发送读写请求,对元数据进行缓存。分布式操作引擎,即元数据服务器,管理元数据和处理客户端的请求,是整个架构的核心。数据服务器则负责存放文件数据,保证文件可用性和完整性不被破坏。组件通过一些映射方式,例如:HASH、数据范围分类,将用户引导至数据D。该技术的优点是整体系统具有很灵活的伸缩性,性能和容量可以依据要求同时拓展。
图1:分布式存储架构
分布式存储种类:
分布式存储分为文件存储、对象存储和块存储。
文件存储
数据以单条信息的形式存储在文件夹中,当用户需要访问该数据时,存储在文件中的数据会根据元数据来进行检索和整理来找到确切位置。换言之,这类似于数据文件的库卡目录,每个文档都会按照逻辑层次进行排放并分层储存。适用于 NAS存储方案。
优点:功能多样,可以存储任何内容。适合存储复杂文件且快速检索,使用户体验到高效且稳定的存储功能。
缺点:容量不易扩展。需要添加更多系统来实现扩展,但不能通过扩大容量来实现扩展。
块存储
数据被拆分成块,并被单独存储。数据可存储在Linux 或Windows 环境中,使数据与用户环境分离,将数据分布到多个环境中。用户端发起请求时,这些数据会从不同环境中重新组装成数据块,从而使其更好地提供数据。块存储常见于SAN环境,需要与正常运行的服务器配合使用。适用于大型企业和大型数据库配置。
优点:每个块存储单独存在,数据易分区,用户端通过不同操作系统进行检索来自由进行数据配置,易于使用和管理。
缺点:造价高,且处理元数据的能力受到限制,不得不增加额外成本来弥补。
对象存储
数据被分解成离散“单元“(我们也称它为“对象“)。这是一种扁平的存储结构,文件被拆分成多个部分,被保存在单个的存储卷中。每个存储卷都包含数据、元数据,以及每个对应对象的唯一标识符,这样在分布式系统上可以对目标数据进行查找。不同客户端通过HTTP API实现对对象存储的访问。适用于静态数据存储系统。
优点:成本较低。扁平结构,没有层次,极强的扩展性意味着它有强大的数据存储能力,是云存储的理想合作之选。擅长存储非结构化数据。
缺点:不能与传统的数据库进行配合使用,”对象”无法修改,只能一次性完整的编写,所以不够灵活,相比文件存储来说,对象存储要耗费更长的时间。
分布式存储三种架构及比较:
A:中间控制节点架构:支持文件存储
HDFS(Hadoop Distribution File System):主要用于大数据存储,拥有对大文件存储的高性能。由一部分节点来管理元数据,另一部分节点来进行数据存储。HDFS是适合在通用硬件上部署的分布式文件系统。
图2: HDFS架构
1).Client:与 Name Node 交互获取文件位置。与Data Node交互从而读取或写入数据。
2).Name Node:维护整个文件系统。HDFS框架的核心。
3).Data Node:接收并执行指令。也进行数据存储。
4).Secondary Name Node: 与Name Node 功能相同的二级管理节点,主要对Name Node进行数据快照(snapshots)实现数据备份。
优点:容错性高。可以处理GB,TB和PB级大数据,以及百万以上的文件数量,可靠性高。
缺点:无法支持毫秒级的数据存储。无法高效应对存储大量小文件,内存有限。不支持随机修改文件,只允许单线程录入。
B: 完全无中心架构:支持文件存储,块存储和对象存储
Ceph技术:已成为应用最广泛的开源分布式存储技术。与HDFS的不同之处在于没有中心节点,客户端通过设备的映射来计算出数据位置,客户端与存储节点直接访问。
图3:Ceph架构
1).客户端:负责存储的接入。
2). Rados 是包含MON、ODS,和MDS的存储集群;它用于保存存储对象并始终确保数据的一致性。
3).RBD (RADOS Block Device)提供可靠的分布式存储磁盘给客户端。
4).Rados GW (GateWay)提供对象存储服务。
5).Ceph FS (FileSystem) 是 Ceph提供的一个存储集群,可存储用户数据。
6).Librados 库方便了各种编程语言的访问。
优点:Crush算法的应用、高扩展性、自动修复性强。同时支持文件存储、对象存储和块存储。
缺点:去中心化增加了前期准备工作,扩容时会导致存储系统性能下降。
C:完全无中心架构:支持对象存储
Swift技术 :用一致性哈希的方式来获取数据位置。根据数据名字得出哈希值可映射到设备(哈希环)的某个位置来实现定位。在Swift 框架中存在两种映射关系,其中一种是通过哈希算法找到virtual node,这个virtual node 再通过映射找到对应设备。和提供对象存储的Ceph 服务相似但主要用于完全无中心架构的存储场景。
图4: Swift 架构
这里浅谈一下和Ceph的区别:
a).用户端在进行访问存储系统时,Swift需要一个单独的网络端口来进行数据访问;而Ceph相对灵活,用运行中的Data Node 上的OSD就可获取数据了。
b).在一致性问题上,Swift的处理数据的效率高Ceph一筹,所以Swift主要运用于Open Stack中的对象存储服务,Ceph则不能。
分布式存储技术特性和优点:
a).元数据管理:元数据的存取性能是整个分布式文件系统性能的关键。分布式元数据管理架构将元数据分散在多个节点上,解决了元数据服务器的性能问题,提高了架构可扩展性。
b).系统弹性扩展技术:大数据环境下,数据规模和复杂程度增加迅速,对系统扩展性要求高。
c).储存层级内的优化技术:基于性能和成本的考虑,储存系统通常采用多层不同性价比的储存器组成其存储结构。
d).针对应用和负载的存储优化技术: 与传统数据存储相比,将数据存储和应用耦合提高了通用性。
优点:数据量大、高吞吐量、高性能、高扩展、低成本、易用性、容灾与备份。
分布式存储技术的应用场景:
三大应用场景:
- 大数据分析应用场景:随着互联网、AI和5G 等技术快速发展,大量用户、海量数据以及终端的大数据分析,从这些技术衍生出的业务不断涌现,这些业务的实现和满足需要稳定、高效、系统扩展性强的存储系统作为后端数据支持。
- 大数据云视频应用场景:随着视频高清技术和大数据视频应用的普及,影视制作、视频网站等应用场景都需要技术先进、系统优越、可拓展性强的存储系统。
- 高性能计算场景:集群系统强大的伸缩性,通过增加或删减节点且不影响原有应用的方式来增强和降低系统处理计算业务的能力。根据不同计算的规模可调节系统规模从而提高计算能力,主要应用于航空航天、工程计算、材料工程等。
分布式存储未来趋势
随着业务不断发展,大型企业需要面对多云环境下的数据治理问题。存储容器接口的标准统一,以及支持云、核心或边缘部署将成为趋势。分布式存储可以在一套系统内提供面向文件、块、对象和大数据等多种存储服务,也支持多种接口对接,实现了智能化管理和数据流动效率的提高。
数据存储的供需关系也是推动分布式存储发展的重要原因之一。大量市场需求的存在,对存储能力的要求逐渐提高,同时也刺激和推动了整个存储体系的完善和扩大。运营成本也是企业看中分布式存储的首要条件,与传统存储相比,分布式存储不仅能够提升管理效率并减少维护成本,还能后从容面对根据市场需要来增容减容,更加灵活地面对突发情况。企业在未来会更依赖大数据的采集和分析从而来提升各自业务能力。因此,分布式存储作为能够高度配适大数据分析、云计算和云平台建设带来的需求等,会逐渐替代传统单一存储方式。[2]
总结:
本篇文章从数据中心存储历史开始,带大家了解了数据中心存储历经数百年的变迁、传统数据存储与分布式存储的差异,以及阐述了分布式存储的原理和框架结构、目前分布式存储的应用场景和面对的挑战和对未来的展望。