存储网络在很多地方都和IT网络很类似。在IP世界里,有很多路由协议和标准;你有很多选择。不过,在存储世界中,没有官方的路由协议。路由确实存在,但却和你想象的不一样。
我们基本上可以将存储区域网络(SAN)想象成一个巨大的Layer 2网络。SAN采用了一个与以太网世界中树状结构一样的机制来避免出现环路。网络的无限扩展带来的最大的问题就在于,只要出现一个问题就可能影响整个网络。在SAN环境中,由于Fibre Channel协议本身的天性,这个问题将会变得更为严重。要解决超大架构这些问题的一个办法就是将过大的架构分割成独立的网络。
每个人都知道silos在IT中是坏事情,但是健全的网络设计通常离不开它们。当一个SAN扩张得太大,为了保持稳定性,就应该创建多个网络。这并不意味着你必须创建一个标准的“坏”IT silo,你只需要创建两个独立的架构。好消息是和IT网络运作的方式非常类似,我们可以在架构之间路由通信。
在IP网络中,我们必须有唯一的IP地址,但是如果不是在同一个子网内,MAC地址是否重复并没有关系。Fibre Channel没有Layer 3地址,所以Layer 2地址,也就是World Wide Name(全球名称)必须是全球唯一的。在SAN路由中,有两种“路由”通信的方法:将WWN编译或者虚拟成另一个fabric中的一个假名,或者进行地址欺骗。WWN必须是唯一,但这并不成问题,因为它们的分配非常严格,但是这确实可以体现出分层和编译之间的差别。
记住,针对SAN路由的协议并不存在。整篇文章讨论的都是厂商的规范,这些规范不太可能和其他厂商的产品兼容。同时,在评估这些机制效用的时候,还受到业界对这些规范的理解和偏见的影响。
在架构上通过终端进行路由
要理解SAN第一种路由的方法,最好是将它想象成一台代理服务器,不过是特别智能的代理服务器。McData(现在已经属于Brocade)开发出了一种机制,可以将多个SAN silos连接在一起。在配置得当的情况下,交换机既可以扮演目标,也可以扮演initiator的抉择,从本质上来说,就是在两个SAN架构之间,代理FC连接。在终止了一台SAN交换机的一个端口后,在大部分情况下,管理员在配置访问LUN的时候,仍然可以拥有同样的灵活性,但是安全性会大为降低。
还记得那篇讨论硬分区与软分区之间区别的文章么?如果我们需要保证安全性,防范攻击者和配置错误,我们一般会选择基于端口的分区方法,也就是硬分区。当需要配置这些silo连接,编译或者映射时,我们唯一的选择就是配置基于 WWN的方法。虽然不会带来什么问题,但是我们还是需要注意一些事情。替换HBA的程序中通常包括升级交换机和磁盘阵列上WWN映射的环节,现在你必须 “路由”设置了解到所有的这些变化。
不过终止每个silo交换机上的SAN连接的做法仍然是有好处的。SAN可能产生的损耗被极大地降低了,在路由器环境中可以更快地找到问题。SAN路由被广泛地用于地理上分散的网络之中,以提高这些网络的可靠性和稳定性。
其他的路由方法
SAN路由也可以使用其他很多种不同的技术。它只是在SAN中进行分割,然后将片段结合在一起实现一些路由功能。这与IP网络中遇到的情况基本一样。不同之处则在于,SAN路由在处理在域与域之间(包括各个层和各种路由协议)传递的信息包时,有其明确的处理机制。SAN与IP网络基于同样的理由需要进行分割,但是却增加了稳定性方面的问题。
很多人认为协议封装和编译是路由。FCIP(FC over IP),甚至iSCSI协议在某种意义上都是路由协议。它们让SAN可以在更大的IP网络上扩展,而且不用增加架构。这些技术经常用于远程将SAN复制到备份站点上。你当然不会希望将整个fabric扩展到另一座城市,特别是只需要连通一个设备的时候。iSCSI目标通常在某一存储设备上,所以将它算作一种路由机制略微有些勉强。不过,一些SAN交换机可以在FC和iSCSI之间扮演编译器的角色,让路由的角色更为清晰。事实上,这和IP节点做的事情几乎一样——获取Layer 2数据,在其上增加Layer 3,或者IP数据。
SAN虚拟更为多样。LUN池的特定应用和随后的iSCSI编译显然是路由器的功能,但是从总体上来说,虚拟并不是真正的路由。存储虚拟正是第一种路由方式:当一个SAN交换机展现自己的LUN的时候,事实上这个LUN是在其他地方的存储阵列之上的,它只是创建了一个虚拟的存储设备。虚拟LUN让我们可以在SAN fabric的路由中使用更多有创造性的方法,但是虚拟概念本身却不是关于路由的。
另一方面,如果你坚持对路由的简单定义——分割,然后再将所有的部分连接在一起——那么前面所描述的虚拟就是路由。不过虚拟还有其他很多种形式,例如:LUN池、远程复制和快照等。虚拟的其他用途对分割网络没有什么帮助。
是的,这很容易混淆。这里没有路由,尽管实际情况证明它很有必要。利用虚拟LUN分割再进行组合正是我们所需要的。如果需要真正的路由,例如你需要通过互联网发送FC包的时候,我们只需要使用IP即可。它很有效,那么为什么不用现有的路由架构呢?远距离无论如何都意味着高延迟,所以FC SAN的高速优势(块级访问以及不必进行协议封装)就不是那么有意义了。
总结
• SAN中并不存在路由,但有一些厂商为了限制fabric的蔓延使用了一些很好的技巧。
• 虚拟LUN,并让交换机扮演架构之间网桥是一种非常好的方法,能够实现最低意义上的、手工配置的路由。
• iSCSI或FCIP协议封装实际上是路由,这和IP路由的概念是一致的。
阅读(415) | 评论(0) | 转发(0) |