# 关于 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比较实用。
