DAS/SAN/NAS组网示意图
DAS(Direct Attachment Storage)
直接连接存储:存储设备是通过电缆(通常是SCSI接口电缆)直接连到服务器的。 I/O请求直接发送到存储设备
DAS分析
NAS(Network Attachment Storage)
网络 连接/附加/附属 存储:存储设备连接到现有的网络上,提供数据和文件服务,应用服务器直接把File I/O请求通过LAN传给远端NAS中的文件系统,NAS中的文件系统发起Block I/O到与NAS直连的磁盘。主要面向高效的文件共享任务,适用于那些需要网络进行大容量文件数据传输的场合。
SAN(Storage Area Network)
存储区域网络:它是一个用在服务器和存储资源之间的、专用的、高性能的网络体系。它为实现大量原始数据的传输而进行了专门的优化。
SAN的优缺点
DAS、NAS、SAN三种形态比较
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)(磁盘容量)
RAID10 数据分布组织方法: 首先将磁盘两两镜像(RAID1),然后将镜像后得磁盘条带化。
RAID50定义:将镜像和条带组合起来的组合RAID级别,最低一级是RAID5镜像对,第二级为RAID0。
总容量=(磁盘数 -1)*(磁盘容量)
RAID50 数据分布组织方法:首先将分为n组磁盘,然后将每组磁盘做RAID5,最后将N组RAID5条带化。
热备份是指在建立RAID磁盘阵列系统的时候,将其中一个磁盘指定为热备磁盘,此热备磁盘在平常并不操作,当阵列中某一磁盘发生故障时,热备磁盘便取代故障磁盘,并自动将故障磁盘的数据重构在热备磁盘上。
热备磁盘分为全局热备磁盘和局部磁盘
1)全局热备盘:针对整个磁盘阵列,对阵列中所有RAID组起作用。
2)局部热备盘:只针对某一RAID组起作用。
磁盘热备的主要过程如下:
1)由5个磁盘组成RAID5,其中4个数据盘,1个热备盘存储校验条带集,热盘平时参与计算。
2)某个时刻某个数据盘损坏,热备盘根据校验集开始自动重构
3)热备盘重构结束,加入RAID5代替损坏磁盘参与计算。
4)替换新的磁盘,热备磁盘进行复制。
5)热备盘复制完成后,重新建立校验集。
目前业界两种主流云存储技术解决方案:基于虚拟化技术和分布式存储。
文件存储以标准文件系统接口形式向应用系统提供海量非结构化数据存储空间。分布式文件系统把分布在局域网内各个计算机上的共享文件夹集合成一个虚拟共享文件夹,将整个分布式文件资源以统一的试图呈现给用户。 它对用户和应用程序屏蔽各个节点计算机底层文件系统的差异,提供用户方便的管理资源的手段或统一的访问接口。
分布式文件系统的出现很好的满足互联网信息不断增长的需求,并为上层构建实时性更高,更易使用的结构化存储系统提供有效的数据管理的支持。在催生了许多分布式数据库产品的同时,也促使分布式存储技术不断的发展和成熟。
在传统的存储系统中用文件或块作为基本的存储单位,块设备要记录每个存储数据块在设备上的位置;而在对象存储系统中,对象是数据存储的基本单元,Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性,在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。
OSD(Object-based Storage Device)
每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。
OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。
OSD的主要功能
OSD提供三个主要功能:
(1) 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
(2) 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
(3) 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。
文件系统
文件系统对用户的文件操作进行解释,并在元数据服务器和OSD间通信,完成所请求的操作。
现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。
接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。
同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致
元数据服务器 (Metadata Server)
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不一致引发的问题。
1、存储虚拟化
存储虚拟化是目前以及未来的存储技术热点,它其实并不算是什么全新的概念,RAID、LVM、SWAP、VM、文件系统等这些都归属于其范畴。
存储的虚拟化技术有很多优点,比如提高存储利用效率和性能,简化存储管理复杂性,绿色节省,降低运营成本等。
目前最新的存储虚拟化技术有自动分级存储(HSM)、自动精减配置(Thin provision)、云存储(Cloud storage)、分布式文件系统(Distributed file system),另外还有诸如动态内存分区、SAN和NAS虚拟化。
虚拟化可以柔性地解决不断出现的新存储需求问题,因此我们可以断言存储虚拟化仍将是未来存储的发展趋势之一 。
2、固态硬盘
固态硬盘(SSD, solid state disk)是目前倍受存储界广泛关注的存储新技术,它被看作是一种革命性的存储技术,可能会给存储行业甚至计算机体系结构带来深刻变革。
SSD与传统磁盘不同,它是一种电子器件而非物理机械装置,它具有体积小、能耗小、搞干扰能力强、寻址时间极小(甚至可以忽略不计)、IOPS高、I/O性能高等特点。
对于存储系统来说,SSD最大突破是大幅提高了IOPS,摩尔定理的效力再次显现,通过简单地用SSD替换传统磁盘,就可能可以达到和超越综合运用缓存、预读、高并发、数据局部性、磁盘调度策略等软件技术的效用。
SSD已经开始被广泛接受并应用,当前主要的限制因素包括价格、使用寿命、写性能抖动等。从最近两年的发展情况来看,这些问题都在不断地改善和解决,SSD的发展和广泛应用将势不可挡。
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系统、应用系统,从而形成系统的存储智能化。
虽然我们已经取得了一定的成果,但离真正的目标差距还很大,存储学术界和业界都在这此而努力。智慧的存储,让数据在整个信息生命周期内有序、高效、自治,存储效用最大化、简化管理、减少人工干预,这应该是存储的大趋势。