最近在看一些存储相关的东西,就顺手作了一些总结。我发现国内在存储的知识普及方面做的还不错,因此就查阅了国内相关的一些资料,也并没有去看英文文档。下面就把整理的一些知识点发出来,方便大家学习交流,希望大家给我多提提意见。
存储领域,有挺多的名词和术语,比如常见的有SCSI、FC、DAS、NAS、SAN等,下面就简单说说它们。
SCSI
SCSI 是小型计算机系统接口(Small Computer System Interface)的简称,SCSI作为输出/输入接口,主要用于硬盘、光盘、磁带机、扫描仪、打印机等设备。比如SAS(Serial Attached SCSI)主要用于服务器。
图例:SCSI接口硬盘
SAS
SAS 是串行式 SCSI(Serial Attached SCSI)的简称,它是一种计算机集线的技术,其功能主要是作为周边零件的数据传输,例如:硬盘、CD-ROM等设备而设计的界面。
SAS 是点对点(point-to-point)连接,并允许多个端口集中于单个控制器上,可内置于主板上也可以另行添加。由于 SAS 是由并行 SCSI 物理存储接口演化而来的,因此它创建在强大的并行 SCSI 通信技术基础上,所以与并行方式相比,串行方式能提供更快速的通信传输速度以及更简易的配置。此外,SAS 还支持与串行 ATA(SATA)设备兼容,且两者可以使用相类似的电缆和接口。
图例:SATA接口硬盘和SAS接口硬盘对比
ATA
ATA技术是一个关于IDE(Integrated Device Electronics)的技术规范族。最初,IDE只是一项企图把控制器与盘体集成在一起为主要意图的硬盘接口技术。
随着IDE/EIDE得到的日益广泛的应用,全球标准化协议将该接口自诞生以来使用的技术规范归纳成为全球硬盘标准,这样就产生了ATA(Advanced Technology Attachment),旗下有:IDE就是PATA(Parallel ATA)、SATA(Serial ATA)都是用于普通电脑。
注意:SAS接口兼容SATA硬盘;SATA接口不能兼容SAS硬盘。
图例:IDE接口线和SCSI接口线
SATA
SATA是串行ATA(Serial Advanced Technology Attachment)的简称,SATA已经完全取代旧式 PATA 接口的旧式硬盘,因采用串行方式传输数据而得名。在数据传输上这一方面,SATA的速度比以往更加快捷,并支持热插拔,使计算机运作时可以插上或拔除硬件。另一方面,SATA总线使用了嵌入式时钟频率信号,具备了比以往更强的纠错能力,能对传输指令(不仅是数据)进行检查,如果发现错误会自动矫正,提高了数据传输的可靠性。不过,SATA和以往最明显的分别,是用上了较细的排线,有利机箱内部的空气流通,某程度上增加了整个平台的稳定性。
SATA是 SAS 的孪生兄弟。因此,两者的排线兼容,SATA 硬盘可接在 SAS 接口上,但是SAS 硬盘不能接在 SATA 接口上。
图例:IDE接口硬盘和SATA接口硬盘对比
FC
FC是光纤通道(Fibre Channel)的简称,是一种适合于千兆数据传输的、成熟而安全的解决方案。与传统的SCSI技术相比,FC提供更高的数据传输速率,更远的传输距离,更多的设备连接支持,更稳定的性能,更简易的安装。
图例:FC接口
DAS
DAS是直连式存储(Direct-Attached Storage)的简称,直连式存储与服务器主机之间的连接通道,通常采用SCSI连接,存储设备只用于与独立一台主机服务器连接,其他主机不能使用这个存储设备,比如PC中的磁盘货只有一个外部SCSI接口的JBOD (Just a Bunch Of Disks,磁盘簇是在一个底板上安装的带有多个磁盘驱动器的存储设备,通常又称为Span)。
当服务器在地理上比较分散,很难通过远程进行互连时,DAS是比较好的解决方案。但是这种式存储只能通过与之连接的主机进行访问,不能实现数据与其他主机的共享,同时,DAS会占用服务器操作系统资源,例如CPU资源、IO资源等,并且数据量越大,占用操作系统资源就越严重。
图例:DAS设备
NAS
网络接入存储(Network-Attached Storage)简称NAS,它通过网络交换机连接存储系统和服务器,建立专门用于数据存储的私有网络,使其可以直接连接在计算机网络上面,为异质网络(异质网络(Heterogeneous Network)是一种类型的网络,其是由不同制造商生产的计算机,网络设备和系统组成的,大部分情况下运行在不同的协议上支持不同的功能或应用。)用户提供了集中式数据访问服务。
用户通过TCP/IP协议访问数据,采用业界标准的文件共享协议如NFS、CIFS来实现基于文件级的数据共享。NAS存储使文件共享访问变得更加方便和快捷,并且能很容易地增加存储容量。通过专业化文件服务器与存储技术相结合,NAS为那些需要共享大量文件数据的企业提供了一个高效的、高可靠的、高性价比的解决方案。但是NAS也有一定的局限性,它会收到网络宽带和网络拥堵的影响,在一定程度上限制了NAS的网络传输能力。
图例:NAS设备
SAN
存储区域网络(Storage Area Network)简称SAN,一种通过光纤交换机、光纤路由器、光纤集线器等设备将磁盘阵列、磁带等存储设备与相关服务器连接起来的高速专用子网。它由3个部分组成,分别是连接设备(如路由器、光纤交换机和Hub)、接口(如SCSI、FC)、通信协议(如IP和SCSI)。这3个部分再加上存储设备和服务器就构成了一个SAN系统。该架构的特点是,连接到服务器的存储设备,将被操作系统视为直接连接的存储设备。SAN提供了一个灵活的、高性能的和高扩展性的存储网络环境,它可以更加有效地传输海量的数据块。由于采用了光纤接口,因此SAN还具有更高的带宽,同时,SAN也使统一管理和集中控制实现简化。
根据SAN的定义,即"存储区域网络"。SAN其实只是一个网络,但是这个网络内包含着各种各样的元素,如主机、适配器、网络交换机、磁盘阵列前端、盘阵后端、磁盘等。应该说,SAN是一个最大的范围,它涵盖了一切后端存储相关的内容。因此,只要是专门用来向服务器传输数据的网络都可以被称为SAN,所以说在一定程度上,SAN包含了NAS。因为NAS的意思是"网络附加存储",它说的是一种网络存储方式。
现在SAN已经广泛应用于ISP和银行等,随着用户业务量的增大,SAN的应用前景将越来越光明。
图例:FC SAN设备
图例:IP SAN设备
DAS、SAN和NAS的架构图
DAS、SAN和NAS的方式路径图
DAS方式路径图:
SAN方式路径图:
NAS方式路径图:
在 SAN 方式下,如果应用程序想要与磁盘阵列对话,就必须通过运行在服务器本机或者NAS设备上的文件系统去完成。虽然路径比 NAS 方式多了一次 FC 访问的过程,但是由于 FC 的逻辑都是由适配卡上的硬件完成的,因此增加不了多少 CPU 开销,更重要的是 FC 的访问速度比 以太网 高很多。
在 NAS 方式下,应用程序可以通过操作系统的虚拟目录层直接与 NAS 设备进行对话。在该架构路径中,当 虚拟目录层 和 文件系统层 通信时,使用 以太网 和 TCP/IP协议 去代替 内存。这样做不但增加了大量的 CPU指令周期(TCP/IP逻辑和以太网卡驱动程序),而且使用的是 低速传输介质(我们知道,内存速度要比以太网快得多)。
在这种情况下,如果后端磁盘没有瓶颈的话,除非 NAS 使用快于内存的网络方式与主机进行通信,否则的话,NAS 的速度永远无法超越 SAN 架构。
但是,如果后端磁盘有瓶颈,那么 NAS 用网络代替内存的方法所产生的性能降低就可以忽略了。比如在大量随机小块IO,并且缓存命中率极低的环境下,后端磁盘系统寻道瓶颈达到最大,此时前段的 IO 指令就会处于等待状态,所以就算 路径首段 速度再快,也无济于事。在这种情况下,NAS系统不但不比 SAN 慢,而且由于其优化的并发 IO 设计以及基于文件访问而不是簇块访问的特性,反而可能会比 SAN 性能高。
那么,下面就来具体看看SAN和NAS各自的优势!
SAN的优势:
1、高可用性能
2、提高了数据的 可靠性 和 安全性。在SAN种可以采用双环的方式,简历存储设备和计算机之间的多条通路,提高了数据的可靠性。建立虚拟专用网络可以提高数据的安全性。
3、易扩展和兼容性。SAN本身就是一种网络,因此其在网络中的存储设备的数量和容量,以及服务器的主机的数目不再受限制。
4、集中管理、共享存储。通过SAN架构,巨大的、集中的磁盘存储池可以被多个主机所共享,在需要时从共用的存储池中分配出新的卷,极大提高了存储资源的利用率。
5、实时快速备份。使用像LAN Free、SERVER Free之类的技术进行备份,减少了CPU为备份所需要的计算工作,也不会使用IP协议的传输网络通道。
6、提高数据访问速度。SAN的关键是速度。作为一个块级访问协议,封装于光纤通道协议(FCP)的SCSI协议是从存储设备到主机间的数据传输速度最快、效率最高的数据传输协议。尽管千兆网实现的速度与光纤通道网络是一样的,但效率和可用的协议总是不如光纤通道网,所以光纤通道网上跑的高带宽应用,在千兆网上就跑不起来。
7、异地容灾的实现。SAN技术的一个主要优势就是它的高性能距离传输能力。
NAS的优势:
1、NAS的成本比SAN低,前端只要以太网接口即可,FC适配卡以及交换机的成本相对以太网卡和交换机来说非常高
2、NAS可以解放主机服务器上的CPU和内存资源。因为文件系统的逻辑是靠CPU的运算来完成的,同事i文件系统还需要占用大量主机内存用作缓存。所以,NAS适合用于CPU密集的应用环境。
3、由于基于以太网的TCP/IP传输数据,所以NAS可扩展性很强。
4、NAS设备一般都可以提供多种协议访问数据。网络文件系统是一种协议,还有诸如HTTP、FTP等协议方式。而SAN只能使用SCSI协议访问。
5、NAS可以再一台盘阵上实现多台客户端的共享访问,包括同时访问某个目录或文件。而SAN方式下,除非所有客户端都安装了专门的集群管理系统或者集群文件系统模块,否则不能将某个LUN共享,强制共享将会损毁数据。
6、经过特别优化的NFS系统,可以同时并发处理大量客户端的请求,提供比SAN方式更方便的访问方法。
7、多台主机可以同时挂载NFS上的目录,相当于减少了整个系统中文件系统的处理流程,由原来的多个并行处理转化成了NFS上的单一实例。
SAN好还是NAS好?
我们在看了SAN和NAS各自的优势之后,此时可能会有疑虑,到底是SAN好还是NAS好呢?
这个就要看情况了!我们先来看下面几个概念。
CPU密集:指的是某种应用及其耗费CPU资源,其程序内部逻辑复杂,而且对磁盘访问量不高。比如CPU测试功能,运行之后CPU的核心会处于全速状态。必要时,可以使用多台机器组成集群来运行这种程序。
IO密集:指的是某种应用程序的内部逻辑并不复杂,耗费的CPU资源不多,但是要随时存取硬盘上的数据。比如FTP服务器之类的程序。
IO和CPU同时密集:这种应用程序就是梦魇了。在这种情况下,为了获得高性能,大部分这类程序都不会在单台机器上运行,必须组成集群系统来运行这种应用程序,包括前端运算节点集群和后端存储节点的集群。
因此,我们得出结论:
针对大块连续IO密集的环境,我们最好使用 SAN。
因为此时如果使用 NAS,就会因为累积效应,在经过大量 IO 积累值后,总体差别就显现出来了,除非使用 10Gb/s 以太网 这种高速网络。因为底层链路的速度毕竟是目前 NAS 的根本瓶颈。
针对高并发随机小块IO环境或者共享访问文件的环境,我们最好使用 NAS。
因为此时如果 SAN 主机上的文件系统碎片比较多,那么读写某个文件时,会产生大量随机小块 IO,而 NAS 自身文件系统会有很多优化设计,因此碎片相对较少。
另外,CPU 密集的应用也可以考虑使用 NAS。
下面呢,我们就再来��嗦��嗦 NAS ,因为后面我们要使用的 CIFS 和 NFS 都是 NAS 范畴的。
NAS 可以看作一个 Filer,它专门处理 文件系统逻辑 及其 下面各层的逻辑,从而解放了服务器主机。服务器主机上不必运行文件系统逻辑,甚至也不用运行磁盘卷逻辑,只需要运行目录层逻辑(UNIX系统上VFS层、Windows系统上的盘符及目录)即可。它把底层的模块全部交由一个独立的设备来完成,这样就节约了 服务器主机的 CPU 资源 和 内存资源,从而可以专心地处理应用层逻辑了。
NAS 网关就是这样一种思想。它是一台运行 文件系统逻辑 和 磁盘卷逻辑 的设备,我们可以把它想象成一个泵,这个泵可以从后端接受一种格式(以LBA地址为语言的指令和数据格式),经过处理后从前端用另一种格式(以文件系统为语言的指令和数据格式)发送出去,或执行反向的过程。
SAN可以看做是一个 Disker(专门处理磁盘卷逻辑)
服务器主机成为 Applicationer(专门处理应用逻辑)
如果把某个设备集成了 Filer 和 Disker 的功能,并将其放入一个机箱或者机柜,那么这个设备就是一个独立的NAS设备。
如果这个设备仅仅实现了 Filer,而 Disker 是另外的独立设备,那么这个只实现了 Filer 的设备被称为 NAS 网关或NAS 泵。
到现在为止,NAS 的用途并没有 SAN 广泛,主要原因是 NAS 的前端接口几乎都是千兆以太网接口,而千兆以太网的速度不过100Mb/s,出去开销之后所剩无几,而 SAN 设备的前端接口目前普遍都是 4Gb/s 的速度,可以提供400Mb/s 的带宽。
NAS的本质:
本地文件系统负责将硬盘上的数据包装、展现,以及提供调用接口。文件系统将数据展现为 文件 和 目录 的形式,调用接口包括读、写、删、创建等等。
一般情况下,应用程序是在内存中调用这些接口从而让文件系统实现对应功能的,如Read()、Write()、API等。
如果应用程序不在本机运行,而是运行在网络的另一端,同时依然像保留原来的访问文件的方式,此时就需要允许远程机器上的应用程序可以把这些调用指令通过网络打包传送过来,这些指令必须双方都能识别,为此NFS和CIFS诞生。
NFS和CIFS被称为网络文件系统,其实它们只是一种规定如何将文件系统操作指令及结果在双方之间传送和控制的协议。网络上只有协议,没有文件系统,文件系统都在本地。“通过外部网络而不是计算机内部总线来传递文件读写指令的系统”是对网络文件系统最准确和最本质的描述。
CIFS (Common Internet File System) Windows
NFS (Network File System) Linux
CIFS是一个开销非常大的NAS协议,仅仅新建和删除两个动作就会产生数百个包的流量
NFS协议的开销远远小于CIFS,完成相似的动作仅仅需要交互十几个包即可
另外,谈到NAS就需要了解文件共享协议的分类!
文件共享协议分为两大类:
1、复制整个文件
2、联机访问,透明存取
比如FTP、TFTP、HTTP之类的,都是复制整个文件这一类的,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。若要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回原节点。
诸如NFS、CIFS之类的是属于是联机访问这一类的,联机访问意味着允许多个应用程序同时对一个文件进行存取。和数据库系统不同的是用户不需要调用一个特殊的客户进程,而是由操作系统提供对远端共享文件进行访问的服务,就如同对本地文件的访问一样。使用户可以随意运行远端的任何应用程序,而操作系统中的文件系统则提供对共享文件的透明存取。透明存取优点:将原来用于处理本地文件的应用程序用来处理远端文件时,不需要对该应用程序作明显改动。
随着这么多年的发展,我们大致把传输的技术分为以下4大类,除了下面第三条,文件系统语言不可以用FC传递之外,其它的都实现了。
1、SCSI语言及数据可以用FC协议传递
2、文件系统语言可以用以太网传递
3、文件系统语言不可以用FC传递
4、SCSI语言可以使用以太网传递
我们在上面提到的第四点中,SCSI 语言可以使用以太网传递,这种技术就是 iSCSI 技术。iSCSI技术最初由 Cisco 和 IBM 两家开发,并且得到了广大IP存储技术爱好者的大力支持,这几年得到迅速的发展壮大。
ISCSI的概念
ISCSI,即 internet SCSI,是 IETF 制定的一项标准,它是一个供硬件设备使用的可以在 IP 协议的上层运行的 SCSI 指令集。这种指令集合用于将 SCSI 数据块映射为以太网数据包,以此来实现在 IP 网络上运行SCSI 协议,使其能够在诸如高速千兆以太网上进行路由选择。
从根本上说,ISCSI 是一种基于 IP Storage理论的新型存储技术,该技术将存储行业广泛应用的 SCSI 接口技术与 IP 网络技术相结合,可以在IP 网络上构建 SAN。简单地说,iSCSI 就是在 IP 网络上运行 SCSI 协议的一种网络存储技术。
对于中小企业的存储网络来说,iSCSI 是个非常好的选择。首先,从技术实现上来讲,iSCSI 是基于 IP 协议的技术标准,它允许 TCP/IP 协议上传输 SCSI 命令,实现 SCSI 和 TCP/IP 协议的连接。这样用户就可以通过TCP/IP网络来构建 SAN,无需过多投资即可方便、快捷地对信息和数据进行交互式传输和管理。但是,在iSCSI出现之前,构建 SAN 的唯一技术是利用光纤通道,这要花费很大的建设成本,一般中小企业无法承担。其次,iSCSI技术解决了传输效率、存储容量、兼容性、开放性、安全性等方面的诸多问题,在使用性能上绝对不输给商业的存储系统或光纤存储网络。
简单总结,ISCSI 的优势主要表现为如下几点:
1、ISCSI 沿用 TCP/IP 协议,而 TCP/IP 是在网络方面最通用、最成熟的协议,且 IP 网络的基础建设非常完善,同时,SCSI 技术是被磁盘和磁带等设备广泛采用的存储标准,这两点使 ISCSI 的建设费用和维护成本非常低廉
2、ISCSI 支持一般的以太网交换机而不是特殊的光纤通道交换机,从而减少了异构网络带来的麻烦
3、ISCSI 是通过 IP 封包传输存储命令,因此可以在整个 Internet 上传输数据,没有距离的限制。
FC SAN 和 IP SAN对比
在 iSCSI 技术出现后,通过 IP 技术搭建的存储网络也应运而生,SAN 技术也就出现了两种不同的实现方式,即 FC SAN 和 IP SAN。简单来说,以光纤搭建的存储网络就是 FC SAN,以 iSCSI 技术搭建的存储网络叫做 IP SAN。
作为 SAN 的两种实现方式,FC SAN与IP SAN各有优劣,下面从几个方面分别阐述:
1、在数据传输方式上,FC SAN 与 IP SAN都采用块协议方式来完成。这是他们的相同点。
2、字传输速度上,就目前的传输速率而言,FC SAN(2Gbit/s)最快,iSCSI(1Gbit/s)次之。
3、在传输距离上,FC SAN理论上可以达到100公里,而事实上,传输超过50公里后,就会出现瓶颈。而通过 IP 网络iSCSI 技术在理论上没有距离的限制,即iSCSI可以以进行没有距离限制的数据传输。
4、在管理及维护成本上,架设 FC SAN 网络需要投入很多的硬件成本,并且需要特定的工具软件操作管理,而 IP SAN构建成本低廉,由于 iSCSI 是通过IP网络来传输数据和分配存储数据的,因此只要在现有的网络上进行管理和使用即可,这样就可以省下大笔的管理费用及培训成本。
5、其实 IP SAN 也面临着一些不可回避的困扰:
a、基于IP SAN的网络存储还没有得到用户的充分肯定
b、IP SAN存储需要专门的驱动和设备,幸运的是,一些传统的光纤适配厂商都发布了 iSCSI HBA 设备,同时 Inter 也推出了专用的 IP 存储适配器,而 Microsoft、HP、Novell、SUN、AIX、Linux 也加油 iSCSI Initiator 软件,并且免费供用户使用
c、在安全方面,IP SAN 虽然有一套规范的安全机制,但是尚未得到用户的认可。
这些问题和困然虽然会妨碍 iSCSI 的发展,但是相信在未来的网络存储世界里,IP SAN绝对会拥有一席之地。
上面就是DAS、SAN、NAS相关的知识,应该能对大家有所帮助。这些相关的参考知识,我会写在下面。
1、大话存储2-张东
2、高性能linux服务器构建实战-高俊峰
3、IBM文档库
4、google