固态存储:原理、架构与数据安全(txt+pdf+epub+mobi电子书下载)


发布时间:2021-01-23 18:47:50

点击下载

作者:夏鲁宁,贾世杰,陈波

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

固态存储:原理、架构与数据安全

固态存储:原理、架构与数据安全试读:

前言

不同于磁带、机械硬盘、光盘等依托机械运动实现读写的存储技术,固态存储器(solid-state memory,简称固态存储)完全基于半导体技术,通过改变芯片内部固态存储介质的状态(比如电荷、相变、极化和电阻等)来存储数据。在传统磁盘存储系统性能停滞不前的情况下,固态存储以崭新的视角,经过多年的研究和发展,为存储领域带来了一场革命性变革,成为突破现有存储性能瓶颈的希望。然而,随着固态存储的应用和普及,数据存储安全性、机密性、可靠性等问题逐渐凸显。如何解决固态存储架构中存在的安全问题将是本书中的浓墨重彩之处。

全书共11章,可分为三部分:第一部分包括第1~3章,介绍存储技术的基础知识。第1章简要回顾了存储技术的发展历史,介绍了当前主流存储介质的工作原理和特点,随后对磁盘阵列、网络化存储和大数据时代下的新兴存储技术进行了介绍,最后简介了存储系统的逻辑构成。第2章对当前主要文件系统,如FAT、EXT、NTFS、CDFS,从基本概念、存储结构、存储特点等方面作了详细的阐述并进行了对比,随后对其他一些文件系统,如BtrFS、ZFS、HFS等进行了简单介绍。第3章讲述存储系统的接口与协议,简单阐述了接口与协议的基本概念,详细介绍了计算机系统中常用的存储器物理协议和接口,并对各个接口和协议的发展、特点以及原理进行了详细的分析。

第二部分包括第4~7章,介绍了固态存储的原理与架构。第4章对固态存储技术进行了概述,详细介绍了基于NAND Flash和NOR Flash的固态存储原理。第5章以日常工作、生活中广泛使用的固态硬盘(SSD)为例给出了固态存储架构,并详细介绍了固态存储系统各大基本部件的结构、功能和原理。第6章主要针对固态存储设备中广泛使用的嵌入式文件系统,如JFFS、YAFFS、UBIFS以及exFAT等文件系统,从内存结构、文件系统挂载、运行原理、垃圾回收等方面,详细介绍固态存储文件系统的原理和运行机制。第7章主要对固态存储设备中的容错与平衡技术进行了介绍,首先介绍了三种纠错码即汉明码、BCH码以及里德-所罗门码的操作原理,接着介绍了固态存储的平衡机制,分别从垃圾回收和使用均衡两个方面介绍其作用和实现原理,最后介绍了固态存储器件的坏块管理与实现。

第三部分包括第8~11章,介绍了固态存储安全技术及对前沿科技的展望。第8章详细介绍了为提高固态存储设备的数据安全,学术界提出的各种技术方案。第9章首先讨论固态存储设备中数据加密的主要算法XTS-AES,随后简单介绍了近年来学术界提出的多种可否认加密与可否认认证协议方案,然后根据面向系统平台的不同,着重介绍可否认加密技术在数据存储方面,尤其是固态存储设备上的各种应用方案。第10章介绍了为保护存储设备数据安全,学术界提出的基于NAND Flash物理特性,提取设备指纹、随机数、密钥等信息及其应用实例。第11章对存储技术的发展作了展望。

前3章内容较为基础,第4~7章为固态存储相关基础知识,第8~10章则为固态存储领域以及作者自身团队与安全相关的研究成果,内容较新,最后一章为展望,读者可根据自己的兴趣和时间情况选择阅读。

固态存储发展极为迅速,目前已成为一个新兴热点领域。云计算、物联网、大数据时代的到来,为存储技术的创新带来了新的机遇和挑战。随着新型固态存储介质的日渐成熟,延时越来越低,带宽越来越高,以动态随机存储器为代表的易失型存储设备在主存中的垄断地位将可能被非易失型固态存储设备所取代。而不断增大的容量和不断降低的价格,使固态存储技术越来越适合于构建高性能的外部存储设备。以磁盘为代表的机械驱动外部存储设备的主流地位将逐步被固态存储设备取代,使得存储系统的访问模式可能转为利用电子设备的电气特性而非机械转动。总之,固态存储已成为数据存储发展的必然趋势,其安全性、机密性、可靠性等值得关注。

本书的研究工作得到国家重点基础研究发展计划(973计划)2013CB338001课题的支持。在本书的编写和出版过程中,得到了机械工业出版社的大力支持,在此谨表诚挚的谢意。

由于作者水平有限,加之固态存储技术发展迅速,书中不妥和错误之处在所难免,诚恳地希望专家和读者提出宝贵意见,以帮助本书改进和完善。第一部分存储技术基础·第1章 存储技术概要·第2章 文件系统·第3章 接口与协议

信息技术的日新月异使社会对信息存储的需求逐日攀升,同时借力于大数据分析,信息存储为社会带来的价值也日益增大。作为信息管理的基石,信息存储技术已经发展成为一门既复杂又成熟的分支学科,它需要满足信息管理的高性能、可扩展、可共享、高可用、自适应和可管理等一系列需求,是一门非常关键的技术。

数据存储是人们一直以来都在应用并且探索的主题。在原始社会,人们用树枝和石头来记录数据。后来,人们用铁器在石头上刻画一些象形文字来记录数据,但此时记录的内容也只有自己能看得懂。再后来,随着语言、文字、造纸、印刷等技术的出现,信息得到了更加长久地存储。而随着科学技术的发展,纸带、软盘、硬盘、光盘等成为主要的存储介质。

本书第一部分描述了与存储技术有关的基础知识,包括第1~3章的内容。

第1章介绍了存储技术的基本概念,回顾了信息存储技术的发展历程,简单介绍了目前主流的物理存储介质,如磁介质、光介质以及半导体存储器,并分析其基本组成和工作原理,以及各自的特点,并对磁盘阵列技术进行了介绍。同时也介绍了当前主流的网络存储技术和分布式存储技术的相关概念、原理、特点等内容,论述了其基本体系和组成。最后对存储系统的基本组成作了简单介绍。

