一、DAS/NAS/SAN
DAS、NAS、SAN是三种存储模式,NAS与SAN都是在DAS的基础上发展起来的,是新型数据存储模式中的两个主要发展方向。
DAS是大型服务器采用的主要存储方式,DAS(Direct Attached Storage,直接外挂存储)
NAS(Network Attached Storage,网络附加存储)
SAN(Storage Area Network,存储域网络)
直接连接存储(Direct Attached Storage,简称DAS),是通常放置在服务器机箱内部的驱动器,通常是SCSI连接。DAS驱动器也可以放置在外部机箱内,但是通过有限长度的SCSI电缆进行连接的。
网络连接存储(Network Attached Storage,简称NAS)是单独连接到局域网上的设备,但是仅仅提供基于文件的存储。简单地说,NAS机器是专用的文件服务器,但是它没有运行应用程序的能力,而是分配它们所有的资源,用来文件共享。有时也称为"Filers"。
存储区域网络(Storage Area Network ,简称SAN)通常用来指专用的硬盘存储阵列,通过光纤通道链路连接到不少主机上,这个光纤通道来自一个光纤通道交换机,该交换机可为所有的设备提供高速"Hub"功能。
对于企业存储设备而言,根据其实现方式主要划分为DAS、SAN和NAS三种,分别针对不同的应用环境,提供了不同解决方案。
以下,通过表格的方式对以上3种存储进行一个简单的比较。
存储系统架构 | DAS | NAS | SAN |
安装难易度 | 不一定 | 简单 | 困难 |
数据传输协议 | SCSI/FC/ATA | TCP/IP | FC/IP |
传输对象 | 数据块 | 文件 | 数据块 |
使用标准文件共享协议 | 否 | 是(NFS/CIFS…) | 否 |
异种操作系统文件共享 | 否 | 是 | 需要转换设备 |
集中式管理 | 不一定 | 是 | 需要管理工具 |
管理难易度 | 不一定 | 以网络为基础,容易 | 不一定,但通常很难 |
提高服务器效率 | 否 | 是 | 是 |
灾难忍受度 | 低 | 高 | 高,专有方案 |
适合对象 | 中小企业服务器 捆绑磁盘(JBOD) | 中小企业 SOHU族 企业部门 | 大型企业 数据中心 |
应用环境 | 局域网 文档共享程度低 独立操作平台 服务器数量少 | 局域网 文档共享程度高 异质格式存储需求高 | 光纤通道储域网 网络环境复杂 文档共享程度高 异质操作系统平台 服务器数量多 |
业务模式 | 一般服务器 | WEB服务器 多媒体资料存储 文件资料共享 | 大型资料库 数据库等 |
档案格式复杂度 | 低 | 中 | 高 |
容量扩充能力 | 低 | 中 | 高 |
表格 1 三种技术的比较
录像存储
录像存储是指将监控图像录制下来,并以文件形式存储在存储设备中,并可在以后随时被读出回放。
存储的实现有多种模式,包括DAS(直连存储)、SAN(存储区域网)和NAS(网络存储)等。DAS就是普通计算机系统最常用的存储方式,即将存储介质(硬盘)直接挂接在CPU的直接访问总线上,优点是访问效率高,缺点是占用系统总线资源、挂接数量有限,一般适用于低端PC系统。SAN是将存储和传统的计算机系统分开,系统对存储的访问通过专用的存储网络来访问,对存储的管理可交付与存储网络来管理,优点是高效的存储管理、存储升级容易,而缺点则是系统较大,成本过高,适用于高端设备。NAS则充分利用系统原有的网络接口,对存储的访问是通过通用网络接口,访问通过高层接口实现,同时设备可专注与存储的管理,优点是系统简单、兼容现有系统、扩容方便,缺点则是效率相对比较低。
典型的传统数字硬盘录像机设备一般都采用DAS方式,即自身包含若干硬盘,录像数据进行压缩编码后直接存储在本地硬盘中,回放也从本地硬盘中读出。网络功能只是个附加的功能,主要面向远程终端实时监控本地图像和回放本地录像。在系统比较大时,这种方式必然是分布式存储的,给系统管理带来了麻烦。数字硬盘录像机的发展将使网络成为中心,而规模的增大使得分布式存储的缺点更加显著。采用NAS作为录像的存储设备,解决了传统数字硬盘录像机所限制的这些问题,作为下一代数字录像系统,其优势表现在:
优良的设备环境:由于硬盘的不稳定性,需要一个更好的工作环境来延长硬盘的寿命和减少存储的不可用时间。NAS作为专业的存储设备,针对多硬盘环境作了优化设计,让硬盘工作的更稳定、更可靠。
专业的存储管理:有效的存储管理在数据量上升时更加显得重要,数据的安全性与冗余性将更受关注。NAS通过专业软件对大容量存储进行管理,增加安全机制及冗余管理,使得存放的数据更便捷、更放心。
轻松的容量扩张:对容量的需求日益增加的今日,更加看重存储容量的可扩张性。NAS的容量扩张基本上是Plug&Play的模式,方便用户升级。另外,NAS还可实现系统升级与存储升级的分离,更适合一个逐渐发展的系统。
本系统采用NAS作为录像的存储设备,但从网络可靠性方面考虑,采用二级存储机制,即录像时直接录制在DVR中,在其中保存一定时间,定期再将DVR中的录像转存至NAS中。采用二级存储机制,虽然比直接网络存储复杂,但可以将网络的不可靠因素对系统的影响降到最低,以确保录像数据的完整性。
二、磁盘阵列RAID技术
RAID将普通硬盘组成一个磁盘阵列,在主机写入数据,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。由于采用并行读写操作,从而提高了存储系统的存取系统的存取速度。 RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。根据磁盘陈列的不同组合方式,可以将RAID分为不同的级别。磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,而每一level都代表着不同技术,目前业界公认的标准是RAID 0~RAID 5。
主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:
RAID 0:无差错控制的带区组
RAID 1:镜象结构
RAID2:带海明码校验
RAID3:带奇偶校验码的并行传送
RAID4:带奇偶校验码的独立磁盘结构
RAID5:分布式奇偶校验的独立磁盘结构
RAID0是具有提速和扩容的目的
在RAID0模式中,数据被分割为一定数量的数据块(Chunk)交叉写在多个硬盘上,一般的来说在RAID0系统中数据被分割的数量同RAID阵列所使用的硬盘的数量是有关的,比如RAID0中采用了3块硬盘,那么数据将会被分为三份依次的写入三个硬盘,通俗的说这种模式其实就是利用RAID技术让系统认为三块硬盘组成一个容量更大的硬盘,因为这个过程没有数据校验所以这种RAID模式是读写速度最快的一种。
RAID0并没有从安全性角度考虑,实际上,如果RAID0当中的一块硬盘坏了,所有数据都会损坏,并且没有办法恢复。这使得RAID0的安全性能非常差,所以很多用户出于安全考虑没有使用RAID0模式。虽然如此,RAID0毕竟是所有RAID方式当中速度最快的一种模式,如果RAID0模式当中有两块硬盘的话,那么RAID0的存储读取数据的速度会是单个硬盘双倍。,如果使用6块硬盘的话,那么理论速率就是单个硬盘的6倍。如果在RAID0模式当中使用不同的硬盘会造成两方面的问题,首先,RAID0的有效硬盘容量会是最小的硬盘的容量乘上硬盘的个数,这是因为如果容量的最小的硬盘存满了之后,RAID0依然会将文件平均分配到各个硬盘当中,此时便不能完成存储任务了;其次,如果RAID0当中的硬盘速度不同,那么整体的速度会是速度最慢的硬盘的速度乘上硬盘的个数,这是因为RAID0模式是需要将上一部的存储任务完成之后才能进行下一步的进程,这样,其它的速度快的硬盘会停下来等待速度慢的硬盘完成存储或者读取任务,使得整体性能有所下降。所以,在这里建议使用RAID0模式的用户最好选择容量和速度相同的硬盘,最好是同一品牌的同种产品。
因此RAID0在严格意义上说不是"冗余独立磁盘阵列"。RAID0模式一般用于需要快速处理数据但是对于数据的安全性要求不高的场合。这种RAID模式的特点是简单,而且并不需要复杂和昂贵的控制器。采用RAID0模式至少需要2块硬盘,最终得到的存储容量也是这两块硬盘的和。
RAID0的随机读取性能:很好
RAID0的随机写入性能:很好
RAID0的持续读取性能:很好
RAID0的持续写入性能:很好
RAID0的优点:最快的读写性能,如果每块硬盘拥有独立的控制器性能将会更好。
RAID0的缺点:任何一块硬盘出现故障所有的数据都会丢失,大部分的控制器都是通过软件实现的,所以效能并不好。)
RAID 0是无数据冗余的存储空间条带化,将数据以条纹化的方式存储在阵列之中,实现性能的增强,但没有数据冗余。具有低成本、极高读写性能、高存储空间利用率的RAID级别,适用于Video / Audio信号存储、临时文件的转储等对速度要求极其严格的特殊应用。但由于没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘损坏都将带来数据灾难性的损失。
RAID 1是两块硬盘数据完全镜像,数据条纹化的头一半是原始数据,后一半是数据镜像,但被写往RAID 1阵列中的第二个磁盘,RAID 1最少需要2个磁盘。,安全性好,技术简单,管理方便,读写性能均好,但其无法扩展(单块硬盘容量),数据空间浪费大。专门针对性能要求高的应用。
RAID 0+1综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像。它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低,不能称之为经济高效的方案。
RAID 3使用一个"奇偶"磁盘来存储冗余信息。奇偶磁盘物理上与数据磁盘相隔离。
RAID 5使用一个"奇偶"磁盘来存储冗余信息。实际上,包括奇偶信息在内的所有数据都以条纹化的形式存储到阵列中的所有磁盘上(没有物理上隔离的奇偶磁盘)。当对一个阵列执行RAID 5保护时,阵列要减去一个磁盘驱动器的容量(用于存储奇偶数据)。最少要求3个磁盘。RAID 5是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高(见图1)。任何一块硬盘上数据丢失,均可以通过校验数据推算出来。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是1块硬盘出现故障以后,整个系统的性能大大降低。
图 2 RAID 5实现方式
从技术实现方式上说,RAID技术可以通过软件和硬件两种方式实现,随着硬件系统能力不断提升,软件RAID实现方式越来越成为主流的选择。
标准的RAID写操作,如RAID5中所必需的校验计算,需包括以下几个步骤:
1)以校验盘中读取数据
2)以目标数据盘中读取数据
3)以旧校验数据,新数据及已存在数据,生成新的校验数据
4)将新校验数据写入校验盘
5)将新数据写入目标数据盘
当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列将该数据保存在缓存中并立即报告主机该数据的写入工作已完成。该数据写入到阵列硬盘的工作由阵列控制完成,该数据可继续存放在Cache中直到Cache满,而且要为新数据腾出空间而必须刷新时或阵列需停机时,控制器会及时将该数据从Cache写入阵列硬盘中。这种缓存回写技术使得主机不必等待RAID校验计算过程的完成,即可处理下一个读写任务,这样,主机的读写效率大为增加。当主机命令将一个数据写入硬盘,则阵列控制器将该数据写入缓存最上面的位置,只有新数据才会被控制器按Write-Back Cache的方式最后写入硬盘。
三、SATA/SCSI/SAS/IDE
IDE/ATA 是Integrated Device Electronics/Advanced Technology Attachment (IDE/ATA)的缩写。这是一种十分流行的计算机外设接口,它不但能用于连接硬盘,也广泛地用于连接CD-ROM,软盘驱动器等设备。其中IDE是指一种协议,它规定了主板上的控制器如何与连接的硬盘通信。ATA是指连接主板和外设的借口类型。这种类型的接口的优点是廉价,兼容性好。缺点是速度相对较慢,比如Ultra DMA/133标准支持的带宽是133MB/s。而且缆线长度很短,一般只能用于机箱内的设备连接。
SATA其实就是Serail ATA,串行的ATA。SATA设计的目的就是取代并行的ATA,第三版的SATA最高传输速度可以达到6Gb/s(大概等于715MB/s)。SATA是可热插拔的,它使用7针脚的窄连接线。
SCSI是Small Computer System Interface的缩写。是一种历史比较悠久但仍广泛使用的的外设连接标准。它除了被用于连接硬盘和磁带机以外还可以连接其它外设,如扫描仪和打印机之类的。SCSI包括了一系列标准,其使用的物理接口类型也都不尽相同。其中Ultra-640 SCSI支持640MB/s的带宽。
对于IDE设备,SCSI设备一般比较贵一点,SCSI硬盘以往常常用于服务器级别的主机上。Serial Attached SCSI。串行版本的SCSI,是SCSI的进化版本。而且SAS对SATA是兼容的,3 Gbit/s的SATA盘可以连接到SAS的接口,不过SAS的硬盘不能连接到SATA的接口上。目前SAS硬盘被广泛地应用于服务器级别的主机上。