第十章 云存储技术
云存储是在云计算概念上延伸和衍生发展出来的一个新的概念。云计算是分布式处理、并行处理和网格计算的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户。
云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性,并节约存储空间。简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。
一、分类
DAS依赖服务器主机操作系统进行数据的I/O读写、存储、维护和管理,数据备份和恢复要求占用服务器主机资源,数据流需要回流主机再到服务器连接的磁带机。DAS的数据量越大,备份和恢复时间越长,对服务器硬件的依赖性和影响就越大。
NAS将存储设备通过标准的网络拓扑结构,连接到一群计算机上,部件级存储方式,帮助工作组和部门级机构解决迅速增减存储容量的需求。
SAN采用光纤技术连接服务器主机,建立专用的数据存储区域网络。
二、磁盘阵列(RAID)
RAID0 :Striped Disk Array without Fault Tolerance( 没有容错设计的条带磁盘阵列,以条带形式将RAID阵列的数据均匀分布在各个阵列中。
- 总容量=(磁盘数量)*(磁盘容量)
RAID 1 :以镜像作为冗余手段,虚拟磁盘中的数据有多个拷贝,放在成员磁盘上。
- 总容量=(磁盘数量 / 2)*(磁盘容量)
RAID3 :以xor校验为冗余方式,使用专门的磁盘存放校验数据, 虚拟磁盘上的数据块被分为更小的数据块并行传输到各个成员物理磁盘上 ,同时计算出xor校验数据存放到校验磁盘上。
- 总容量=(磁盘数量 -1)*(磁盘容量)
RAID5 (条带技术+分布式校验):以XOR检验为冗余方式,校验数据均匀分布在各个数据磁盘上,对各个数据磁盘的访问为异步操作。
RAID6:能够允许两颗磁盘同时失效的RAID级别系统。
- 总容量=(磁盘数 -2)*(磁盘容量)
RAID10 (镜像阵列条带化):将镜像和条带组合起来的组合RAID级别,最低一级是RAID1镜像对,第二级为RAID0。
- 总容量=(磁盘数 /2)*(磁盘容量)
RAID50:将镜像和条带组合起来的组合RAID级别,最低一级是RAID5镜像对,第二级为RAID0。
- 总容量=(磁盘数 -1)*(磁盘容量)
三、云存储的概念与技术原理
分布式块存储
块存储将存储区域划分成固定大小的小块,是传统裸存储设备的存储空间对外暴露方式。块存储系统将大量磁盘设备通过SCSI/SAS或FC SAN与存储服务器连接,服务器直接通过SCSI/SAS或FC协议控制和访问数据。块存储方式不存在数据打包/解包过程,可提供更高的性能。
分布式文件存储
文件存储以标准文件系统接口形式向应用系统提供海量非结构化数据存储空间。分布式文件系统把分布在局域网内各个计算机上的共享文件夹集合成一个虚拟共享文件夹,将整个分布式文件资源以统一的试图呈现给用户。 它对用户和应用程序屏蔽各个节点计算机底层文件系统的差异,提供用户方便的管理资源的手段或统一的访问接口。
对象存储技术
对象存储为海量非结构化数据提供Key-Value这种通过键-值查找数据文件的存储模式,提供了基于对象的访问接口,有效地合并了NAS和SAN的存储结构优势,通过高层次的抽象具有NAS的跨平台共享数据和基于策略的安全访问优点,支持直接访问具有SAN的高性能和交换网络结构的可伸缩性。
分布式表存储
表存储系统用来存储和管理结构化/半结构化数据,向应用系统提供高可扩展的表存储空间,包括交易型数据库和分析型数据库。
四、对象存储技术
1、系统组成
- 对象
对象根据职责不同分为以下类型:
根对象:最高层次的对象,每个设备上只有一个,指定就是OSD本身
分区对象:根对象之下的对象,每个设备上可以有多个,包含具有相同的安全性和空间管理特性的所有对象。
集合对象:分区对象之下的对象,每个设备上可以有多个,包含一组具有相同舒心的用户对象如所有的.MP3对象
用户对象:几个兑现之下的对象,每个设备上可以有多个,有客户端或者应用用过SCSI命令创建的对象。
- OSD
每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。
- 文件系统
文件系统对用户的文件操作进行解释,并在元数据服务器和OSD间通信,完成所请求的操作。
- MDS
MDS控制Client与OSD对象的交互,主要提供以下几个功能:
(1) 对象存储访问:MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。
(2) 文件和目录访问管理:MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
(3) Client Cache一致性:为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。
. OSD
c=0;
setTimeout("document.getElementById('txt').value=0",0);
clearTimeout(t);
}
</script>
</head>
<body>
<form><input type="button" value="开始计时!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="停止计时!" onClick="stopCount()"></form>
<p>开始</p>
……
#### 3、CSS
级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,可以统一地控制HTML中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力。
```c
<html>
<head>
<style type="text/css">
p:first-letter
{
color: #ff0000;
font-size:xx-large
}
</style>
</head>
<body>
<p>
You can use the :first-letter pseudo-element to add a special effect to the first letter of a text!
</p>
</body>
</html>
4、XML
XML (EXtensible Markup Language)即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,它是一种很类似于HTML的标记语言,它被设计用来传输和存储结构化数据。