第2章介绍了一些主要的文件系统,包括FAT、EXT、NTFS、CDFS,并从不同文件系统的发展概况、基本概念、存储结构、存储特点等方面作出详细的阐述。此外,还简要介绍了其他一些文件系统,如BtrFS、ZFS、HFS、HFS+、ReiserFS、JFS、XFS、UFS、VMFS、VxFS、ReFS等,并分析其各自的特点。最后对常用的文件系统进行了对比,讨论它们之间的区别和各自的优缺点。

第3章介绍了存储系统的接口与协议,简单阐述了接口与协议的基本概念,详细介绍了计算机系统中常用的存储器物理协议和接口,包括IDE协议及接口、SCSI协议及接口、FC协议及接口、SATA协议及接口、SAS协议及接口、PCI-E协议及接口、eMMC协议及接口,并对各个接口和协议的发展、特点以及原理都进行了详细的分析。第1章存储技术概要

存储器作为电子产品的数据存储支撑,在整个产业中占有核心地位。近几十年来,新的存储技术不断涌现,推动了存储设备的快速更新换代。在20世纪50年代,由于体积庞大,存储器仅能运用于大型计算机,如今的存储器早已今非昔比,其体积小、性能高、容量大,可运用于各个领域,成为开启大数据时代的基石。本章首先回顾了存储技术的发展历史,随后介绍了当前的主流存储技术及大数据时代下出现的新型存储技术,最后介绍了存储系统的逻辑构成。1.1 存储技术发展简史

信息存储是自古就有的话题。特别是数字化信息技术诞生以来,关于数字信息存储的技术不断演进和发展,并持续得到学术界和工业界的关注。

信息本身是没有物理形态的,只有经过载体的承载才能进行存储、传递和共享。长期以来,人们都在不断探索保存信息的方法和载体。起初人们借助于不同颜色的石头、在绳上打结等方式来记事,这是信息存储的早期方式。随着语言、文字的出现,信息存储技术迎来了一次质的飞跃,人们可以将信息记载到一些载体上,使得信息能够长期有效地保存。尤其是造纸术的发明,它结束了人们利用石头、竹简、金属、兽骨等高成本、低密度载体的历史,而印刷术的出现则终结了以手抄和篆刻文献为主的时代,使得信息能够大量记录并长久保存,大大增强了人类知识积累的能力。

随着科学技术的不断发展,社会信息量急剧增加,信息的飞速增长是当今社会一大特点。由于纸张存储存在体积大、不利于查阅和维护等问题,用纸张存储信息的局限性便逐渐暴露出来。计算机技术的出现和发展很好地解决了这些问题,而计算机技术与现代通信技术的结合使信息处理速度和存储效率得到了惊人的提高,人类处理信息的能力也得到了很大的发展。因此,现代信息存储技术的发展与计算机的发展密不可分。

目前,主流的信息存储手段主要是利用磁介质、光介质或半导体介质等相关技术实现。早期的计算机系统没有磁盘,利用在纸带上打孔来进行数据存储并作为输入计算机系统的手段。发明磁存储技术之后,磁带是主要的数据存储介质,相对纸片打孔而言,磁带的读写速度快了很多,而且易于保存。由于成本低廉,磁带库在目前一些网络存储系统中仍被广泛应用。

进入21世纪以后,网络日益发达,计算机技术也不断进步,信息量更是成倍地增长。为了应对海量数据的存储,工业界持续致力于硬盘容量的提升,然而在有些场合下仍旧无法满足信息存储的需要。在海量存储需求的推动下,将大量磁盘连接起来的磁盘阵列技术被设计出来,以提供更大的存储空间。磁盘阵列一般部署在网络之中,作为专门提供存储服务的网络节点而存在。目前主要的三种网络存储架构是DAS、NAS、SAN。其中,DAS(直连式存储)是一种以服务器为中心的存储架构,服务器直接通过SCSI接口与磁盘阵列连接,服务器端的磁盘阵列端口不能共享,客户端需向服务器发送连接请求,然后获得由服务器转发而来的信息。随着网络技术和光纤技术的发展,DAS逐步被其他方式取代。NAS(网络附加存储)即通过直接连接或外部连接到网络上,使得网内的信息处理设备能够直接对其进行读写。NAS拥有专门的文件和操作系统,实现了文件服务的优化,并且具有异构共享能力,使不同操作系统下的用户可以方便存取任意格式的文件数据。而SAN(存储区域网络)中,服务器采用专用网络实现对磁盘阵列的读写,是一种利用光纤集线器、光纤路由器、光纤交换机等网络互连设备将磁盘阵列和服务器互连起来的面向网络、以数据为中心的存储架构。在SAN模型中,多个服务器能够访问磁盘阵列中的同一个端口。

除了容量,信息的存取速度是随着存储需求的提升而面临的另一个瓶颈。传统硬盘由于机械架构的存在,其响应速度的提高存在限制,而目前硬盘的主轴转速基本没有太大的提高空间了。硬盘的发展显然要落后于其他硬件,并逐渐成为PC中的瓶颈之一,直到固态硬盘的到来才让硬盘真正进入高速发展的时代。固态存储是指以半导体存储器件为介质进行数据存储和读取的一种技术,早期的固态存储技术主要是基于动态随机存储器(Dynamic Random Memory,DRAM),但是由于其断电后存储的数据就会消失,严重制约了其应用范围。近年来基于闪存(Flash Memory)的固态存储技术日趋成熟,并在大容量存储方面发挥着越来越重要的作用。

信息技术的发展不可避免引发对信息安全的关注。在日常工作、生活以及学习中,人们越来越依赖信息技术,越来越多的数据被存储在计算机系统中,存储系统必须保证这些数据的高可用性和高安全性。随着存储系统由本地直连向着网络化和分布式的方向发展,并被网络上的众多计算机共享,存储系统变得更易受到攻击,相对静态的存储系统往往成为攻击者的首选目标。因此,存储安全变得至关重要。既要保证文件数据完整、可靠、不泄密,又要保证只有合法的用户才能够访问相关的文件,因而存储安全成为信息安全研究领域的焦点话题之一,主要涉及存储加密技术、数据清理技术、数据备份及灾难恢复技术等。1.2 存储介质“存储介质”是存储信息的载体。不同的存储介质有不同的物理形态,并采用不同的物理原理来承载信息。例如,纸张就是一种存储介质,文字信息以墨水书写的方式加载到纸张之上。在现代社会的信息化领域,绝大部分信息是以数字形式存在的,因而存储介质主要被用作存储二进制的“0”或“1”。数字信息的存储介质实质上是实现数字信号表示的物质或元器件,这种物质或元器件具有表现两种相反物理状态的能力,这两种物理状态的改变速度决定了存储器的存取速度。存储介质是构成存储设备的基础,目前常用的数字存储介质有磁存储介质(简称磁介质)、光存储介质(简称光介质)和半导体存储器等,下面将以此顺序介绍各种相关的存储技术。1.2.1 磁介质

