自学网络存储系统原理与设计Word文件下载.docx

上传人:b****8 文档编号:22417562 上传时间:2023-02-04 格式:DOCX 页数:19 大小:349.85KB
下载 相关 举报
自学网络存储系统原理与设计Word文件下载.docx_第1页
第1页 / 共19页
自学网络存储系统原理与设计Word文件下载.docx_第2页
第2页 / 共19页
自学网络存储系统原理与设计Word文件下载.docx_第3页
第3页 / 共19页
自学网络存储系统原理与设计Word文件下载.docx_第4页
第4页 / 共19页
自学网络存储系统原理与设计Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

自学网络存储系统原理与设计Word文件下载.docx

《自学网络存储系统原理与设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《自学网络存储系统原理与设计Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

自学网络存储系统原理与设计Word文件下载.docx

最后,针对海量存储系统中的实际功能需求讨论了若干关键问题,包括海量存储系统可靠性和可用性,存取安全和连续数据保护等,在每个专题中给出一些具体的设计优化和实现方案的例子。

本书的作者从理论和实践两个方面,全面系统地对海量网络存储系统各个方面的问题进行深入分析和讨论,并结合自身的科研成果以实例的方式细致描述存储系统的研究手段、实现方式和整体思路。

考虑到存储领域,特别是海量网络存储领域,国内外都缺乏能够理论结合实际的资料,相信本书能让广大读者加深理解网络存储系统的运行机制和特点,并能为存储系统研究、开发和产业发展提供一定帮助。

本书共分为9章,其中第1,2,5,6,8,9章由曹强撰写,第4,7章由黄建忠撰写,第3章由万继光撰写,全书由谢长生统稿。

博士生李红艳、刘洋和陈云亮对书中文字和内容进行录入、编排,吴晨涛、吴丹璐绘制了书中部分图表,在此一并表示感谢。

在成书过程中得到了华中科技大学计算机学院和武汉光电国家实验室(筹)领导以及师生的热心支持,书中使用了大量的所在研究组的资料,在此谨以衷心的谢意。

由于作者水平有限,书中难免存在不足之处,敬请读者批评指正。

作者

2009年8月于武汉

第1章存储系统设计原理

自从5000年以前,埃及人把象形文字记录在石牌上面开始,人类通过把文字记录在的特定载体上从而能够把思想从一个人告诉给另一个人,从一代人传递给下一代人。

无数的壁画、石碑、甲骨、竹简等记录了无数的故事和传说,人类的文明通过这种方式,经过无数人知识和经验的积累和世代传承逐渐发展壮大。

纸张的出现、印刷技术的发明使得信息传播的速度更加迅速,使得承载各种知识的文明之火熊熊燃烧并迅猛传播开去。

60多年前,计算机系统的出现,人类纪录知识和信息的主要方式开始逐步摆脱了纸张的约束,以数字方式存放在计算机系统之中,这一过程并得到不断的深化和发展,直到今天人类突然发现通过网络互联的计算机系统取代了充满藏书的图书馆成为知识和信息存储和传播的主体;

无数电子设备(数字摄像机、数字照相机等)可以无时无刻纪录人类身边的每一个变化取代了书斋中的作者以优雅的文字辛勤地纪录身边的历史;

敲几下键盘、点几下鼠标获取所需的信息取代了文山书海中的大量翻阅。

计算机存储系统成为无数知识和信息的最主要载体,同时也是社会正常运转不可或缺的重要保证。

1.1应用需求

伴随着计算机技术发展的信息革命就是不断把各种人类活动过程数字化,并通过各种不同的计算机系统对于这些数字化信息进行存储、传输和处理。

与之相适应的是信息和网络时代对现代信息存储的要求使得存储技术正经历着革命性的发展。

60多年前,第一代计算机ENIAC每秒5000次加法或400次乘法操作的处理速度仅需要100字磁芯存储容量;

