关于 Nas 与 San

以前一直对SAN和NAS的概念有些混淆。今天花时间清理了一下。

简单的来说,SAN是基于主机的,是为计算机服务的;NAS是基于用户的,是为人服务的。

我们可以看到,在实际应用中,NAS通常是以共享目录的形式出现的。对于最终用户来说,他们看到的只是基于某个服务器或IP地址的一个个共享目录,他们有权限,或者没权限。反正只要有权限,就可以访问目录,上传、下载文件。而权限,可以直接用Windows登录的用户名和密码,也可以当场输入。

而对于SAN,问题则复杂一点,用户看到的是本地磁盘而非网络共享。这里的本地磁盘指的可不是网络共享目录映射出来的本地磁盘。它看上去的的确确就是本地的磁盘。其实,这是利用的HBA卡驱动生成的。利用HBA卡,自动在计算机上生成一个虚拟的SCSI接口。看起来就多出一块“本地”物理磁盘了。也正是因为它是“本地”磁盘,所以SAN的LUN一次只能被一台计算机读取。这也很容易理解,一块物理硬盘一次只能接到一台计算机的机箱内嘛。那同样是"物理"磁盘的LUN当然也不能“脚踩两只船喽”。

对于SAN,目前有两种接口,iSCSI和Fibre Channel光纤卡。iSCSI是基于TCP/IP网络的,而光纤卡是用光纤交换机来交换数据的。这两者间,我觉得还是iSCSI比较好。毕竟光纤卡价格要比iSCSI高出好多,而且增加了架构的复杂性。如果采用了iSCSI,现有的网络都不需要做大的调整,Windows从2008开始,就已经直接支持iSCSI的initiator了,新发行的主流Linux也都支持。用户只需要购买一个iSCSI的array就可以立即享用SAN集中存储的好处了。如果用光纤,那就太麻烦了,不仅服务器要增加光纤卡,还要增加光纤交换机,成本大幅度上升。

iSCSI的另一个好处就是,可以远程存取。因为它是基于IP网络的,网络延伸到哪里,它就能用到哪里。想想看企业的数据集中存储,前台应用完全可以不放在数据中心。只有核心端的后台数据放在机房里。甚至多重后台,做后台数据的冗余。

总而言之一句话,现阶段对中小企业还是iSCSI比较实用。