磁存储介质利用磁场和磁感效应来产生读写二进制数据的环境,根据其外形可分为磁带、磁鼓、磁盘等。磁带存储容量大、价格低、适合长期保存,可以在较低的成本下实现具有TB级存储容量的存储系统。磁盘是各种计算机系统中被广泛使用的大容量外存储器,早期磁盘可分为硬盘和软盘两类。硬盘盘基用非磁性轻金属材料制成,容量大、存取速度快;软盘盘基用挠性塑料制成,容量小、可拆卸、携带方便。

1.软盘

在20世纪60年代末70年代初期,IBM公司推出全球第一台PC,为解决计算机操作指令的存储问题,其于1967年推出世界上第一张“软盘”,直径为32英寸,开启了软盘的研制之路。1971年,Alan Shugart推出一种直径为8英寸的表面涂有金属氧化物的塑料质磁盘,这就是标准软盘的“鼻祖”,容量仅为81KB。8英寸的软盘虽然从技术原理上已经很接近现代软盘,但缺陷就是体积过大,携带很不方便,于是5.25英寸软盘诞生了。为了改进5.25英寸软盘易损坏、体积较大等缺点,索尼公司于1980年率先推出体积更小、容量更大的3.5英寸软驱和软盘,以其便宜的价格、相对更大的存储容量很快全面占领市场。20世纪90年代,3.5英寸/1.44MB软盘一直是PC的标准数据传输方式之一。图1-1为各种规格的软盘。然而,随着社会信息量的迅速增加,软盘容量过小、读写速度慢、寿命短、可靠性差、数据易丢失等缺点逐渐显露出来,已不能满足数据存储的需求。特别是在以U盘为代表的大容量可移动存储器出现之后,软盘渐渐地淡出了人们的视线,时至今日已经少有PC支持软盘驱动器。图1-1 各种规格的软盘

2.硬盘

1956年,IBM公司制造了第一款硬盘驱动器IBM350RAMAC,包含50张24英寸的盘面,容量不到5MB,读写速率为1.1KB/s。以现在的眼光来看待IBM公司350RAMAC还算不上真正意义的硬盘,但它开创了信息存储的新时代。随后IBM公司于1980年制造了IBM3380,它是首个容量突破1GB的硬盘,总容量2.52GB,重约250kg。硬盘自出现之后便成为计算机系统的重要组成部分,与不断改进的计算机外设接口技术相结合,形成大容量、高速率的存储系统。

硬盘自1956年诞生以来,跨过了60年的风风雨雨,已经成为计算机主要的存储媒介。回顾当年IBM公司发明的世界上第一块硬盘仅有5MB的存储空间,却由50张24英寸的碟片组成,所占体积在现今人们对计算机的理解来看是不可想象的。1973年,IBM公司又成功研制了新型的曼彻斯特硬盘,拥有两个30MB的存储单元,其体积大大缩小,存储密度也大为提高。随后,硬盘驱动器也从控制技术、接口标准、机械结构等方面进行了一系列的改进,硬盘朝着大容量、小体积、高读取速度的方向不断发展。硬盘的尺寸也从最初的5.25英寸和3.5英寸再降到了2.5英寸,其应用领域也从PC拓展到了便携式电子产品。固态硬盘的出现是硬盘技术的一个重大变革,随着半导体存储芯片的成本逐渐降低、稳定性逐渐提高,固态存储介质已经在消费类电子产品中相当普及,在PC领域也大有取代硬盘的趋势。

硬盘是由固定面板、控制电路板、盘头组件、接口及其他附件等组成,其中盘头组件是构成硬盘的核心,封装在硬盘的净化腔体内,包括浮动磁头组件、磁头驱动机构、盘片及主轴组件、前置读写控制电路,硬盘的内部结构如图1-2所示。

浮动磁头组件由读写磁头、传动手臂、传动轴三部分组成。磁头是硬盘技术中最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,它采用了非接触式头、盘结构,加电后在高速旋转的磁盘表面飞行,飞高间隙只有0.1~0.3μum,可以获得极高的数据传输率。现在转速5400rpm的硬盘飞高都低于0.3μm,以利于读取较大的高信噪比信号,提供数据传输存储的可靠性。图1-2 硬盘的内部结构

磁头驱动机构包括电磁线圈电机、驱动小车和防震动装置等。高精度的轻型磁头驱动机构能够对磁头进行正确的驱动和定位,并在很短的时间内精确定位系统指令指定的磁道,保证数据读写的可靠性。

盘片是硬盘存储数据的载体,现在的盘片大都采用金属薄膜磁盘,这种金属薄膜较之软盘的不连续颗粒载体具有更高的记录密度,同时还具有高剩磁和高矫顽力的特点。主轴组件包括主轴部件如轴承和驱动电机等。随着硬盘容量的扩大和速度的提高,主轴电机的速度也在不断提升,有厂商开始采用精密机械工业的液态轴承电机技术。

前置读写控制电路控制磁头感应的信号、主轴电机调速、磁头驱动和伺服定位等,由于磁头读取的信号微弱,将该电路密封在腔体内可减少外来信号的干扰,提高操作指令的准确性。

与软盘类似,硬盘逻辑上被划为磁道、柱面和扇区,其结构关系如图1-3所示。图1-3 柱面和盘片上的磁道

每个盘片的每个面都有一个读写磁头,磁头起初停在盘片的最内圈,该区域不存放任何数据,称为启停区或着陆区,其他区域就是数据区。在最外圈,0磁道一般是硬盘数据开始存放的地方,它存放着操作系统启动时所必需的程序代码。所有盘面上同一磁道构成的圆柱即为柱面。每个圆柱上的磁头由上而下从0开始编号。磁头读写数据时首先在同一柱面内从0磁头开始进行操作,依次向下在同一柱面的不同盘面上进行操作。

硬盘性能好坏是由其相关的技术参数决定的,硬盘的性能参数主要有如下几个:(1)容量