而当前一张3600*2700分辨率的数码照片压缩后的大小大约为4MB,由美国航空航天总局(NASA)提供的哈勃(Hubble)太空望远镜拍摄宏伟的螺旋星系M81的单幅照片大小为689Mbytes(其分辨率为29566×

15200,4.49亿像素);

而高清(分辨率为1920*1080的HDTV)画质的电影需要大约20GB的存储容量和3MB/s的I/O持续数据传输率。

除了容量要求之外,许多应用程序对于I/O的响应时间也有了严格的要求,例如许多SLA(Server-LevelAgreement)应用(例如银行和网站)对于I/O请求的响应时间有了严格的规定。

正是这种不断增长的应用需求推动着存储系统从小到大,从慢到快,从简单到复杂,并对存储系统的健壮性、可用性、安全性和管理性提出了更高的要求。

一个有意思的现象是整体而言数字化发展过程大体上正比于当前的数字化程度,从这个结论很容易推导出整体数字化过程具有指数增长的特征。

这产生一个值得探究的问题:

这种发展速度背后的推动力是什么?

一个直接的原因归功于科学技术的发展,而任何一个技术的发展速度又依赖于当前技术的发展水平和对于新技术的期望程度(事实上就是开发这种新技术的投入,包括人力在内的各种投入力度,这也反映对这种新技术的期望)。

显然存储系统的发展符合上述规律,大容量高性能的存储系统满足了当前应用的要求同时也导致更多对于存储系统有更高要求的新应用产生。

一个例子就是Google搜索平台推进了大规模集群存储的发展,而大规模集群存储系统的发展促进了云存储的需求。

下面从数据的容量和价值两个方面讨论应用对于数据存储的不断需求。

1.1.1数据量增长

存储系统革命性变化首先表现为其容量的急剧膨胀。

根据权威机构国际数据公司(InternationalDataCorp.,IDC)最新的研究报告《数字宇宙膨胀:

到2010年全球信息增长预测》中统计的数据,2006年全球每年制造、复制出的数字信息量共计1610亿GB,而人类开始记录历史以来,到2006年为止全部的书本文字加起来大约50PB,显然当年信息产生量大约是图书信息总量的300万倍。

如果将书籍排列起来,总长度为地球到太阳距离(约1.5亿公里)的12倍。

IDC报告同时显示,至2010年,这个数字将猛增到6倍,达9880亿GB,年复合增长率为57%。

与这个报告相佐证,AT&

T的网络每天流动16PB的数据,Google每天处理20PB的数据,Facebook每天存储1PB的照片,Opera浏览器每个月处理多于1PB的数据,而BBC的iPlayer每个月有大约7PB的数据流,Youtube存储了31PB的流媒体数据。

Cisco公司预计:

到2012年每个月网络上视频流大约为5Exabytes(5000PB)。

摩尔定律断言CPU的处理速度每18个月增加一倍,同样通过若干年的观察发现网络带宽和存储容量增长也都具有指数增长的规律。

图灵奖获得者JimGray提出了一个新的经验定律:

网络环境下每18个月产生的数据量等于有史以来数据量之和。

至少到目前为止,数据量的增长基本满足这个规律。

在数字化和网络互联环境中,数据信息膨胀的具体表现为:

1.比特流的无限蔓延,电子数据无处不在;

2.数据在线时间的延展:

过去的信息系统基本上都有后台作业时间,而今天的信息系统却要求网络数据每周7×

24小时时刻处于在线状态;

3.数据存储的结构产生了巨大的变化:

在信息孤岛时代,存储设备基本上是与封闭的、特定的计算机系统对应,而在网络互联时代,数据是跨系统、跨部门、甚至是面向全世界用户的。

除去安全性要求,数据的存取不再受到时间或者空间约束;

4.数据类型的多样化:

基于文本或者固定结构的数据曾经是计算机处理的主要对象,而当前数据类型极其丰富,特别是具有不同结构的多媒体数据层出不穷。

设计新型存储系统以满足海量数据高效存取的要求成为一种必然的趋势。

当然海量数据本身就是一个具有相对性的概念,20年前1GB就是海量数据,10年前1TB也可以称得上海量数据,而当前1PB的系统也并不少见。

