第10章 云存储技术
1、 存储组网形态
存储技术是计算机的核心技术之一,计算机的存储技术(如硬盘、网络存储、虚拟化存储等技术)第一台硬盘存储器当时他的容量只有5MB;RAID技术出现;SAN技术出现。
2、存储的分类
根据服务器类型划分:
2、 DNS:优点1.连接简单 2.低成本需求 3.较好的性能
3、 DNS:缺点1.有限的扩展性 2.专属的连接 3.TCO(总拥有成本高)
4、 NAS:优点1.资源共享 2.构建于ip网络之上 3.部署简单 4.较好的扩展性
5、 NAS:缺点 1.可扩展有限性 2.带瓶颈
6、 SAN:优点 1.实现存储介质的共享 2.非常好的扩展性 3.易于数据备份和恢复4.高性能45.低的TCO 6.lan自由服务器自由 7.支持服务器集群手段
7、 SAN:缺点 1.成本高2.需要专用连接技术3.SAN孤岛 4.技术较为复杂 5.需要专业人士维护
11、DNS、NAS、SAN存储组网形态比较
DAS:直接附加存储
DAS(Direct Attached Storage—直接附加存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上。DAS的适用环境为:
1)服务器在地理分布上很分散,通过SAN或NAS在它们之间进行互连非常困难时。
2)存储系统必须被直接连接到应用服务器(如Microsoft Cluster Server或某些数据库使用的“原始分区”)上时;
3)只有单台服务器,存储设备无需与其他服务器共享。
SAN:存储区域网络
SAN存储通过光纤交换机将磁盘空间分配给不同的服务器,服务器通过以太网对外提供服务,存储区域与用户的应用区域隔离。
SAN(存储区域网络)通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑。
高带宽:SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。
独立的存储网络:因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。
管理便捷:SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。
远距离部署:光纤接口提供了50公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。
SAN主要用于存储量大的工作环境,如ISP、银行等,最大的缺点就是成本高。
总结
根据DAS、NAS、SAN的不同特性,DAS及SAN是基于存储空间的磁盘分配,是基于硬件层面的存储方式,而NAS则是基于应用层面的存储方式,可以根据应用环境来对其进行总结。
DAS多采用SCSI或SAS接口,由于部署节点的单一性及较高的性能,适用于单一节点的企业级应用,或者地理位置比较分散的服务器使用。DAS由于部署的局限性目前使用量越来越少。
NAS利用现有以太网网络,因此部署灵活,部署的成本非常低,基于TCP/IP协议的特性可以提供丰富的网络服务,基于文件的形式提供数据的存储及备份,但是TCP/IP协议决定了数据传输的数据打包及解包会占用系统资源,另外传输速率受限于以太网的速率,因此不适用于企业级应用,通常部署于部门级应用。
SAN存储使用光纤网络进行传输,并且独立于应用网络,可以提供非常高的带宽,数据的传输基于块协议,无需对数据进行处理,直接进行传送,因此性能最好,另外光纤线路可以提供远距离的高带宽链路,可以实现数据中心的异地灾备应用,但是部署成本较高。因此SAN存储多应用于企业级的存储部署中。
12、RAID相关概念
RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。
13、RAID 0条带形式可以提供8kb、16kb、32kb、64kb、128kb等多种深度参数
优点1.可多i/o操作并行处理
2.速度快
3.设计是由与配置简单
缺点1.无冗余一个失败数据全部丢失
2.无数据备份
14、适用领域:视频生成和编辑、图像编辑
15、RAID 0至少需要2个磁盘个数
16、RAID0
RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间(如图 2 所示),将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。
RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。
图2 RAID0 :无冗错的数据条带
2.RAID1
RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。工作原理如图 3 所示。
RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块 磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。 RAID1 拥有完全容错的能力,但实现成本高。 RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。
图3 RAID1 :无校验的相互镜像
3.RAID2
RAID2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余。海明码是一种在原始数据中加入若干校验码来进行错误检测和纠正的编码技术,其中第 2n 位( 1, 2, 4, 8, … )是校验码,其他位置是数据码。因此在 RAID2 中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。图 4 所示的为数据宽度为 4 的 RAID2 ,它需要 4 块数据磁盘和 3 块校验磁盘。如果是 64 位数据宽度,则需要 64 块 数据磁盘和 7 块校验磁盘。可见, RAID2 的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多。
海明码自身具备纠错能力,因此 RAID2 可以在数据发生错误的情况下对纠正错误,保证数据的安全性。它的数据传输性能相当高,设计复杂性要低于后面介绍的 RAID3 、 RAID4 和 RAID5 。
但是,海明码的数据冗余开销太大,而且 RAID2 的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算, RAID2 数据重建非常耗时。由于这些显著的缺陷,再加上大部分磁盘驱动器本身都具备了纠错功能,因此 RAID2 在实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供 RAID2 支持。
图 4 RAID2 :海明码校验
4.RAID3
RAID3 (图 5 )是使用专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据按位可字节的方式交叉存储到各个数据盘中。RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验,校验值写入校验盘中。 RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。
如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。
RAID3 只需要一个校验盘,阵列的存储空间利用率高,再加上并行访问的特征,能够为高带宽的大量读写提供高性能,适用大容量数据的顺序访问应用,如影像处理、流媒体服务等。目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,而且 RAID3 在出现坏盘时性能会大幅下降,因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。
图5 RAID3 :带有专用位校验的数据条带
5.RAID4
RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。 RAID4 (图 6 )按照 块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。 RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。
RAID4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验 盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏, RAID4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。
RAID4 提供了 非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈。对于写操作, RAID4 只能一个磁盘一个磁盘地写,并且还要写入校验数据,因此写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足, RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。
图6 RAID4 :带有专用块级校验的数据条带
6.RAID5
RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。
RAID5 (图 7)的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
图7 RAID5 :带分散校验的数据条带
7.RAID6
前面所述的各个 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。 RAID6 (如图 8 )引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。
RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。 RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。
RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,写性能也较差,并有设计和实施非常复杂。因此, RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。
17、各种级别RAID比较
18、快照:快照卷可读取、写入或复制,需要相当于快照源卷20%的额外空间,主要用途是利用少量存储空间,保存原始数据的备份文件,逻辑卷恢复及备份测试数据分析等。
19、把数据存放在不同类别的存储设备中,通过分级存储管理软件实现数据实体数据,实体在存储设备之间的自动迁移。
20、云存储概念与技术原理:云存储两种主流技术解决方案分布式存储和存储虚拟化
1.分布式存储:
- 分布式块存储块存储将存储区域分成固定大小的小会,是传统裸存储设备的存储空间,对外暴露方式。
- 分布式文件存储: 1.提供海量非结构化数据存储空间
2.把分布在局域网内,各个计算机上的共享文件夹集合成一个虚拟共享文件夹。
NAS: 网络附加存储NAS是一种文件,网络存储结构通过以太网及其他标准的网络拓扑结构,将存储设备连接到许多计算机上,建立专用于数据存储的存储内部网络。
GFS:是谷歌公司为了存储海量搜索数据而设计的专用文件系统。
Hdfs:是运行在运用硬件上的分布文件系统,提供了一个高度容错性和高吞吐量量的海量数据存储解决方案。
2.分布式对象存储:具有SAN的高性能和交换网络结构的可伸缩性
组成部分: 1.对象对象存储的基本单元
2.对象存储设备
3.对象存储系统的核心文件
4.系统元数据服务器为客户端提供原数据
5.网络连接对象存储系统的重要组成部分
对象特点:1. 对象是介于文件和块之间的一种抽象,具有唯一的ID
2.每个对象是一系列有序字节的集合,是数据和数据属性及的综合体
3.对象维护自己的属性,简化了存储系统的管理任务,增加了灵活性
4.对象分为根对象、组对象和用户对象
3.分布式表存储:
分布式表存储系统的目标是管理结构化数据和半结构化数据表,存储系统用来向应用系统提供高可扩展表存储空间,包括交易型数据库和分析型数据库。
21、存储虚拟化:分类抽象、隐藏、隔离
三种途径: 基于主机存储虚拟化、基于网络存储虚拟化、基于存储设备存储虚拟化
22、对象存储技术:所有对象都有一个对象标识是传统的块存储。
组成:
1.对象:根对象、分区对象、集合对象、用户对象
2.OSD:负责管理本地的对象是对象存储系统的核心。
它提供了三个主要功能:1.数据存储 2.智能分布 3.每个对象元数据的管理。
3.MDS功能:1.对象存储访问 2.文件目录访问管理 3.客户端cache一致性