Zoning的配置,可以将连接在SAN网络中的设备,逻辑上划分为不同的区域,使各区域的设备相互间不能访问,是网络中的主机和设备间相互隔离。
对于设备来说是透明的。这里的区域划分都是在光纤交换机上完成的,划分区域的工作对于主机和存储设备来说都是透明的,
在他们上面不需要进行任何配置。他们会以为SAN网络中只有Zone中的几台设备,根本没有其他的设备存在。
要实现这种SAN网络中区域的划分,思路有两种:在名字服务器中隔离和在数据转发时过滤数据包,用这两种方法实现的Zone分别被称作Software Zone和Hardware Zone。
Software Zoning
Software Zone是完全基于Name Server实现的。当一个主机登录到Fabric网络时,他会向Name Server登记,并向他查询在Fabric中的所有设备。Name Server知道Fabric中的所有设备,但不会都告诉查询着。而是把主机所属于的zone内的设备作为查询结果返回,其他的不在zone内的设备会被Name Server隐藏起来,主机不知道设备的存在。如果主机是一个好公民(Good Citizen),也就不会去试图访问他Name Server没有告诉他的设备,实现了网络的隔离。
采用这种方式划分Zone后,交换机并不根据地址或端口过滤数据包,没有严格的安全性的保证。如果SAN中的主机不是好公民,他会试图扫描网络中的所有存储设备,并试图访问他。Software Zoning不能阻止这种非法访问。正是由于这个原因,在进行Zoning的设计时应该尽量避免使用Software Zoning,而是采用Hardware Zoning的方式完成Zoning的功能。
Hardware Zoning
Hardware Zoning的实现方式和Software Zoning完全不同,他并不基于Name Server实现Zoning的划分,而是真正在设备上根据Zoning的定义进行数据包的过滤,真正的把网络从物理上隔离开。无论主机是否是好公民,他都能严格的保证Zoning的划分,实现良好的安全性。
Session Enforced Zoning
Session Enforced Zoning是软件Zoning,但是在PLOGI/ADISC/PDISC时,ASIC对设备进行认证,只有在zone内的合法设备才能完成上述过程。
都不影响性能
光纤交换机上Zoning的功能是在ASIC硬件上实现的,无论是Software Zone还是Hardware Zone多不会影响交换机的数据转发性能。
Software Zone和Hardware Zone不是人为指定的,而是由交换机根据Zone内的成员类型自己去判断的。Zone的类型的判别标准如下:
当Zone的同时有WWN名和Domain,Port作为成员时——Software Zone。
当Zone的只有WWN或只有Domain,Port作为成员时——Hardware Zone。
请思考现实生活中的例子说明类似Software Zone和Hardware Zone区别的情况?
比如我们到开架式图书馆中借书:
开架式图书馆——SAN网络。
图书——存储设备(Target)。
借书人——主机(Initiator)。
图书目录——Name Server
图书馆想阻止某人对某些图书的访问可以有下面两种方法:一是不给借书人看图书库的完整名册;二是划分阅览区,不让借书人接触到不该访问的图书。
不给借书人看完整图书名册的方法就是Software Zoning的方法。如果借书人听话,查询图书目录后,只会访问名册上已有的图书(Good Citizen),这种方法可以隔离了他对目录上没有的图书的访问。但如果借书人比较多事,不光查阅书目的目录,还到所有的书架上去察看所陈列的所有书籍(Bad Citizen),则这种方法无法阻止他对目录上没有列出图书的访问。
但如果在图书馆中设立不同的阅览区,在个区域的入口处设有保安,控制借书人进入阅览区,这就是Hardware Zone的方法。不管借书人是否是好公民,这种方法从物理上个隔开了借书人和图书,一定可以阻止借书人对某些特殊图书的访问。非常可靠。
从上面的例子中可以清楚地看到Software Zone和Hardware Zone的区别。正是由于Hardware Zoning的这些特点,他是在Zoning划分时是首选的方案。Software Zoning是应该被避免的一种情况,在有可能的情况下,应该尽量采用Hardware Zoning划分区域。
配置Zone需要涉及到三个对象的配置Alias,Zone,Configuration。
Alias
可以把设备的WWN或Domain,Port声明为Alias,用于更好更直观的标示设备。
使用Alias的主要目的是方便用户的使用,想象一下记住一个人的身份证号和名字的区别就可以明白其中的道理,使用Alias就想给设备启名字一样。声明 Alias的另外一个益处是便于Zone中成员的更换。当Zone中的某个成员更换时,如果定义了Alias,只要修改Alias的定义就可以调整 Zone中的成员,而不用修改Zone的配置。
Zone
区域,Zone内的设备可以相互访问,但不能访问其他Zone的设备。Zone的成员可以有三种:“Domain,Port”;”WWN”;”Alias”。
Zone对成员的数量没有限制,可以同时有多个类型的多个设备同时存在于一个Zone中。当一个wwn被定义在zone中后,他的所有端口都会被包括在zone中。
Configuration
在交换机上的一套关于Zone的配置,或者说一系列Zone的集合。它可以包含一个或多个Zone作为它的成员。
在一个SAN网络中一般需要有多个Zone同时存在,这一套同时存在的Zone被存放在一个Configuration中。为了解决在交换机上,在不同的时间有不同的Zone的配置的问题,在交换机上允许同时有多个Zone的Configuration存在方便Zone配置的切换。
所有的Configuration配置中只有一个Configuration是生效的配置,被称作Active Configuration。其他的都是待选方案,只有在他们成为Active Configuration后,他们的Zoning配置才会生效。
Zoning分区在发送RSCN时产生的影响
只要名称服务器有改变,比如一个设备增加或者以移出fabric网络,一个状态更改通知(RSCN)就会产生。如果没有zoning的话,RSCN会发到 fabric网络上的所有设备上,这样每个设备都要去咨询名称服务器以确定fabric更改后的成员关系怎样。虽然有时该设备的改变没有影响到有的设备,但这个信息照样会送给它。如果是一个大的 fabric网络的话会产生非常多的信息流,尽管只是非常短的时间。
举个例子:一个新的服务器(访问发起者)加入到了fabric网络,这条信息其实是不用通知到其他的服务器(同样也是访问发起者)。因为服务器之间基本上是不会有什么交流的。在被访问者(如存储系统、磁带库等)之间也有同样的情况,这些设备之间也是很少有交流的,所以目标设备在光纤网络里的状态改变也是不用通知到其它的目标设备的。
如果zoning功能打开了的话,那么只有在改变设备所在的zone的有关设备才会收到RSCN。如果设备已经知道它们zone里的成员的话,那么它们不会收到RSCN。只有与状态改变有关的设备才会收到RSCN。所有的设备都假设是不影响正常应用的情况下处理RSCN的,实际的经验显示其实并不都是这样的。因此,实施了zone的fabric网络可以提高更高的可用性和稳定性。