虽然在这期间作为主流存储介质的磁盘系统的容量也不断的增加,但一般海量存储系统的容量大约是主流单个磁盘容量的1000倍以上,这必须通过系统的方法构建海量存储系统以满足数据容量的要求。

正像前面所说,大容量的存储设备出现会导致更大容量需求的应用产生。

因此在本书中讨论的海量存储系统并不限定于一个绝对的容量,而是重点讨论通过特定的系统结构增加整体的存储容量和性能。

1.1.2数据的价值

与数据量增长相适应的是数据已成为人类最宝贵的财富之一。

人们在日常生活和工作中越来越依赖于信息技术,越来越多的重要数据被存储在计算机系统中,这在很大程度上促进了信息和数据管理的自动化,提高了工作效率。

对于个人来说,最典型的数据可能是数日撰写的文稿,也可能是数月辛苦下载的多款游戏和数百集的珍藏电视剧与音乐,还可能是数年积累的珍贵的摄影照片或家庭摄像作品。

对于公司和企业用户,信息系统的使用提高了企业事务处理和业务运行的效率,用户需求可以得到方便快捷的响应。

尤其在金融、通讯、交通等行业中,信息系统中保存的可能是非常重要的商业机密,也可能是大量的设计资料和财务数据,还可能是集团公司庞大的人力资源数据库等。

因此,企业对信息系统的依赖性已经到了关系企业存亡的程度。

数据的价值如此宝贵,一旦数据发生丢失或损坏,会给个人和企业都带来不可估量的损失。

对于个人用户,数据丢失将会给个人带来精神和物质的双重损失;

对于企业和公司,一旦信息系统发生故障导致数据丢失并且不能得到及时恢复,其造成的损失可能是毁灭性的。

根据IDC调查,美国在2000年以前的10年间发生过数据灾难的公司中,55%当即倒闭,29%在两年内倒闭,生存下来的仅占16%。

在类似的大量调查报告中也表明,大约40%左右的企业在遭遇数据灾难之后没有恢复运营,由于缺少远程备份以及有效的数据恢复技术,剩下的也有1/3在两年内破产。

每500个数据中心中,就有1个每年要经历一次灾难。

数据恢复的及时性成为企业兴衰成败的关键所在。

一项来自美国明尼苏达大学的研究报告显示,在灾害之后,如果无法在14天内恢复资讯作业,有75%的公司业务会完全停顿,43%再也无法重新开业,因而有20%的企业在两年之内被迫宣告破产。

另一方面,对于灾害所造成的冲击分析显示,各行业最长可忍受的信息系统停机时间分别为:

金融业2天、销售业3.3天、制造业4.9天、保险业5.6天。

平均来看,一般行业可忍受的信息系统停机时间为4.8天。

人们对于数据价值的日益重视也极大地推动着存储系统发展,大量的提升存储系统安全和可靠的技术不断产生并应用于现实系统之中。

1.2计算机存储系统概述

应用推进了存储系统的发展,这使得我们有必要对计算机存储系统的内涵和外延进行全面的分析,进而为设计新型存储系统提供更加清晰的思路。

1.2.1计算机存储系统

现代计算机以图灵机为基本计算模型,以冯·

偌依曼的"

存储程序式计算机"

为基本实现模型。

其数据处理依赖于数据存取的过程,表现在两个方面,首先数据计算部件和数据存储是分开的,只有在需要时处理器才按照指令要求把所需的数据从存储设备读入处理器内部寄存器进行处理,在运算完成后把无需立即使用的数据写回存储设备进行保存;

另一方面,所有的程序也是以数据的形式存放在存储器上,在执行时把每条指令依次读到处理器执行。

计算机存储系统是用来保存数据,并能够按照用户请求提供相应数据的部件、设备和计算机系统。

事实上存储设备在本质上也是一种计算机系统,例如内存条本身也具有计算部件和寄存器。