作为计算机系统的数据存储器,容量是硬盘最主要的参数。硬盘内部往往有多个叠起来的磁盘片,所以说“硬盘容量=单碟容量×碟片数”。硬盘容量当然是越大越好,以便可以装下更多的数据。要特别说明的是,单碟容量对硬盘的性能也有一定的影响:单碟容量越大,硬盘的密度越高,磁头在相同时间内可以读取到更多的信息,这就意味着读取速度得以提高。(2)转速

转速是硬盘内电机主轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数。转速的快慢是标示硬盘档次的重要参数之一,它是决定硬盘内部传输率的关键因素之一,在很大程度上直接影响到硬盘的速度。硬盘的转速越快,硬盘寻找文件的速度也就越快,相对硬盘的传输速度也就得到了提高。(3)平均访问时间

平均访问时间是指磁头从起始位置到目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间,体现了硬盘的读写速度。(4)传输速率

硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s),包括内部数据传输率和外部数据传输率,分别反映硬盘缓冲区未用时的性能和系统总线与硬盘缓冲区之间的数据传输率。(5)缓存

该指标指在硬盘内部的高速存储器。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。DFT(Drive Fitness Test,驱动器健康检测)程序对硬盘进行检测时,可以让用户方便快捷地检测硬盘的运转状况。

硬盘的容量越来越大,容纳的资料自然也越来越多,这个时候就需要硬盘具有较高的可靠性和安全性,数据保护技术和抗震技术只会变得越来越重要,各个厂商应该在此投入更多的精力。目前主要的硬盘数据保护技术有S.M.A.R.T技术、DFT技术、加密技术等。通过S.M.A.R.T.技术,可以对硬盘潜在故障进行有效预测,提高数据的安全性。1.2.2 光介质

光存储介质的主要代表为光盘存储器,其利用激光读出和写入信息,主要优点是密度高、容量大,一个直径12英寸的光盘能存储2.5GB信息,位存储成本低廉。但是光盘的存取时间要比磁盘长,一般为100~500ms,并且记录的信息不易擦除改写。

第一张光盘于1958年发明,之后虽然对光盘数据存储的研究持续了几十年,但直到1984年CD-ROM黄皮书的公布以及1988年只读光盘和可擦除光盘的出现,光盘才成为主要数据存储介质之一。作为CD的发展,用于记录视频和音频的数字化视频光盘(DVD)产生了。随着光盘的不断使用以及光存储研究的不断发展,光盘的价格急剧下降,并成为非常重要的存储设备和音频视频的重要载体。特别是2003年国际蓝光光盘标准的统一,单盘存储量可达50GB,使得光盘存储在社会各个领域得到了广泛应用。

1.光盘的结构及其工作原理

光存储是由光盘表面的介质实现的,其盘面上有凹凸不平的小坑,光驱中的激光照射到上面会有不同的光反射回来,光驱再将这些光转化成0或1的二进制数据。反之,在光盘上存储数据需要借助激光把二进制数据“刻”在扁平、具有反射能力的盘片上。为了识别数据,将激光“刻”出的小坑定义为二进制“1”,而空白处定义为“0”。根据光盘的结构,光盘主要分为CD、DVD、蓝光光盘等几种类型,它们虽然在结构上有所区别,但是主要结构及其原理是一致的,下面以CD为例来介绍光盘的结构,如图1-4所示。图1-4 光盘结构示意图

CD光盘非常薄,只有1.2mm厚,主要分为五层,即基板、记录层、反射层、保护层、印刷层。其中,基板是整个光盘的物理外壳,是各功能性结构的载体;记录层是刻录信号的地方;反射层是反射光驱激光光束的区域;保护层用来保护反射层以及防止信号被破坏;印刷层是印刷客户标示、容量等信息的地方。

光盘驱动器负责向光盘读取和写入数据,其主要的部分是激光发生器和光检测器。激光发生器实际上是一个激光二极管,它可以产生对应波长的激光光束,经过一系列处理反射到光盘上,然后经由光检测器捕捉反射回来的信号进而识别数据。光盘在光盘驱动器中高速转动,激光头在电机控制下前后移动,数据就不断地被读取出来。目前主要的读取技术有三种,分别是CLV技术、CAV技术和PCAV技术。

CLV:(Constant Linear Velocity)技术恒定线速度读取方式,在低于12倍速的光驱中使用的技术。它为了保持数据传输率不变,而随时改变旋转光盘的速度。读取内部数据的旋转速度比外部要快许多。

CAV:(Constant Angular Velocity)技术恒定角速度读取方式。它是用同样的速度来读取光盘上的数据。但光盘上的内部数据比外沿数据传输速度要低,越往外越能体现光驱的速度,倍速指的是最高数据传输率。

PCAV:(Partial CAV)技术区域恒定角速度读取方式,是融合了CLV和CAV的一种新技术。它在读取外沿数据时采用CLV技术,在读取内部数据时采用CAV技术,以提高整体数据传输的速度。

2.光盘的分类

光盘可以大致分为两类,一类是只读光盘(如CD-ROM、DVD-ROM),这种光盘只能用来播放已经记录在盘片上的信息。市场上的视频录像盘及数字音响唱盘属于此类。另一类是可写光盘(如CD-Recordable、CD-R、MO等)。可写光盘又包括三类。一类为一次性写光盘,这类光盘具有读写功能,它可用于文档存储和检索以及图像存储和处理。另一类为可重写光盘,这类光盘除用来写、读信息外,还可以将已经记录在盘上的信息擦去,然后再写入新的信息,但擦和写需要两束激光、两次动作才能完成,即先用擦激光将某一信道上的信息擦除,然后再用写激光将新的信息写入。还有一类为直接重写光盘,这类光盘可用一束激光、一次动作写入信息,即在写入新信息的同时将原来的信息自动擦除。表1-1简单给出了光盘的主要种类和应用领域。表1-1 主要光盘类型及用途

由于光盘类型不同,光盘容量和尺寸也不同。目前光盘的规格、尺寸和容量大小如表1-2所示。表1-2 光盘的尺寸、容量

光盘存储技术近年来发展比较迅速。相比于其他存储技术而言,它具有很多独特的优点,如存储密度高、容量大,这是由光盘的高道密度所决定的。光盘可通过光对记录介质的反射实现精密的道跟踪,其道间距在1μm以下,远小于硬盘的道间距。随着光盘技术的不断发展,还可能通过采用短波激光器和大数值孔径的物镜进一步缩小记录点的直径,以提高光盘的存储密度。

