DoSTOR专家观点:本文作者为Charlie Schluting,他是业界知名的存储领域撰稿人和技术专家。
大部分情况下,存储网络技术和IP网络技术是不同的。在IP世界中,有非常多的路由协议和标准;你有很多种选择。但是,在存储世界中,没有正式的路由协议。路由并不存在,虽然它可能并不是你所想象的那样。
SAN一般被看成是一个巨大的Layer 2(层2)网络。以太网世界使用生成树,而SAN则使用与之不同的机制来避免环路。扩散型网络的一个大问题就是网络中的一个问题就可能影响整个网络。在SAN环境中,因为光纤通道协议本身的性质,这种情况更加严重。解决这种庞大网络架构问题的方法就是将它们分隔成各个不同的网络。
我们都知道IT世界中孤岛是不好的,但是一个健全的网络设计经常需要用到它们。如果一个SAN扩展得太大,在建立多个光纤通道架构的时候,稳定性需求的考虑将占第一位。这并不意味着你已经建立了一个标准的"坏"IT孤岛,而是说你已经分别建立了两个光纤通道架构。好消息就是,当我们在两个光线通道架构之间进行信息交换,我们的操作可以和IP网络中的一样。
在IP网络中,我们必须有唯一的IP地址,但是如果不是在同一个子网内,那么网卡地址重复也没关系。光纤通道没有Layer 3(层3)地址,因此Layer 2地址,或者说其全球名称(WWN),必须是唯一的。在SAN路由中,"路由"传输有两种方式:将WWN转换,或者虚拟化成另一个光纤通道架构的虚假WWN;或者冒充地址。由于WWN都是被仔细设定的,因此WWN必须唯一的要求并不构成问题,但是这也确实有助于显示出分层和转换中的细微差别。
请记住,SAN路由没有协议。我们这里所讨论的都是不同厂商的解决方法。因为不同厂商的产品之间很难进行互操作,因此在评估这些机制的效率的时候,要考虑不同的理解和偏见的影响。
光纤通道架构中的路由终止
第一种SAN路由的方式可以看成一个代理服务器,或者说是一个极其灵活的代理服务器。McData(现在的Brocade)开发了一种机制来将多个SAN孤岛连接在一起。如果设置合理,交换机可以同时扮演发起端和目标端的角色,实质上是代理了两个SAN架构之间的光纤通道连接。当SAN交换机终止端口后,管理员在许多情况下仍然可以同样灵活地设置逻辑单元号的访问,但是其安全性就不那么高了。
你还记得有关硬分区和软分区的那篇文章吗?如果我们需要保证一定程度的安全性,防止恶意攻击者和设置错误所带来的危害,我们会倾向使用基于端口的分区方式,或者说硬分区。当设置这些孤岛连接、转换、或映射时,你唯一的选择就是设置基于WWN的限制。虽然这一般不会出什么问题,但是还是有些事情需要注意。更换主机总线适配器的流程通常包括更新交换机和存储阵列上的WWN映射,而且你还需要确认"路由"设置是否知道配置发生了变化。
不过,在每个孤岛交换机上分别终止SAN连接还是很有利的。全SAN范围内的故障概率被很大程度上降低了,而且在路由器环境中也可以很快地将问题分割开来。对于地理上分散的网络,人们广泛利用SAN路由,以提高整体网络的可靠性和稳定性。
其他路由方式
SAN路由可以采用其他不同的技术方式。看起来SAN内的路由其实就是分隔,然后再用路由把它们连接起来。这和IP网络中的情况非常类似,除了没有IP世界中那么清晰的机制来处理域之间传输的包:层和路由协议。基于和IP网络同样的原因,SAN也需要分隔,但是SAN还有稳定性问题。
许多人把协议封装和转换也看成路由。基于IP的光纤通道(FCIP),甚至iSCSI(互联网小型计算机系统接口)协议,在某种意义上也是种路由协议。它们能够帮助人们在更大的IP网络上扩展SAN,而增加扩散光纤通道架构。这些技术经常被用于SAN到备份站点的远程复制。你当然不希望将整个光纤通道架构扩展到另一个城市那么远,尤其是当只有一个设备需要连接的时候。iSCSI的目标端一般是放在存储设备上,因此将它叫做路由机制是有些牵强。但是,一些SAN交换机能够作为光纤通道和iSCSI之间的地址转换器,使其路由器功能的角色更加清晰。实际上,这也差不多是IP节点所做的事情–将Layer 3或IP数据并入Layer 2数据,并放在最上面。
SAN虚拟化使得事情更加复杂。建立逻辑单元号池并随后转译到iSCSI的一些程序很类似路由器功能,但是总体上来说虚拟化并不是真正的路由。准确的说,存储虚拟化所做的其实是恰恰暗合了我们最初设计路由器的思路。当一个SAN交换机给出它自己的逻辑单元号之时,它的逻辑单元号实际上是在位于其他地方的存储阵列,交换机创建了一个虚拟化的存储设备。虚拟的逻辑单元号能够帮助在SAN架构内以某种更加具有创造性的方式进行路由,但是虚拟化本身概念并不是路由。
另一方面,如果你坚持简单的路由定义–分隔,然后将各部分连接在一起–那么上面所述的虚拟化也可以看作路由。但是,虚拟化可以有许多其他形式,例如:逻辑单元号池,远程复制,以及快照等。这些其他用途的虚拟化并不会细分网络。
是的,这很让人困惑。虽然实践证明路由是必要的,但是却没有路由。我们真正需要的其实就是通过虚拟化的逻辑单元号进行巧妙分隔和仔细连接。如果你需要真正的路由,例如,当你需要将光纤通道数据包通过英特网传输的时候,我们只要使用IP就可以了。这样就可以,因此为什么不使用现有的路由架构呢。长距离意味着高延迟性,因此光纤通道SAN的高速优势(块层次的访问避免了协议封装)也就没有什么意义了。
总而言之
SAN路由并不存在,但是一些厂商使用了一些灵活的手段来帮助解决光纤通道架构扩展的问题。将逻辑单元号虚拟化以及将交换机当作光纤通道架构之间的桥梁能够很好的进行最小程度的路由,但是需要手动设置。
将协议封装进iSCSI或FCIP实际上就是路由,而且从概念上来说,它和IP路由一样。