本质上,存储系统使得信息在时间上得以延续,而不会消逝,而计算机存储系统使得数字化信息得以保持在介质之中,在需要的时候能够提供及时的存取。

揭开存储系统的抽象"

外壳"

,可以发现计算机系统中存储系统具有层次性的结构,存储系统根据和CPU的距离可分为多个层次,每层存储器的数据存取时间、数据传输带宽和容量是不同的。

第0层一般是指处理器内部的寄存器组和一级、二级cache,第一层是指主板上的cache和随机存储器,这两层构成第一级存储,也被习惯称为主存储器。

CPU可以通过指令直接访问主存储器中的数据。

第二层是外存储器,相对于主存储器,二级存储系统不能直接被CPU访问,必须通过输入/输出(I/O,Input/Output)通道进行存取并且提供大容量和非易失的数据存储能力,典型的二级存储设备就是磁盘。

第三级存储往往通过mount和dismount操作连接到计算机系统中,它们具有离线存储的特征,典型第三级存储设备是磁带库。

第0层的存取时间以纳秒计算,其容量为KB级;

而第二层的存取时间以毫秒计算,其容量为TB级。

存储系统层次化的主要原因在于满足成本约束的情况,平衡存储容量和性能,得到容量接近最下层而性能接近最上层。

存储空间层次化的不利之处在于必须设计复杂的数据管理机制保证数据正确的在不同层次间上下流动。

广义的存储设备包括CPU中的寄存器、多级Cache、内存和外部存储系统。

前者也称为内存系统(MemorySystem),而后者称为存储系统(StorageSystem)。

狭义的存储系统通常就是仅仅指外部存储系统。

在本书中如果没有特别说明,存储系统就指外部存储系统。

相对于内存系统,存储系统必须提供大容量和非易失性的数据存储能力,非易失性使得存储系统在掉电或者断连主机的情况下能够正确地保存数据。

存储网络的出现,使得存储的层次更加复杂,一个远地存储系统可以为主机提供存储服务,极大地扩充主机可以使用的存储空间,但同时引入了存储空间管理的复杂性。

因为每个存储设备总是要提供相应的存储空间供系统存取数据,必须把这些独立的、基础的物理存储空间构成统一使用的逻辑存储空间,这也是存储虚拟化所做的工作,但随着数据存储系统中存储设备和存储层次的增加,这种统一过程的复杂度和难度也相应地增加。

在讨论存储系统层次性之后,存储系统得以使用的前提是必须对于存储空间和存储对象进行编址和标识,逻辑上通过对于标记对象的地址操作实现存储过程。

以二进制形式存在的比特数据是计算机系统处理的基本对象,文字、数字、图像、声音和其他各种形式的信息被转化为比特。

计算机本质上就是对数据的存储和运算。

为了使得计算机能够方便得到数据的存储地址,存储设备必须能够提供数字地址空间,使得处理器通过计算地址读取所需数据或者存放结果数据到相应的存储位置。

也就是存储器中的地址信息也是以数字的形式编址的。

另一方面使用以数字标识的逻辑地址空间可以有效屏蔽底层存储设备的差异,例如磁盘和光盘在物理结构和存储原理上有很大的不同,但都能够提供寻址空间供计算机存取数据。

也就是地址信息作为一种数据和其他的数据是同构的,计算机可以统一处理,这就为间接寻址提供了可能。

其中线性编址是最简单的存储空间组织方式,也是计算机最容易理解和处理的。

作为主要的存储设备,内存和磁盘都是通过提供线性的存储空间供计算机进行数据存储的。

间接寻址可以保证层次性存储结构的正确使用。

寻址方式可以通过执行特定的程序能够产生更多变化,例如文件系统本质上也完成了寻址功能。

在现代计算机层次性存储结构中,各层的存储容量有很大的不同。

Cache以KB为单位,内存以MB为单位,而磁盘等存储设备是以GB为单位,海量存储系统是以TB为单位。

在内存中存取数据的最小单位是机器位长,而磁盘中存取数据的最小单位是数据块,都是线性编址。

