理解LAN、WAN、SAN、FC、iSCSI、NAS、LAN-Free、Frontend-Free
近来又碰到多个初学者面对这几个词时候显得概念混乱,不知所措。qq上经常有留言咨询各种问题,其中也不乏一些问题描述的让我根本没法看懂,所以鄙人感觉有必要写一篇小文有针对性的澄清一下这几个概念。。
、、、FC、、、LAN-Free、Frontend-Free
LAN:Local Area Network。
这个都知道,局域网。但是好像大家都叫习惯了,反而有人不理解LAN的本质意思了。好好看看这三个字,“局域网”,你在你的本地站点看得见摸得着的所有,任何形式的网络,都属于LAN。比如:本地无良交换网络,本地以太网络,本地网络。有人质疑,本地存储网络也属于LAN?存储网络不是SAN么?这就是一种概念不清并且不统一。将本地SAN归纳到LAN中将会很好的统一这些概念,随着本文的继续读者将会体会到。
WAN:Wide Area Network,广域网。
泛指跨越远距离的链路,或者地理上相隔很远的两个网络互连起来也形成了广域网。广域网这个词在应用的时候大部分时候指代长距离传输链路,即WAN常用于指代长距离链路而不是网络。比如在说“将本地站点通过WAN连接到远程”,这里的WAN就是指长距离传输链路。为何WAN一词会被赋予这种指代,原因是因为长距离链路普遍都是点对点链路而不是多点互访型链路,所以一个广域网,其具有广域网意义的也就是局域网之间的这条链路了。你说以太网链路是否可以作为广域网链路,当然可以,FC链路也同样可以跨长距离,所以此时也属于WAN链路。
SAN:Storage Area Network,存储区域网络。
即专用于传输对存储设备IO数据的网络。可以是任何形式的网络,比如FC网络,以太网络,SAS网络,Infiniband网络,或者,任何形式的IP网络。使用FC网进行IO传输的叫做FC-SAN,同理,使用IP网络的叫做IP-SAN。基于SAS网络的呢?当然叫SAS-SAN了,以此类推。那么,有人推出来个Ethernet-SAN,是不是也可以呢?上文说SAN也可以基于以太网络。没错,你可以这么说。你可以把FCOE称为一种Ethernet-SAN。那么IP-SAN是否也属于Ethernet-SAN呢?部分属于,因为IP-SAN的底层链路一般情况下都是使用以太网的,但是绝对不能说IP就是以太网。比如你使用ADSL通过Internet,一样可以连接到ISCSI Target,那此时就不能称其为Ethernet-SAN了,只能叫IP-SAN。以上列举的这些个访问方式,或者说协议,目前都是基于Block形式的SCSI协议+底层传输协议。还有另外一种存储IO访问方式协议集将在下文描述。
NAS:CIFS和NFS以及其他第三方厂商自行开发的基于文件偏移量IO的文件型IO协议。
业界将能够提供文件型IO访问而存储的存储设备称为NAS,即Network Attached Storage。NAS设备在局域网内部目前都是使用以太网来作为底层传输链路的,寻址路由和传输保障协议分别使用IP和TCP这两种目前最为广泛的协议。在这之上便是CIFS、NFS等上层协议了。NAS是一种设备,而不是一个网络。但是可以用NAS来指代文件型IO的访问方式,比如描述某个设备的IO方式是Block方式还是NAS方式,注意,但是避免用这种描述“某个设备使用SAN方式还是NAS方式”,原因下文再述。
SAN所包含的元素:
关于SAN这个词有几个误区或者不成文的说法,比如只把将基于FC的数据传输方式叫做SAN,或者反过来,当说SAN的时候只表示FC-SAN而忽略了IP-SAN,这样容易对阅读方造成不便、混乱和误解。比如在描述某款产品的时候,“前端支持SAN方式访问”,其实这个设备只支持FC-SAN,但是他没有明确指出是否支持IP-SAN,这样就给阅读者带来了不便。
另外,SAN是一个网络,但又不仅仅只表示由交换机组成的底层网络,而它包含更加丰富的元素,比如磁盘阵列、磁带库、设备、备份等。可以说SAN这个词与SA(Storage Area)近乎同义了,或者说SAI(Storage Area Infrastructure)。比如可以这样说“某SAN中包含两台xx磁盘阵列,一台备份服务器,一台磁带库”。
笔者建议:今后在描述具体参数时杜绝单独使用“SAN”一词,代之以“FC-SAN”“IP-SAN”“NAS-SAN”等,或者干脆直接只用协议来描述,比如FC,ISCSI,CIFS,NFS。比如“前端支持FC、ISCSI访问方式”,这样就没有任何歧义了。
各种关系论
LAN与WAN的关系:LAN与WAN就是本地和远程的对应关系,本地的就是LAN,远距离的就是WAN。
以太网与LAN的关系:绝对不要把LAN等同于以太网。LAN是一个大涵盖,不仅仅包括本地以太网络。如果某人描述“客户端与服务器通过LAN连接,服务器与磁盘阵列通过SAN连接”,这句话不是不对,但是描述太含糊,“通过LAN连接”,那种底层链路?没说。虽然大部分还是理解其意思,但是终究是不严谨。不如直接说“通过以太网连接”。另外,本地SAN也属于LAN,所以这句话追究起来,就是个病句了。
SAN与LAN和WAN的关系:如果一个SAN,或者说SA,完全在本地,则可以把这个SAN归属于LAN。如果某个SAN是跨长距离链路部署的,则可以说这个SAN跨越了WAN或者WAN链路。
SAN与FC和ISCSI的关系:FC泛指一种传输协议,即Fibre Channel。用FC协议来承载SCSI之后产生的协议叫做FCP。ISCSI指用IP网络来承载SCSI之后产生的协议。SAN与FCP和ISCSI的关系,就是网络与协议的关系。数据在SAN网络内传输时使用的多种协议中包含了FCP和ISCSI协议。
SAN与NAS的关系:NAS指一种设备,SAN或者说SA指的是一种网络和这个网络区域内的各种元素,NAS当然也属于存储区域中的元素,所以NAS属于SAN。
乱七八糟的Free
LAN-Free:
这个词根本不应该存在。
关于他的由来,是起源于备份领域的一种技术。一般在某个网络内,客户端与服务器是使用以太网络进行数据通信的,而传统的备份系统中,备份服务器和介质服务器也需要使用以太网络与需要备份的服务器进行通信,将服务器上需要备份的数据通过同一个以太网络传输到介质服务器上从而写入介质保存。由于客户端与服务器通信的以太网络的繁忙程度直接关系到客户端的响应速度,本来对延迟就比较敏感。而备份数据流也通过同一个以太网进行传输,只能是火上浇油。那位说了,以太网交换机目前这么便宜,再买一个,服务器上再加个网卡,专门用于备份数据流的传输,井水不犯河水,客户端以太网不就是Free了么,不就行了么?是啊,所以说“LAN-Free”这个词真的让人摸不着头脑了。为什么这么说呢?上文说过,很多人都直接用LAN来指代客户端与服务器通信的前端以太网,或者不管前端还是后端,就指以太网。这样的话,刚才那个例子,再用一个单独出来的以太网专用作备份数据流的话,这样到底叫不叫LAN-Free了呢?如果说,“LAN-Free”中的“LAN”仅指代前端以太网而不是备份专用以太网的话, 那么上面的方法就是LAN-free;但是如果这个LAN指的是以太网的话,那么上面的方法依然用到了以太网,就不是LAN-Free。到底是不是呢?乱了。再说了,LAN本来的意思是局域网,即本地网络,不管你再怎么折腾,只要还在本地备份,那么都属于LAN之内,那么就不是所谓“LAN-Free”。彻底乱了。所以说,这个词根本不应该存在。哪个词更能表达这种不消耗前端客户端网络的备份方式呢?鄙人发明的一个词叫做“Frontend-Free”。
Frontend-Free:前端网络Free,即不管你怎么折腾,只要不耗费前端网络资源,管你再用一台以太网交换机也好,或者直接使用FC网络来存取备份的数据也好,都是Frontend-Free。这不就解决了么?