共享存储之SAN,NAS的深入比较

前言:本人能力有限,本文为转载文章。原文地址:http://wallimn.iteye.com/blog/1290721


简单的解释如下:

作者:LSI China
链接:https://www.zhihu.com/question/24335605/answer/27454928
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

DAS即直接连接存储(Direct Attached Storage),NAS即网络接入存储(Network Attached Storage),SAN即存储区域网络(Storage Area Network)。

共享存储之SAN,NAS的深入比较_第1张图片


DAS是指将外置存储通设备通过SCSI或FC接口直接连接到应用服务器上,存储设备是整个服务器结构的一部分。在这种情况下,数据和操作系统往往都未分离。


SAN是通过光纤交换机连接存储阵列和服务器,建立专用数据存储的存储私网。


NAS采用网络技术(TCP/IP、ATM、FDDI),通过网络交换机连接存储系统和服务器主机来建立存储私网。其主要特征是把存储设备、网络接口和以太网技术集成在一起,直接通过以太网网络存取数据。也就是把存储功能从通用文件服务器中分离出来。


三种模式中,DAS模式最简单,就是直接把存储设备连接到服务,而这种模式最大的问题是:每个应用服务器都要有独立的存储设备,这样增加了数据处理的复杂度,随着服务器的增加,网络系统效率也急剧下降。为了解决上述问题,提出了NAS和SAN两种模式。


NAS:通过TCP/IP协议访问数据,采用业界标准文件共享协议,如果NFS、HTTP、CIFS实现共享。


SAN:通过专用光纤交换机访问数据,采用SCSI、FC-AL接口。


NAS和SAN最本质的区别就是文件管理系统在哪里。如图1所示,SAN结构中,文件管理系统(FS)分别在每一个应用服务器上面,而NAS则是每个应用服务器通过网络共享协议,使用同一个文件管理系统。即NAS和SAN存储系统的区别就是NAS有自已的文件管理系统。



详细解释如下:


SAN : STORAGE AREA NETWORK   存储区域网络 

NAS : NETWORK ATTACHED STORAGE 网络附加存储 

NAS不一定是盘阵,一台普通的主机就可以做出NAS,只要它自己有磁盘和文件系统,而且对外提供访问其文件系统的接口(如NFS,CIFS等),它就是一台NAS。常用的windows文件共享服务器就是利用CIFS作为调用接口协议的NAS设备。一般来说NAS其实就是处于以太网上的一台利用NFS,CIFS等网络文件系统的共享服务器。至于将来会不会有FC网络上的文件提供者,也就是FC网络上的NAS,就等日后再说了。 

注解:NFS(NETWORK FILE SYSTEM) 适用于LINUX&UNIX系统 
     CIFS(Common Internet FILE SYSTEM)适用于windows系统 

SAN\NAS的区别: 
可以这样来比作:SAN是一个网络上的磁盘;NAS是一个网络上的文件系统。其实根据SAN的定义,可知SAN其实是指一个网络,但是这个网络里包含着各种各样的元素,主机、适配器、网络交换机、磁盘阵列前端、盘阵后端、磁盘等。长时间以来,人们都习惯性的用SAN来特指FC,特指远端的磁盘。那么,一旦设计出了一种基于FC网络的NAS,而此时的SAN应该怎样称呼?所以,在说两者的区别时,用了一个比方,即把FC网络上的磁盘叫做SAN,把以太网络上的文件系统称为NAS,我们可以这样简单来理解。 
普通台式机也可以充当NAS。NAS必须具备的物理条件有两条,第一,不管用什么方式,NAS必须可以访问卷或者物理磁盘;第二,NAS必须具有接入以太网的能力,也就是必须具有以太网卡。 

SAN\NAS的性能对比: 
1、 SAN快还是NAS快 
首先,看下SAN与NAS的路径图,如下: 
共享存储之SAN,NAS的深入比较_第2张图片 
共享存储之SAN,NAS的深入比较_第3张图片


显然,NAS架构的路径在虚拟目录层和文件系统层通信的时候,用以太网和TCP/IP协议代替了内存,这样做不但增加了大量的CPU指令周期(TCP/IP逻辑和以太网卡驱动程序),而且使用了低俗传输介质(内存速度要比以太网快得多)。而SAN方式下,路径中比NAS方式多了一次FC访问过程,但是FC的逻辑大部分都由适配卡上的硬件完成,增加不了多少CPU的开销,而且FC访问的速度比以太网高,所以我们很容易得出结论,如果后端磁盘没有瓶颈,那么除非NAS使用快于内存的网络方式与主机通信,否则其速度永远无法超越SAN架构。但是如果后端磁盘有瓶颈,那么NAS用网络代替内存的方法产生的性能降低就可以忽略。比如,在大量随记小块I/O、缓存命中率极低的环境下,后端磁盘系统寻到瓶颈达到最大,此时前端的I/O指令都会处于等待状态,所以就算路径首段速度再快,也无济于事。此时,NAS系统不但不比SAN慢,而且由于其优化的并发I/O设计和基于文件访问而不是簇块访问的特性,反而可能比SAN性能高。 
既然NAS一般情况下不比SAN快,为何要让NAS诞生呢?既然NAS不如SAN快,那么为何还要存在呢?具体原因如下: 
l NAS的成本比SAN低很多。前端只使用以太网接口即可,FC适配卡以及交换机的成本相对以太网卡和交换机来说非常高的。 
l NAS可以解决主机服务器上的CPU和内存资源。NAS适用于cpu密集的应用环境。 
l NAS由于利用了以太网,所以可扩展性很强,且容易部署。 
l NAS设备一般都提供多种协议访问数据,而SAN只能使用SCSI协议访问。 
l NAS可以在一台盘阵上实现多台客户端的共享访问,包括同时访问某个目录或文件。而SAN方式下,除非所有的客户端都安装了专门的集群管理软件,否则不能将某个lun共享,强制共享会损坏数据。 
l 经过特别优化的NAS系统,可以同时并发处理大量客户端的请求,提供比SAN方式更方便的访问方法。 
l 多台主机可以同时挂接NFS上的目录,那么相当于减少了整个系统中文件系统的处理流程,由原来的多个并行处理转化成了NFS上的单一实例,简化了系统冗余度。 

2、 SAN好还是NAS好 
关于IO密集和CPU密集说明如下。 
l CPU密集:程序内部逻辑复杂,磁盘访问量不高。 
l IO密集:程序内部逻辑不复杂,耗费CPU不多,但随时存取硬盘上的数据。 
l IO和CPU都密集:不适合单机,必须组成集群。 

显然,NAS对于大块顺序IO密集的环境,要比SAN慢一大截,原因是经过大量IO累积之后,总体差别就显出来了。不过,如果要用10G以太网,无疑要选用NAS,因为底层链路的速度毕竟是目前NAS的根本瓶颈。此外,如果是高并发随机小块I/O环境或者共享访问文件的环境,NAS会表现出很强的相对性能。如果SAN主机上的文件系统碎片比较多,那么读写某个文件时便会产生随机小块IO,而NAS自身文件系统会有很多优化设计,碎片相对较少。CPU密集型的应考虑使用NAS。 

NAS以文件的形式+LAN连接存储介质; 
而SAN以块形式+光纤连接存储介质。

你可能感兴趣的:(笔记,存储知识,NAS,SAN,DAS)