磁盘等块设备是以LBA的形式提供线性地址的,网络存储系统一般提供数据块和文件两种操作接口。

网络存储系统出现和发展以前,存储系统主要为单个计算机系统提供存放数据的功能,由于存取过程的指令通过CPU发出,因此存储子系统往往依附于CPU和内存子系统为核心的主机系统,提供低速、大容量(相对于内存系统而言)和非易失的基本存储功能,其数据整个存取过程基本上由主机的操作系统控制,这种存储系统称之为DAS结构(Direct-AttachedStorage)。

事实上,在这种结构中存储系统数据管理和组织功能由本机操作系统实现。

在使用存储系统方面也分为两种方式,一种是存储子系统作为层次内存结构的第三级载体,实现和内存交换页的虚拟内存器功能,页的大小是固定的,虚拟内存模块通过在磁盘上开辟一段连续空间保存置换出内存的页;

另一种方式就是通过文件系统管理和存取磁盘系统上的数据,其基本方式是通过文件目录树的方式组织数据,而文件通过相应的文件分配表记录数据在磁盘上的物理存放。

数据量的大幅增长对于存储系统设计带来新的挑战,第一,需要更多的存储设备存放不断增加的数据;

第二,需要在多个用户之间共享数据,以提高存储系统的利用率;

第三,海量数据管理的复杂性必须占用相应服务器的大部分处理能力,这三方面的需求推动独立于单个主机的存储系统的出现。

在充分吸收网络技术的基础上,具有大容量、可共享和可扩展的网络存储系统应运而生。

这种存储系统具有高性能的处理部件、高速的内外部传输部件和大容量、可扩展的存储能力,事实上它已经成为提供大容量数据存储服务的独立计算机系统。

存储系统虽然在过去几十年内无论在功能还是在规模方面都有了极大的发展,计算机存储系统最为基本的功能依然是保存数据,并提供存取数据的操作集。

存储系统通过存储介质存放数据,每种存储介质有其自身的物理存储机理,例如磁盘通过磁记录方式保持二进制数据,并能通过磁头的读写过程实现数据在物理介质的存取。

作为存储系统的设计者往往并不需要了解物理存储过程的全部细节,例如磁介质中每个磁簇的磁场变化的具体物理过程。

但必须知道实际存储过程的一些宏观特征和操作特征,包括容量、数据布局、性能和可靠性等,例如在磁盘驱动器中,数据是如何按照磁道和扇区分布,磁头的寻找磁道和定位扇区过程及其相应的时间开销。

因为这些存取特性直接决定了存储系统的性能和可靠性等设计参数。

另一方面存储系统必须提供一系列存取操作实现对于存储系统中数据的访问,存取操作包括访问接口及其相应的存取操作集。

访问接口也提供了用户对于存储系统访问的操作语义集,例如很多块存储设备采用SCSI的访问接口,这种接口提供了以固定大小块为单位的线性空间,请求按照存储单元的块地址进行访问。

访问接口事实上抽象存储系统实际存取过程,屏蔽存储系统内部的复杂结构。

而对应的存取操作依赖于设备的实际存储机制,例如上述块存储设备提供逻辑块地址到物理地址的映射。

事实上在标准的存取接口下,不断优化存储系统中实际的存取操作一直是一个重要的设计方法,另一方面如何设计更加灵活和高效的存取接口也受到越来越多的关注。

数据存储系统就是以提供良好存储服务为目的的计算机软硬件系统。

数据存储系统从结构上可以分为物理结构和逻辑结构,前者指数据存储系统中物理设备及其组成方式,包括存储设备、计算设备、连接设备以及相应的拓扑结构等;

后者指的是存储系统数据存取和管理的逻辑结构,及其相应的管理软件系统。

需要说明的是数据存储系统包括传统上的计算机存储系统,同时比后者具有更丰富的内涵。

因为计算机存储系统更主要的是从计算机系统物理组成的角度研究数据存储系统,也即是偏重于物理存储结构设计;