光盘寿命相对较长。由于光盘的记录读出头和盘面不接触,在使用光盘多次读出时,光盘表面的记录信息不会被破坏,同时也延长了光盘的使用寿命。在常温下,数据保存寿命可超过100年。

随着光学技术、微电子、激光技术、材料科学、细微加工技术、计算机与自动控制技术的发展,光盘存储技术在存储密度、容量、数据传输率、功能多样化等方面都有很大的发展。光盘不仅适用于大数据信息的存储和交换,而且还能同时存储图、文、声、像等各种信息,满足信息存储、传输和管理的要求,因而得到了广泛应用,特别是在音像出版领域。1.2.3 半导体存储器

半导体存储器(semi-conductor memory)是一种以半导体电路作为存储媒介的存储器,按其功能可分为随机存取存储器(RAM)和只读存储器(ROM)。

所谓“固态存储”技术,指的就是以半导体存储器件为介质进行数据存储和读取的一种技术。早期的固态存储技术主要是基于DRAM的,近年来,基于Flash的固态存储技术日趋成熟,逐渐与基于DRAM的固态存储技术各领风骚,成为当今固态存储领域的两大技术流派。对于Flash来说,根据存储单元组织结构的不同,主要可以分为NAND型和NOR型。NOR Flash是Intel公司在1988年提出的存储架构,NAND Flash是TOSHIBA公司在1989年提出的存储架构。两者都是基于“浮动门场效应管”的半导体存储器件,都是非易失性存储器,基本操作包括读、编程(或写)和擦除。NOR Flash成本相对较高,通常用于存储小容量的代码;NAND Flash则通常作为大容量存储器件,某些场合下可用于替代磁存储介质,以获得更快的存储速度和更好的稳定性。

有关NAND闪存技术是本书的重点内容,有关NAND闪存固态硬盘的更多细节将在后续章节陆续展开讲述。1.3 磁盘阵列

目前单块磁盘的容量已经能达到8TB,但这对于现代应用程序来说还远远不够。那么是否必须要制造单盘容量更大的硬盘,为解决这个问题人们发明了RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)技术。

RAID最初是为了组合小的廉价磁盘来代表大的昂贵磁盘,同时希望磁盘失效时不会对数据的访问造成损失而开发的一定水平的数据保护技术。它就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下作为一个独立的大型存储设备出现。RAID充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能,确保数据的安全性,易于管理,并在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

RAID简单的理解就是将多台硬盘通过RAID控制器(基于软件和硬件)结合成虚拟单台大容量的硬盘使用。目前,RAID技术的实现方式大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。基于软件的RAID包含在操作系统中,其RAID功能完全用软件方式由系统的核心磁盘代码来实现。基于硬件的RAID是利用硬件RAID适配卡来实现的。RAID适配卡上集成了处理器,能够独立于主机对存储子系统进行控制。因为拥有自己独立的存储器和处理器,RAID适配卡可以自己计算奇偶校验信息并完成文件定位,减少对主机CPU运算时间的占用,提高了数据传输速度。由此可见,基于硬件的RAID比基于软件的RAID在工作性能上要强一些。

根据组成磁盘阵列的磁盘组织架构、数据布局以及相关技术的不同,磁盘阵列可以分为多种级别。

1.RAID0

RAID0是最早出现的RAID模式,即数据分条(Data Stripping)技术。RAID0是组建磁盘阵列中最简单的一种形式,只需要两个以上的硬盘即可,成本低,且可以提高整个磁盘的性能和吞吐量。RAID0没有提供冗余或错误修复能力,但实现成本是最低的。

RAID0最简单的实现方式就是把N个同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中计算机数据依次写入各硬盘中,它的最大优点就是可以成倍地提高硬盘的容量。最大的缺点在于任何一个硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一个硬盘的1/N。为了解决这一问题,便出现了RAID0的另一种模式,即在N个硬盘上选择合理的带区来创建带区集,其原理就是将原先顺序写入的数据分散到所有的N个硬盘中同时进行读写,这样对N个硬盘的并行操作使得同一时间内磁盘读写的速度较串联读写模式提升了N倍。

虽然RAID0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID0一般只是在那些对数据安全性要求不高的情况下才被人们使用。

2.RAID1

RAID1是利用镜像技术来实现存储数据容错的阵列技术,又称为磁盘镜像,它对存放的数据完全冗余,通过简单地将一个盘上的数据镜像到另一个盘上来实现数据冗余,当数据写在某一个硬盘上时,它会同时被写到相应的镜像盘上,在不影响性能的情况下最大限度地保证了系统的可靠性和可修复性。RAID1中的数据盘与镜像盘没有主从关系,它们可以相互镜像或恢复。这种方法虽然简单,但实现成本却要比RAID0贵一倍。在这种模式下,任何一个硬盘出现故障都不会影响到整个阵列的正常工作,因为它还有一个镜像盘可以工作,甚至在一半数量以上的硬盘出现问题时系统都可以正常工作。

RAID1主要是通过二次读写实现磁盘镜像,因此磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

3.RAID2

RAID2采用内存系统中常用的纠错码——汉明码进行数据保护。汉明码是在原有数据中插入若干校验码来进行错误检查和纠正的编码技术,它根据现有的数据编码各位的值,生成自己的校验码,然后再将校验码与原来的数据码合并,转换成新的数据编码。

RAID2中也采用数据条带的方式进行存取,在RAID2中,条带非常小,用户数据以位或字节为单位进行条纹化,划分为若干相互重叠的子集,每个子集的用户数据计算校验数据并存放在一个校验磁盘上。当一个磁盘发生故障时,几个校验组的数据会不一致,而丢失数据即为这几个校验组共同包含的数据,用其中一个校验组的剩余数据即可恢复丢失数据。RAID2一般应用于多磁盘易出错环境中,对于单磁盘而言意义不大。

4.RAID3

RAID3是在RAID2的基础上发展而来的,关键是使用相对简单的奇偶校验代替了较为复杂的汉明码校验,大大降低了阵列的成本。与RAID2不同的是,无论磁盘阵列数目有多少,RAID3只需要单个冗余校验盘。在RAID3中,数据分布在不同的较小的条带上,并且进行并行方式读写操作。如果一块磁盘失效,奇偶盘与其他数据盘可以重新生成数据,如果奇偶盘失效则不影响数据使用。

5.RAID4

