1.存储历史
存储技术是计算机的核心技术之一,计算机的存储技术(如硬盘、网络存储、快照、虚拟化存储等技术)的总体趋势容量和I/O速度不断增加,随着信息技术不断地发展,存储行业涌现出新的存储技术,如固态硬盘、云存储等。存储技术的重要历史。
第一台硬盘存储器:世界上第一台硬盘存储器IBM350 BAMAC诞生,当时他的容量只有5MB,但总共使用了50个直径为24英寸的磁盘。
RAID技术出现。1987年
SAN技术出现。1994年。
2.存储的分类
根据服务器类型可以将存储分为封闭系统的存储和开放系统的存储,开放系统的存储又可细分为内置存储和外挂存储。其中,外挂存储可分为直连式存储和网络存储。根据组网形式不同,当前3种主流存储技术或存储解决方案的为直连式存储(DAS)、存储区域网络(SAN)接入存储(NAS)。
直连式存储(DAS)依赖服务器主机操作系统进行I/O的读写、存储、维护和管理,数据备份恢复要求占用服务器主机资源,数据流需要回流主机再到服务器连接着的磁带机,数据备份通常占用20%-30%服务器主机资源。DAS的数据流越大,备份和恢复时间越长,对服务器硬件的依赖性和影响也就越大
(1).DAS
DAS是指将存储设备通过SCSI(小型计算机系统专用接口)接口或光纤通道直接连接到一台计算机上。
优点:
1 连接简单 集成在服务器内部;点到点的连接;距离短;安装技术要求不高
2 低成本需求 SCSI总线成本低
3 较好的性能
4 通用的解决方案DAS的投资低,绝大多数应用可以接受
缺点:
1.有限的扩展性 SCSI总线的距离最大25米;最多15个设备
2.专属的连接
3.空间资源无法与其他服务器共享,备份和数据保护,备份到与服务器直连的磁带设备上,硬件失败将导致 更高的恢复成本
4.TCO(总拥有成本高)存储容量的加大导致管理成本上升存储使用效率低
(2).NAS
NAS是将存储设备连接到现有的网络上,提供数据和文件服务,应用服务器直接把File I/O请求通过LAN传给远端NAS中的文件系统,NAS中的文件系统发起Block I/O到与NAS直连的磁盘。主要面向高效的文件共享任务,适用于那些需要网络进行大容量文件数据传输的场合。
优点:
资源共享
构架于IP网络之上
部署简单
较好的扩展性
异构环境下的文件共享
易于管理
备份方案简单
低的TCO
缺点:
扩展性有限
带宽瓶颈,一些应用会占用带宽资源
不适应某些数据库的应用
(3)SAN
SAN通过光纤连接到一群计算机上,在网络中提供了多主机连接,但并非标准的拓扑图。它是一个用在服务器和存储资源之间的、专用的、高性能的网络体系。它为实现大量原始数据的传输而进行了专门的优化。
优点:
实现存储介质的共享
非常好的扩展性
易于数据备份和恢复
实现备份磁带共享
LAN Free和Server Free
高性能
支持服务器群集技术
容灾手段
低的TCO
缺点:
成本较高
需要专用的连接设备如FC交换机以及HBA
SAN孤岛
技术较为复杂
需要专业的技术人员维护
磁盘阵列是由很多价格较便宜的磁盘组合而成的一个容量巨大的磁盘组,可利用个别磁盘提供数据所产生加成效果提升整个系统效能。利用这项技术,可将数据切割成许多区段,分别存放在各个硬盘上。再具体介绍RAID (Redundant Array of Inexpensive Disks, 廉价冗余磁盘阵列)之前,先了解一下相关概念,如下
分区:又称为Extent,是一个磁盘上的地址连续的存储块。一个磁盘可以划分为多个分区,每个区可以大小不等,有时也成为逻辑磁盘
分块:又称为Strip,将一个分区分成多大小相等的、地址相邻的块,这些块称为分块。分块通常被认为是条带的元素。虚拟磁盘以分块为单位将虚拟磁盘的地址映射到成员磁盘的地址
条带:又称为Stripe,是阵列的不同分区上的位置相关的分块集合,是组织不同分区上条块的单位
软RAID:RAID的所以功能依赖于操作系统与服务器CPU来完成,没有第三方的控制/处理(业界称其为RAID协处理器——RAID Co-Processor)与I/O芯片
硬RAID:有专门的RAID控制/处理与I/O处理芯片,用来处理RAID任务,不需要耗用主机CPU资源,效率高,性能好
1. RAID 0
RAID 0是没有容错设计的条带磁盘阵列,以条带形式将RAID阵列的数据均匀分布在各个阵列中。RAID 0没有磁盘冗余,一个磁盘失败导致数据丢失。总容量=磁盘数量x磁盘容量
RAID0的优缺点
优点:
可多I/O操作并行处理,具有极高的读写效率, 速度快,由于不存在校验,因此不占用CPU资源, 设计、使用与配置简单
缺点:
无冗余.一个RAID 0磁盘失败,则数据将彻底丢失,不能用于关键数据环境
适用领域:
概规生成和编辑
图像编辑
较为“拥挤”的操作
其他需要大的传输带宽的操作
至少需要的磁盘数: 2个
RAID 1
RAID1以镜像作为冗余手段,虚拟磁盘中的数据有多个副本,放在成员磁盘上,具有100%的数据冗余,但磁盘空间利用率只有50%。总容量=(磁盘数量/2)*磁盘容量。
RAID 1优缺点如下:
优点
理论上读效率是单个磁盘的两倍
100%的数据冗余
设计、使用简单
缺点:
1)ECC(错误检查与纠正)效率低下磁盘ECC的CFU占用率是所有RAID等级中最高的,成本高
2)软RAID方式下,很少能支持硬盘的热插拔
3)空间利用率只有1/2
适用领城:
财务统计与数据库
金融系统
其他需要高可用的数据存储环境
至少需要磁盘数: 2个
3. RAID 3
RAID3(条带分布+专用盘校验)以XOR校验为冗余方式,使用专门的磁盘存放校验数据,虚拟磁盘上的数据块被分为更小的数据块并行传输到各个成员物理磁盘上,同时计算出XOR校验数据并存放到校验磁盘上。只有一个磁盘损坏的情况下,RAID 3能通过校验数据恢复损坏磁盘,但在两个以上磁盘同时损坏情况下,RAID 3不能发挥数据校验功能。总容量=(磁盘数量-1)x (磁盘容量)
RAID 3的优缺点
优点:
相对较高的读取传输率
高可用性,如果有一个磁盘损坏,对吞吐量影响较小
高效率的ECC操作
缺点:
1)校验盘成为性能瓶颈
2)每次读写牵动整个组,每次只能完成一次I/O
适用领域:
视频生成和在线编辑
图像与视频编辑
其他浏览高吞吐量的场合
至少需要磁盘数:3个
RAID 5
RAID 5(条带技术+ 布布式校验)以XOR检验为冗余方式,校验数据均匀分布在各个数据磁盘上,对各个数据磁盘的访问为异步操作。相对于RAID 3改善了检验盘的瓶颈,总容量=(磁盘数量-1)x (磁盘容量)
优缺点如下
优点:
高读取速率
中等写速率
缺点:
1)异或校验影响存储性能
2)磁盘损坏后,重建很复杂
适用领域:
文件服务器和应用服务器
OLTP环境的数据库
Web、E-mail 服务器
至少需要破盘数:3个
5. RAID 6
RAID 6能够允许两个磁盘同时失效的RAID级别系统,其总容量=(磁盘数-2)x (磁盘容量)。
在实际应用中,RAID 6的应用范围并没有其他的RAID模式那么广泛。因为实现这个功能般需要设计更加复杂、 造价更昂贵的RAID控制器,所以RAID 6的应用并不广泛。
RAID 6的优缺点如下
优点:
1 )快速的读取性能
2)更高的容错能力
缺点:
1)成本更高
2)很慢的写人速度
适用领域:
高可靠性环境
至少需要磁盘数: 4个
6. RAID 10
RAID 10(镜像阵列条带化)是将镜像和条带组合RAID级别,最低一级的是RAID 1镜像对,第二级为 RAID 0。其总容量=(磁盘数/2)x(磁盘容量)
RAID10的优缺点如下
优点:
1)高读取速率
2)高写速率,较校验RAID而言,写开销最小
3)至多可以容许N个磁盘同时损坏(2N个磁盘组成的RAID 10阵列)
缺点:
1)价格贵
2)只有1/2的磁盘利用率
适用领域:
要求高可靠性和高性能的数据库服务器
至少需要磁盘数:4个
7. RAID 50
RAID 50将镜像和条带组合起来的组合RAID级别,最低一级是RAID5镜像对,第二级为RAID0。
总容量=(磁盘数 -1)*(磁盘容量)
RAID 50的优缺点如下
优点:
比单个RAID 5容纳更多的磁盘
比单个RAID 5有更好的读性能
至多可以容许N个磁盘同时损坏(N个RAID5组成的RAID 50阵列)
比相同容量的单个RAID5重建时间更短
缺点:
1)比较难实现
2)同一个RAID 5组内的两个磁盘损坏会导致整个RAID50阵列的失效
适用领城:
大型数据库服务器
应用服务器
文件服务器
至少需要磁盘数: 6个
热备份是指在建立RAID磁盘阵列系统的时候,将其中一个磁盘指定为热备磁盘,此热备磁盘在平常并不操作,当阵列中某一磁盘发生故障时,热备磁盘便取代故障磁盘,并自动将故障磁盘的数据重构在热备磁盘上。
热备盘分为全局热备盘和局部热备盘。
1)全局热备盘:针对整个磁盘阵列,对阵列中所有RAID组起作用。
2)局部热备盘:只针对某一RAID组起作用。
因为反应快速,并且快取内存减少了磁盘的存取,所以数据重构很快即可完成,对系统的性能影响不大。对于要求不停机的大型数据处理中心或控制中心而言,热备份更是-项重要的功能,因为可避免晚间或无人守护时发生磁盘故障所引起的种种不便。
磁盘热备的主要过程如下:
1)由5个磁盘组成RAID 5, 其中4个数据盘,1个热备盘存储校验条带集,热盘平时不参与计算。
2)某个时刻某个数据盘损坏,热备盘根据校验集开始自动重构。
3)热备盘重构备结束,加人RAIDS代替损坏磁盘参与计算。
4)普换新的磁盘,热备盘进行复制
5)热备盘复制完成后,重新建立校验集。
热备份具有以下特性:
在线操作特性。
系统中需设置一个热添加的备份盘或用一个新的替代磁盘代替故障磁盘。
当满足以下条件时开始数据自动重构:,
有一个热备份盘存放于独立故障磁盘的
所有磁盘的配置为冗余阵列(RAID 1,3,5,10)
所有的操作都是在不中断系统操作中的情况下进行的
快照是某一个时间点上的逻辑卷的映像、逻辑上相当于整个快照源卷 (base Volume )副本。可将快照卷分配给任何一台主机。快照卷可读取、写入和复制,需要相当于快照源卷20%的额外空间,主要用途是利用少量存储空间煲存愿始数据的备份,文件、逻辑卷恢复及备份、测试、数据分析等。
快照仓储卷(posio vlum)用于保存快照源卷在快照过程中被修改以前的数据。
快照过程如下:
1)首先保证源卷和仓储卷的正常运行,并 保证源卷和阵列的运行是正常的些有足够的空间来创建快照
2)快照开始时源卷是只读的,快照卷对应源卷
3)快照完成,控制器释放对源卷的写权,此时可以对源卷进行写操作,快照是一些指向源卷数据的指针。
4)当源卷数据发生改变时,首先在源卷的数据改变之前将原数据写人仓储卷上,并且将快照指针引导到仓储卷上,然后对源卷数据进行修改
5)最后更新源卷数据,此时快照可以跟踪到更新之前的旧数据
数据分级存储的即把数据材数据实体在存储设备之间的自动过移:根据数据的访问新)存放在不同类别的存储设备(做盘、磁盘阵列、光盘库、中通湖科贷性越要来等因素确定最住在储中,通过分级存储管理软件策略,从而控制数据迁移的规则。分级存储具有以下优点:
1)最大限度地满足用户需求
2)减少总体存储成本
3)性能优化
4)改善数据可用性
5)数据迁移对应用透明
数据存储一般分为在线(on-line)存储、近线(near-line)存储和离线(of-line)在心三级存储方式。在线存储是指存储设备和所存储的数据时刻保持“在线”状态,可供用户随意读取,满足计算平台对数据访问的速度要求。离线存储是对在线存储数据的备份以防范可能发生的数据灾难。离线存储的数据不常被调用,一般 也远离系统应用,访问速度慢,效率低,典型产品是磁带库。近线存储主要定位于客户在线存储和离线存储之间的店用,将那些不是经常用到或者访问量并不大的数据存放在性能较低的存储设备上,但同时对这些设备的要求是寻址迅速、传输率高, 需要的存储容量相对较大。
关于云存储的定义,目前没有标准。全球网络存储工业协会( SNIA)给出的云存储的定义是,通过网络提供可配置的虚拟化的存储及相关数据的服务。百度百科给出的定义是,云存储是在云计算概念上延伸和发展出来的一个 新的概念,是指通过虚拟化、集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
云存储其实是在云计算概念上发展出来的一个概念,一般包含两个含义:
云存储是云计算的存储部分,即虚拟化的,易于扩展的存储资源池。用户可以通过云计算使用存储资源池,但不是所有的云计算的存储部分都是可以分离的
云存储意味着存储可以作为一种服务,通过网络提供给用户。用户可以通过若干种方式(互联网开放接口、在线服务等)来存储,并使用(时间、空间或两者结合)付费。
从技术层面看,目前业界普遍认同云存储的两种主流技术解决方案:分布式存储和存储虚拟化,下面分别从这两个方面讨论云存储的技术原理。
从分布式存储的技术特征上看,分布式存储主要包括分布式块存储、 分布式文件存储、和分布式表存储4种类型。
1.存储虚拟化技术背景
企业用户面对日益复杂的异构平台,不同厂商的产品,不同种类的存储设备,给存储管理带来诸多难题。数据应用已不再局限于某企业和部门,而分布于整个网络环境。系统整合、资源共享、简化管理、降低成本以及自动存储成为信息存储技术的发展要求。存储虚拟化技术是解决这些问题的有效手段,现成为信息存储技术的主要发展方向。网络存储的飞速发展给存储虚拟化赋予了新的内涵,使之成为共享存储管理中的主流技术
2.存储虚拟化的分类
虚拟化的目的主要有3个:抽象、隐藏、隔离。存储虚拟化的目的是提高设备使用率,统一数据管理功能,设备构件化,较低管理难度、提高可扩展性,数据跨设备流动。
从系统的观点看,存储虚拟化有三种途径:1.基于主机的存储虚拟化 2基于网络的存储虚拟化 3.基于存储设备的存储虚拟化 。
根据面向的用户类型不同,云存储可以分为俩类:公有云云存储产品和私有云云存储产品。
随着网络技术的发展,网络化存储逐渐成为主流技术。其需要解决的主要问题有:提供高性能存储,在I/O级和数据吞吐率方面能满足成百上千台集群服务器访问请求;支持安全的共享数据访问,便于集群应用程序的编写和存储的负载均衡;提供强大的容错能力,确保存储系统的高可用性。
主流网络存储结构的问题主要在于:①存储区域网(SAN)具有高性能、容错性等优点,但缺乏安全共享;②网络附加存储(NAS)具有可扩展性,支持共享,但缺乏高性能。
对象存储的核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-basedStorage Device, OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。对象存储由对象存储服务器(OSS)对象存储设备(OSP)、元数据服务器(MDS)、对象存储系统客户端( Client)) 4部分组成。
传统的存储系统中用文件或块作为基本的存储单位,块设备记录每个存储数据块在设备上的位置;而在对象存储系统中,对象是数据存储的基本单元,对象维护自己的属性,从而简化了存储系统的管味理任务,增加了灵活性。在存储设备中,所有对象都有一一个对象标识,通过对象标识OSD命令访问该对象。如图10-31所示,在块存储中,数据以固定大小块形式存储, 而在对象存储中,数据以对象为单位存储,其中对象没有固定大小。
对象是系统中数据存储的基本单位,每个对象是数据和数据数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布,服务质量等。对象包含文件数据以及相关的属性信息,可以进行自我管理。对象主要包括基本存储单元、名字空间、对象ID、数据、元数据等,元数据类似于inode,描述了对象在磁盘上的块分布,对象存储就是实现对象具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系,是块和文件之外的存储形式。给出了对象存储的文件组织形式,可以看出物理存储层与逻辑存储层的耦合度大大降低,并且对象的扁平化存储使得系统具有易扩展等特点。
元数据服务器通常提供俩个主要功能:1.为计算结点提供一个存储数据的逻辑视图、文件名列及目录结构。2.组织物理存储介质的数据分布(inode层)
1.对象(Object):
包含了文件数据以及相关的属性信息,可以进行自我管理
对象根据职责的不同分为多种类型,便于管理。对象按照其职责、功能等可以分为跟对象、分区对象、集合对象、用户对象等。
2.OSD(Object-based Storage Device):
一个智能设备,是Object的集合
主要功能包括数据存储、智能分布、每个对象元数据的管理。
3.文件系统:
文件系统运行在客户端上,将应用程序的文件系统请求传输到MDS和OSD上
元数据服务器(Metadata Server,MDS)系统提供元数据、Cache一致性等服务
4.MDS
MDS控制客户端与OSD对象的交互
主要功能:对象存储访问 文件和目录访问管理 客户端cache一致性
1.存储虚拟化
1969年被提出。存储虚拟化是目前以及未来的存储技术特点,RAID,LVM,SWAP、VM、文件系统等都归属于其范畴。
优点:提高存储利用率和性能,简化存储管理复杂性,绿色节省,较低运营成本等。
2.固态硬盘
固体硬盘是目前备受存储界广泛关注的存储新技术。具有体积小,能耗小、抗干扰性能力强。寻址时间极小。IOPS高 I/O性能高等特点。
3.重复数据删除
重复数据删除(Deduplication)是一种目前主流且非常热门的存储技术,可对存储容量进行有效优化。它通过删除数据集中重复的数据,只保留其中一份,从而消除冗余数据。
Dedupe技术可以帮助众多应用降低数据存储量,节省网络带宽,提高存储效率、减小备份窗口,节省成本。Dedupe技术目前大量应用于数据备份与归档系统,因为对数据进行多次备份后,存在大量重复数据。事实上,它也可以用于很多场合,包括在线数据、近线数据、离线数据存储系统。
信息呈现的指数级增长方式给存储容量带来巨大的压力,而dedupe是最为行之有效的解决方案,因此固然其有一定的不足,它大行其道的技术趋势无法改变。更低碰撞概率的hash函数、多核、GPU、SSD等,这些技术推动dedupe走向成熟,由作为一种产品而转向作为一种功能,逐渐应用到近线和在线存储系统。
4.SOHO存储
SOHO(Small office, home office)存储即家庭或个人存储。现代家庭中拥有多台PC、笔记本电脑、上网本、平板电脑、智能手机,这种情况业已非常普遍,这些设备将组成家庭网络。
SOHO存储的数据主要来自个人文档、工作文档、软件与程序源码、电影与音乐、自拍视频与照片,部分数据需要在不同设备之间共享与同步,重要数据需要备份或者在不同设备之间复制多份,需要在多台设备之间协同搜索文件,需要多设备共享的存储空间等
SOHO存储目前大致有两种思路,一是home NAS微型存储装置,提供文件级的集中共享存储空间,并在NAS提供数据备份和复制、数据管理、高级文件检索、多种数据访问协议和接口等功能。二是p2p存储系统,利用软件系统将各个设备的存储空间统一起来,提供一个虚拟的集中共享存储空间,同样可以提供home NAS上的所有功能。
5.ROBO存储
ROBO(Remote office, branch office)存储即企业远程或分支机构存储。
大的公司或组织机构会有多个子公司或分支机构组成,物理分布在世界上不同的城市。ROBO存储正是为了应对这种基于互联网的协作式工作模式而产生的。ROBO存储的需求主要集中在数据同步、共享、分发、协作,传统的上传/下载模式文件服务难以满足这种需求,天然地需要基于互联网的广域分布式文件系统。
针对ROBO存储,通常在公司总部部署集中式存储系统保存所有的数据,在每个子公司部署较小的存储节点,然后通过高速网络互联,并提供高效的数据同步、分发、数据缓存等机制,尽量减少数据通信量以提高性能和实时性。目前ROBO存储似乎还没有成熟的解决方案。
6.语义化检索
数据检索目前主要分为两类,一是基于文件名,二是基于文件内容。主流文件系统的数据检索都是基于文件名进行的,桌面搜索引擎则综合文件名和文件内容进行检索,前者遍历文件系统元数据,后者需要解析文件内容,它们都是通过关键字匹配来实现检索。显然,这两类检索的语义是非常有限的,与人类思维方式有着很大的区别。
存储系统完全可以实现语义化的检索,通过文件属性和关系来检索文件,并用关系网络(类似社会化网络)来表示检索结果。这种方式语义上更加丰富,检索结果更加精确,也更加符合人类的思维方式。
面对海量的数据,精确、高效地检索出自己需要的数据是第一步,语义化检索符合存储的技术发展趋势
7存储智能化
人工智能是计算机的发展方向,这是个理想而艰巨的目标。对于存储系统来说,智能化代表着自动化、自适应、兼容性、自治管理、弹性应用,通过对系统的监控、分析和挖掘来发现数据应用的特点和使用者的行为模式并动态调整配置,从而达到最佳的运行状态。
存储智能化可以分别在存储系统栈中的不同层次实现,包括磁盘、RAID、卷管理器、文件系统、NAS系统、应用系统,从而形成系统的存储智能化。
虽然我们已经取得了一定的成果,但离真正的目标差距还很大,存储学术界和业界都在这此而努力。智慧的存储,让数据在整个信息生命周期内有序、高效、自治,存储效用最大化、简化管理、减少人工干预,这应该是存储的大趋势