而数据存储系统考虑到物理存储结构的同时,也包括在物理基础上设计相适应的逻辑存储结构,而这种逻辑结构必须考虑到数据的应用背景和特征,以及相应的要求对存储系统设计产生的重要影响,另外应用级的存储服务软件也属于数据存储系统的有机组成部分。

1.2.2存储结构的发展

计算机系统由计算部件、传输部件和存储部件三部分组成。

计算部件从最初的单机、发展到基于局域网的集群,最后到基于广域网的计算网格。

同样,随着信息的爆炸性增长,存储将经历类似的发展历程。

回顾存储技术的发展历史,基于总线的存储系统以服务器为中心,结构虽然简单,但因存在原始容量限制、无扩展性、存取性能受服务器性能限制、无法集中管理等先天缺陷,其被以网络为中心的网络存储系统所取代是历史的必然。

网络存储在一定程度上解决了系统在数据共享、可用性/可靠性、可扩展性、可管理性等方面的问题,然而随着数据资源的不断涌现,系统规模的不断扩大,新的技术又迫切地需要被运用到网络存储系统之中,传统的网络存储系统必然要向大规模海量存储集群过渡。

可以预见,理想的存储系统应该可以通过外部网络并行存储数据到多个存储设备上,聚合多个设备的带宽以达到外部网络的最大带宽,同时满足存取过程中对可靠性、可用性、安全性等方面的要求。

存储技术由简单向复杂的演变过程如下图所示。

(点击查看大图)图1.1数据存储系统结构的发展

 

在上一节中,对于传统存储系统的介绍事实上就是DAS结构,存储子系统通过外部总线和主机相连,不过它也是其他更为复杂的存储结构的基础。

现在网络存储逐渐成为大规模存储系统的基本体系结构。

我们称网络存储设备为NAD(NetworkAttachedDisk,NAD)。

根据NAD提供的存取接口不同,其软硬件系统结构是不同的。

目前最为典型的三种基本网络存储结构是SAN、NAS和iSCSI。

图1.2是NAS系统的基本物理模型,图1.3为SAN系统的基本物理结构,图1.4提供iSCSI系统的基本结构。

图1.2NAS的物理拓扑结构

(点击查看大图)图1.3SAN的物理拓扑结构

Gibson按接口(面向数据块和面向文件)形式把网络存储分为两大类[1],一是基于SAN结构,SAN系统提供简单、无类型、固定大小的数据块(典型操作为getblock,setblock),多个SAN的存储设备在逻辑上构成存储池。

从接口的抽象角度来看,这和传统的直接连接的存储设备没有什么不同,但由于SAN网络使得多个客户可以同时直接访问共享数据,而SAN系统不能保证它们之间的互斥访问,因此当产生共享访问时,必须对多个客户进行同步,这一工作应该通过建立集中的管理方式解决。

另一种是基于NAS结构,它提供丰富的、有类型的、可变尺寸(文件)的层次性的接口(典型操作为read,write和create)。

图1.2是NAS系统的基本物理模型。

NAS开始作为一种开放系统技术的出现是由Sun公司推出的NFS开始的。

NAS通过瘦文件服务器的方式把存储设备和外部网络连接起来。

对于本地存储设备中的数据整体管理的任务还是由NAS完成,但此时服务器的负载相对减少很多,并且由于瘦文件服务器模式完成的功能要求相对简单,可靠性比DAS有所提高[2]。

另一方面NAS实现文件级的数据共享,数据易于管理和维护,同时可以通过扩展,实现NAS设备间的数据备份和容量线性扩展,通过管理软件可以进一步提高整体的存储性能。

另外大型的NAS设备的后端可以是高性能的RAID或者SAN网络。

其结构如图1.2所示。

NAS最主要的特点是可以通过文件操作语义访问,客户可以使用NFS或者CIFS访问NAS设备。

(点击查看大图)图1.4iSCSI网络存储结构

iSCSI作为一种融合NAS和SAN的技术最初由Cisco和IBM两家发起,提交给Internet工

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1