RAID4是独立的数据盘和共享的校验盘阵列技术,它以数据块为单位进行存储空间分配。RAID4使用一个磁盘作为奇偶校验盘,每次写操作都需要访问校验盘,这时校验盘也会成为写操作的瓶颈。

RAID4与RAID3基本相同,不同之处在于RAID4采用粗粒度条纹化,条纹单元较大。由于条纹单元较大,多数较小请求只涉及一个磁盘,磁盘阵列可并行处理多个请求。因此RAID4更适合用于并发度高,而请求相对较小的应用。但对于相对较大的请求,RAID4也可提供较高的数据传输率。

6.RAID5

RAID5是目前市场上最常见的RAID产品,它是一种无独立校验盘的奇偶校验硬盘阵列,它具有较高的存储性能、较强的数据安全性以及实现成本低等特点。它的奇偶校验码存在于所有磁盘上,当硬盘出现问题时,可以利用剩下的数据和对应的奇偶校验信息来恢复磁盘阵列和正常工作。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及所有的阵列盘。而对于RAID5来说,大部分数据传输只对一个磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

7.RAID6

RAID6的基本思想就是进行两种不同的奇偶计算,并将校验数据分开存储在不同的磁盘上。那么,如果用户需要N个磁盘的阵列,则总的磁盘数目将是N+2。RAID6在设计时引入两级冗余的技术,主要是为了保证即使阵列中出现两个硬盘同时失效,仍然能够正常工作,并恢复相应的数据。该技术把数据和校验信息分布到一组硬盘中,当有硬盘失效时,丢失的那部分数据则可以通过剩余硬盘上的数据和校验信息通过计算而恢复。所以说,RAID6是一种双重奇偶校验存取阵列。RAID6的控制器在设计时非常复杂,实现成本极高,目前主要用于数据绝对安全的环境中,不太适合于普及应用。

在实际应用中,选择相应RAID级别主要依据可用性、存储性能和实现成本这三个因素,RAID基本级别的一些主要特征如表1-3所示。表1-3 RAID级别对照表1.4 网络化存储

数据量的大幅增长为存储系统设计带来了新的挑战,要求有更多的存储设备存放不断增加的数据,同时也需要在多个用户之间实现数据共享,以提高存储系统的利用率。另外,管理海量数据需要占用相应服务器的大部分处理能力,这就推动了独立于单个主机的专用存储系统的出现。在充分吸收网络技术的基础上,大容量、可共享、可扩展的网络存储系统应运而生。1.4.1 网络存储架构

在海量信息的发展背景下,网络存储逐渐成为大规模存储系统的基本体系结构,网络存储架构主要有直连式存储、网络连接存储和存储区域网络等。

1.直连式存储(DAS)

直连式存储的全称是Direct Attached Storage,简称DAS,是一种存储设备直接通过总线适配器和电缆(SCSI或FC)连接到服务器的架构,典型DAS的结构如图1-5所示。DAS依赖于服务器,本身不带有任何存储操作系统。主机的内部磁盘、磁带库和直接连接的外部磁盘组,都是一些DAS实例。图1-5 典型DAS结构图

根据存储设备相对于主机的位置,直连式存储可以分为内置和外置两种。在内置DAS架构里,存储设备通过串行或并行总线连接主机,但总线自身有传输距离和挂载设备的限制。在外置DAS架构里,服务器直接连接到外部存储设备,相比于内置DAS,外置DAS克服了距离和挂载设备数量的限制。

对于少量PC或服务器,使用DAS连接简单、易于配置和管理、价格较低。相对于其他网络存储架构,DAS是最简单的解决方案,所需的管理任务更少,需要设置和操作的硬件和软件也更少。但是DAS对服务器依赖性太强,要求每台计算机单独拥有自己的存储磁盘,这不利于存储容量的充分利用和服务器间的数据共享,而且DAS方式下数据依然是分散的,不同的应用各有一套存储设备,没有统一的管理方案,不利于数据的维护,因此DAS不适合作为企业级的存储解决方案。

2.网络连接存储(NAS)

随着网络的发展、数据量和客户端的增多,对服务器的存储能力和访问性能提出了新的挑战。这种情况迅速导致了服务器的专一化,进而导致了服务器和存储设备的分离。

网络连接存储的英文全称是Network Attached Storage,简称NAS,它的核心思想是将存储设备从服务器上分离出来,在网络中提供专门负责文件服务的服务器,从而减轻网络其他服务器的负担。NAS是一种专用的、高性能的、高速的网络文件存储备份设备,使用网络和文件共享协议实现文件归档和存储等功能。共享协议包括用于数据传输的TCP/IP以及用于远程文件服务的CIFS和NFS协议,可以为不同文件协议客户端提供集中式服务。

NAS有自己简化的实时操作系统,它将硬件和软件有机地结合在一起,用以提供文件服务,如图1-6所示。它主要由客户端、NAS服务器和存储设备三部分组成。其中,NAS服务器主要负责响应文件请求。通过网络接口,NAS服务器的一端通过以太网接口连接到前端局域网,另一端通过ATA、SATA或FC等存储设备接口与后端存储设备相连。存储设备通常由高性能的磁盘阵列组成。图1-6 NAS的构成

NAS的软件构成主要包括操作系统、文件协议和存储管理软件。其中NAS操作系统是通用操作系统的简化版,它只保留了操作系统的文件服务功能和相关文件通信协议,负责管理NAS设备的硬件和软件资源。目前,NAS操作系统主要有各种Windows版、FreeBSD/Linux版、VxWorks版以及实时操作系统RTOS。NAS目前采用的文件协议是NFS和CIFS。其中NFS应用在UNIX环境下最早由Sun公司开发;CIFS应用在NT/Windows环境下由微软公司开发。

NAS的结构以及采用的各种协议使得NAS与传统存储技术相比具有以下优点:

1)用户直接访问NAS,减少了通用服务器成为网络瓶颈的概率。NAS具有更好的扩展性和灵活性。存储设备不受地域限制,在不同地点都可以通过物理连接和网络连接连起来。

2)支持跨平台存放文件数据和共享访问。基于TCP/IP的数据传输使得NAS可以支持网络文件系统,不同操作系统可以实现文件共享。

3)使用专用的、经过优化的操作系统,不仅响应速度快,而且数据传输速率也更高。

4)由于是专用硬件构造的专用服务器,不会占用网络服务器的系统资源,不需要在服务器上安装任何软件,当增加或删除NAS设备时不会中断网络的运行,安装和使用更为方便,是一种即插即用的网络设备。

