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系统
SANNAS的区别:
可以这样来比作:SAN是一个网络上的磁盘;NAS是一个网络上的文件系统。其实根据SAN的定义,可知SAN其实是指一个网络,但是这个网络里包含着各种各样的元素,主机、适配器、网络交换机、磁盘阵列前端、盘阵后端、磁盘等。长时间以来,人们都习惯性的用SAN来特指FC,特指远端的磁盘。那么,一旦设计出了一种基于FC网络的NAS,而此时的SAN应该怎样称呼?所以,在说两者的区别时,用了一个比方,即把FC网络上的磁盘叫做SAN,把以太网络上的文件系统称为NAS,我们可以这样简单来理解。
普通台式机也可以充当NAS。NAS必须具备的物理条件有两条,第一,不管用什么方式,NAS必须可以访问卷或者物理磁盘;第二,NAS必须具有接入以太网的能力,也就是必须具有以太网卡。
SANNAS的性能对比:
1、 SAN快还是NAS快
首先,看下SAN与NAS的路径图,如下:
最终通信 |
|
内存通信 |
应用程序 |
内存通信 |
内存通信 |
文件系统 |
目录层 |
IO总线通信 |
卷(LUN) |
FC协议通信 |
磁盘阵列 |
物理磁盘 |
物理磁盘 |
物理磁盘 |
控制器lun |
物理磁盘 |
FC协议适配器 |
服务器机箱 |
显然,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。