Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11699083
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-11-25 16:26:50

  光纤通道(FC)的安全机制比一般人所了解到的要丰富得多。这些安全机制通常没有得到充分地利用,而是被大家误解了,所以SAN被认为带来了安全问题。本期存储基础专栏将探讨FC技术中一个经常被忽略的功能--"zone"(分区):最容易、却也是最经常被设置错误的FC交换机功能。

  任何一款正规的FC交换机产品都允许你配置分区。分区和以太网的VLAN非常类似:它让你可以把通信隔开。分区比VLAN的效率要高很多,因为没有任何通信会在分区之间泄漏出来。

  FC Zone从概念上说,要超出VLAN的范围。首先,Zone(分区)看起来更复杂,但是复杂的表面下却蕴藏着简单。一个设备节点,或者WWN可以同时处于多个分区之中。这个功能却很有可能被滥用了!创建健全而且易于管理的分区配置需要特定的结构--实现这点需要花些时间认真考虑。

  有两种类型的分区:软分区和硬分区。

  软分区

  软分区意味着交换机将把设备的WWN分配到一个区之中,这和它们所连接的端口无关。例如,如果WWN Q和WWN Z在同一个软分区内,它们就能够彼此交谈。否则,如果Z和A处于同一个独立的分区之中,A和Z就能够看到对方,但是A看不到Q。这就是复杂的地方;这一功能在以太网交换机中并不普遍。

  软分区的概念并不难理解。它意味着要依赖fabric中节点的WWN。使用软分区的好处是你可以连接交换机上的任何端口,你可以看到应该看到的其他节点。

  这是好事么?不,完全不是。从管理难易程度看,软分区环境比较混乱。为了进行维护,你需要知道节点连接到哪里了。如果使用了软分区,交换机上就不会有端口描述,因为它很快就会过时。其次,软分区带来了一些安全风险。尽管到目前为止,还没有人看到黑客试图欺骗WWN,但是存在着这种可能性。通过修改一个设备的WWN改变它所在的分区非常困难,因为攻击者必须知道哪个WWN位于他想访问的分区里。可你不会把交换机配置放在可以公开访问的区域里,对吧?

  硬分区

  硬分区和以太网里的VLAN更类似。你把端口分配到一个分区里,任何连接到这个端口的设备都属于这个分区。如果有人可以破坏光纤连接的话,这种方法无疑具有更大的风险。可是,你是否真的需要担心这个问题?SAN理想的配置应该是这样的:在交换机上进行硬分区,将WWN和目标上的LUN地址绑定。你的存储阵列应该使用WWN masking,这样多个initiator都能够看到这个目标。

  人们想象出了一些可怕的分区计划。把类似的操作系统分成一组听起来似乎是个不错的主意,但是这种做法在现实中毫无意义。以前,人们经常会因为Windows和其他操作系统使用的存储阵列放在一个分区而感到惊恐。Windows看到新的LUN的时候会弹出"do you want to initialize this new volume?"(你是否希望对新卷进行初始化)的信息,如果Windows管理员习惯了点击鼠标,在这种时候选择"是"的话,他很有可能毁掉了其他人的LUN。在存储阵列上进行了LUN masking之后,这种问题就不再存在了。

  最佳分区经验

  有一些关于分区的最佳经验值得我们分享。绝大部分人都认为软分区是一场噩梦,事实也的确如此。我们假设接下来讨论的都是硬分区。记住,每个节点都应该有两个HBA,但是为了保持冗余,每个HBA都可能在不同的fabric上、在不同的交换机上。每个交换机都应该有同样的分区设置。

  "single initiator zones"阵营认为你应该根据initiator创建分区。这意味着每个分区只包含一个主机或者initiator。多存储阵列端口可以在不违背单一initiator规则的前提下,增加到分区之中--阵列是目标。这种方法很好理解,因为你可以很快了解你的主机在这种配置下可以访问哪个阵列。

  另一些人则喜欢根据目标来建设分区。毕竟,每个目标只容许一定数量的主机进行访问,所以我们也可以把所有这些相似的initiator结合在一起,组成小型网络。一些存储管理员对于多个initiator彼此可见的情况心存疑惧,但是在某些情况下,这种做法非常好。当一台服务器重启动的时候,同一分区里的其他的服务器将会在同步日志中报告"节点X从fabric中消失了"。这种基于目标进行分区做法的好处在于你可以很快了解到哪些主机访问了特定的目标。

  记住,每个"分区"在节点间都有双向(或更多)的通信映射。存储阵列上的一个端口可能处于多个分区之中(在single-initiator类型的分区中),每个分区都包含了主机,也就是initiator。

  有些人喜欢完全跳过分区这一步。出于稳定性角度考虑,我们并不推荐这样做。Fabric重启动会导致所有人在同一时间重新登录,fabric升级会影响每个人。虽然仍然存在着潜在的安全风险,但是在现实中,你更需要担心的是新手造成的错误。

  你的zone配置决策是非常重要的,所以请花些时间考虑哪种类型的hard zoning(硬分区)最适合你的环境。

阅读(606) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~