5)NAS独立于主服务器,因此对主服务器没有任何需求,这大大降低了主服务器的投资成本。

在实际应用中,NAS也表现出了一些缺点。首先,随着网络中数据流的不断增大,NAS在LAN上传输数据时,会将大量的整块数据划分成多个数据包。这样会造成对NAS处理资源占用率过大,进而直接影响NAS对用户请求的响应速度和存储服务的提供能力。其次,NAS设备与客户端通过企业网络进行连接,因此数据备份或存储过程中会占用网络的带宽,若用户频繁使用网络时,NAS的备份机制出现问题,对用户网络来说会产生很严重的后果。

NAS设备近些年在海量数据存储、异地备份容灾、网络存储平台、军用存储等方面得到了广泛的应用,各种NAS产品也应运而生。其中NetApp公司掌握了全球最先进的NAS方面的相关技术,它的FAS系列产品统治了NAS市场的大半江山。近年来初露锋芒的BlueArc公司在其NAS产品Titan系列中,将其运行的所有软件逻辑都写入EPGA中,使得系统处理速度越来越快。除此之外,EMC、IBM、HP、Sun、Veritas等公司均推出了自己的NAS产品。

3.存储区域网络(SAN)

存储区域网络的英文全称是Storage Area Network,简称SAN,它是一种高速专用网络,用于连接存储设备和服务器,一般采用光纤通道协议作为底层通信协议。SAN的发展历程较短,从20世纪90年代后期兴起,由于当时以太网的带宽有限,早期的SAN存储系统多数由FC存储设备构成,随着千兆以太网的普及和万兆以太网的实现,基于iSCSI协议的IP SAN浮出水面并不断被人们认可。

SAN实际上是一种专门为存储建立的独立于TCP/IP网络之外的专用高速网络,其结构如图1-7所示,主要包括如下几个部分:

1)SAN服务器:服务器基础结构是所有SAN解决方案的前提,这种基础结构是多种服务器平台的混合体,包括Windows NT和不同风格的UNIX等。

2)SAN存储设备:存储基础结构是信息所依赖的基础,新型的基础结构应该能够提供更好的网络可用性、数据访问性和系统管理性。因此,SAN解放了存储设备,使其不依赖于特定的服务器总线,而且将其直接接入网络。SAN还支持存储设备的集中化和服务器群集,使其管理更加容易,费用更加低廉。

3)SAN连接设备:实现需要考虑的第一个要素是,通过光纤通道之类的技术实现存储和服务器组件的连通性。实现LAN和WAN所使用的典型组件有扩展器、集线器、路由器、网桥和网关等。与LAN一样,通过存储接口的互连形成很多网络配置,并能够跨越很长的距离。

4)SAN管理软件:其管理服务器、互连设备以及存储设备之间的接口,它提供SAN环境的一个可视化视图,并且可以在一个中心控制台进行多种资源的集中管理。图1-7 SAN结构示意图

FC SAN是一种典型的SAN结构,它以光纤为传媒介质,具有传输速度快、可靠性高、传输距离远等特点,它将存储设备从传统的以太网中分离出来,成为独立的存储区域网络,服务器可以访问存储区域网络上的任何存储设备,同时存储设备之间以及存储设备与SAN交换机之间也可以进行通信,其体系结构如图1-8所示。

利用SAN,不仅可以提供大容量的存储数据,而且地域上可以分散,缓解了大量数据传输对局域网的影响。SAN结构允许任何服务器连接到任何存储阵列,不管数据置放在哪里,服务器都可直接存取所需的数据。

SAN的主要优点是:

1)高性能、高速存取,可实现高速计算机与高速存储设备的高速互连。目前FC可提供2Gbit/s的带宽,新的10Gbit/s的标准也正在制定之中。

2)高可用性。网络用户可以通过不止一台服务器访问存储设备,当一台服务器出现故障时,其他服务器可以接管故障服务器的任务。

3)集中存储和管理。通过整合各种不同的存储设备形成一个统一的存储池,向用户提供服务,存储容量可以很容易地扩充。SAN提供了大容量存储设备共享的解决方案。图1-8 FC SAN体系架构

4)可扩展性高。服务器和存储设备相分离,两者的扩展可以独立进行。理论上扩展不受限制,并且支持在线扩展,扩展的同时也保证了可靠性和安全性。通过FC网卡、集线器、交换机等互连设备,用户可根据需要灵活地配置服务器和存储设备。

5)可实现数据快速备份,并且数据备份不占用LAN带宽。

6)可兼容以前的各种SCSI存储设备,保护用户以前的投资。

基于SAN的各种优点,它主要用于存储量大的工作环境(如ISP、银行等),其应用主要归纳为:构造集群环境,利用存储局域网可以很方便地通过FC把各种服务器、存储设备连接在一起构成一个具有高性能、高数据可用性和扩展性强的集群环境;可以做到无服务器的数据备份,数据也可以以后台的方式在SAN上传递,大大减少了网络和服务器上的负载,因此可以很方便地实现诸如磁盘冗余、关键数据备份、远程集群、远程镜像等许多防止数据丢失的数据保护技术;可以方便地进行两个存储设备之间的数据迁移以及远程灾难恢复。从1999年开始,EMC、IBM、Compaq、Sun、HP等公司相继推出自己的SAN产品。近年来,SAN技术得到了长足发展。

4.基于IP的存储区域网络(IP SAN)

传统SAN的互联技术是Fiber Channel(FC),但是其在实现成本、设备的互操作性、跨越的地理距离等方面阻碍了SAN的发展。同时,远程数据备份、容错、灾难恢复等应用的发展也要求SAN跨越的距离越来越远,因此传统的SAN环境已无法满足当前应用的发展。为了寻求一种比较经济而又能够实现SAN存储的高性能的存储方式,人们开始探索IP网络技术和SAN结合,于是IP SAN出现了。

IP SAN是基于IP网络实现数据块级别存储方式的存储网络,是一种将存储设备、连接设备和接口集成在一个高速网络中的技术。它可以利用现成的网络架构、协议、标准、基础设施和管理工具,在一定程度上解决SAN存在的高成本和难管理的缺陷。

与传统的FC SAN相比,IP SAN有其优势,也有它的不足。其优势主要体现在以下几点:基于成熟的IP技术,在一定程度上保护了现有资产,降低了配置、维护、管理方面的复杂度;IP存储超越了地理距离的限制,大大延伸了传统并行SCSI存储的距离限制;可以预期的10Gbit/s以太网的推出将极大地改善IP存储的服务性能。

IP SAN的不足主要有以下几点:IP存储的产品总体上还不成熟,用户可选择余地较小;目前IP SAN的实现还比较困难,需要一些专门的驱动设备和相关知识的帮助;由于IP网络尤其是以太网本身的效率较低,因此IP存储比较消耗系统资源。

目前主流的基于IP的存储方案包括互联网小型计算机系统接口(internet Small Computer System Interface,iSCSI)、互联网光纤通道协议(internet Fiber Channel Protocol,iFCP)和基于IP的光纤通道(FCIP)方案。这三种IP存储方案都有成本低、灵活性强、可管理性好、距离适中以及对以太网技术有良好支持的特点。

5.基于InfiniBand的SAN存储系统(IBSAN)

InfiniBand(IB)是在1999年由FutureIO和NGIO两个标准整合而来的,它主要用于服务器、存储设备等网络设备间的连接。InfiniBand是一种交换结构I/O技术,其设计思路是通过一套中心机构(中心InfiniBand交换机)在远程存储器、网络以及服务器等设备之间建立一个单一的连接链路,并由中心InfiniBand交换机来指挥流量,它的结构设计得非常紧密,大大提高了系统的性能、可靠性和有效性,能缓解各硬件设备之间的数据流量拥塞。

IBSAN是一种将InfiniBand和SAN技术相结合的存储系统方案。IBSAN采用层次结构,将系统的构成与接入设备的功能定义分开,不同的主机可通过HCA(Host Channel Adapter,主通道适配器)、RAID等网络存储设备利用TCA(Target Channel Adapter,目标通道适配器)接入IBSAN。如图1-9所示,IBSAN由处理节点(服务器)、InfiniBand通信网、I/O节点和存储设备组成。其中处理节点提供一个或多个InfiniBand的HCA,HCA是主机的IBA(InfiniBand Architecture)接口,完成报文的收发并实现IBA所确定的各种功能。InfiniBand通信网包括交换机和路由器,连接处理节点、I/O节点和存储设备。I/O节点是带目标通道适配器(TCA)接口的各种I/O设备。TCA是I/O设备的IBA接口,完成报文的收发并实现IBA所确定的各种功能。存储设备包括磁盘阵列、磁带库等。

InfiniBand体系结构将IP网络和存储网络合二为一,以交换机互连和路由器互连的方式支持系统的可扩展性。服务器端通过HCA连接到主机内存总线上,突破了PCI的带宽限制,存储设备端通过TCA连接到物理设备上,突破了SCSI和FCIP的带宽限制。InfiniBand技术目前主要被数据中心、服务提供商和集群所采用。随着网络存储的高速发展,InfiniBand作为新一代的SAN互联技术,将显示出强大的生命力和市场应用前景。图1-9 IBSAN系统结构1.4.2 分布式存储

分布式存储系统是将数据存储在多个特定的节点上,通过网络使用系统中的各个节点上的磁盘空间,并将这些分散的资源构成一个虚拟的存储设备。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不仅提高了系统的可靠性、可用性和存取效率,还易于扩展。近年来,国内外很多机构结合自身需要开发了一些各具特色的分布式文件系统。下面简要介绍几个分布式文件系统。

1.PVFS

PVFS(Parallel Virtual File System,并行虚拟文件系统)是Clemson大学开发的高性能、可扩展的分布式并行文件系统。它无须特殊的硬件设备或内核支持,可以直接在普通的PC上运行。目前,很多流行的分布式文件系统都借鉴了PVFS的设计思想。

PVFS由一个管理节点、多个I/O节点和若干个计算节点组成,可以将整个分布式文件系统的元数据信息以及目录层次结构存放在管理节点上,实现了统一的命名空间,兼容了现有文件系统的访问方式,并提供了更高性能的数据访问方式。

PVFS也有很多不足之处。首先,它只提供单一的管理节点。当管理节点由于异常而无法正常工作时,整个分布式文件系统就会立刻停止服务。当分布式文件系统达到一定规模后,管理节点很容易成为系统瓶颈。另外,PVFS对数据的存储缺乏容错机制,当某I/O节点无法工作时,存储在该节点上的数据将会永久丢失。最后,其配置不够灵活,无法在PVFS运行时修改系统配置信息。

2.Google FS

Google FS是Google公司为了满足其应用需求而开发的面向大规模数据密集型应用的、可伸缩的、基于Linux的专有分布式文件系统,可以应用在大文件、连续读、不修改、高并发的存储场景。它运行在廉价的普遍硬件设备上,并且提供了有效的灾难冗余能力,可以为大量客户机提供高性能的存储服务。另外,Google FS还使用了一个宽松的一致性模型,不但能很好地支持高度分布式应用,而且实现起来也相对简单和有效。

Google FS虽然具有简洁、可靠、高性能的优点,但是为此Google FS也付出了一定的代价。首先,中心服务器模式虽然处理逻辑很简单,但是它有一些固有的缺点,比如极易成为整个系统的瓶颈;其次,Google FS完全采用副本策略进行冗余以提高系统的可靠性,因此会消耗更多的原始存储。最后,64MB的存储单元(chunk)大小虽然有利于降低网络开销、减少系统负载,但是有的小文件可能只有一个或者几个chunk,这样那些存储了这些chunk的chunkserver(块服务器)节点就会很容易变成热点。

3.HDFS

HDFS(Hadoop Distributed File System)是一个基于Java、支持数据密集型应用、高度容错、具有高吞吐量的分布式文件系统,它能够保证应用程序可以在成百上千个低成本的商用硬件上存储和处理PB级的数据。为了实现流式读取文件系统数据的目标,HDFS放宽了对POSIX语义的要求,从而适用于批量数据的处理。HDFS作为一个开源项目,受到了Google FS很大启发,目前已经在各大互联网公司得到了广泛的应用,百度、腾讯等公司都将HDFS作为底层存储架构。

HDFS是一个不错的分布式文件系统,它有很多优点,但也存在一些缺点。首先,HDFS不太适合于那些要求低延时数据访问的应用程序。因为HDFS主要目的是处理大型数据分析任务,是为达到高的数据吞吐量而设计的,这就可能要求以高延迟作为代价。其次,其无法高效存储大量小文件。因为Namenode把文件系统的元数据放置在

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载