存储 频道

方案:构建中小企业的SAN的几个方面

  LUN映射是SAN治理员的重要工作,为简化这一工作, StorView为治理员提供了SAN中发现的每个HBA的唯一的WWN。为了识别WWN对应的物理服务器和HBA,治理员可以使用 Brocade的 WebTools软件。架构名称服务器列出连接到整个架构的任何交换机端口的每个initiator 的WWN(诸如Emulex LightPulse HBA),以及每个目标设备 (诸如 nStor Wahoo控制器)的WWN。

  高端系统中需要的任何RAID治理功能都可以在 StorView找到。所有的高端RAID级别,包括RAID 10和 RAID 50(并不是所有的基于主机的控制器都支持)StorView也支持。诸如阵列,LUN和HBA这样的存储对象可赋予用户友好的名称。更为重要的是,对于数据快速增长的站点,可以使用任何可用的空余空间来扩展任何现有的LUN。

  使用光纤通道环路来连接硬盘,可以使得 nStor存储系统配置为多达64个阵列,每个阵列16个硬盘 。而且,硬盘的容量没有限制。然而,LUN的数量有限制:512。另外,32位的寻址极限限制了每个LUN的最大存储容量,为2,198GB。

  SAN中的LUN治理存在一个缺点,假如没有干预,每个系统将会多次看见每个LUN-存储系统和架构之间的每次物理连接之后,就会看见一次。配置了双端口的nStor Wahoo控制器之后,nStor 4520系统上创建的每个LUN将会出现四次。在我们的SMB测试场景中,我们仅用了两个交换机,采用了优化的拓扑方法,即把每个控制器的一个端口连接到不同的交换机。 这样配置之后,一旦架构中有一个端口,控制器或者交换机出现故障,我们可以恢复。

  但是,假如治理员使用的操作系统对SAN的支持不够好,SAN的这种出错恢复功能,就会引起严重的配置问题。Windows Server 2003和Linux都属此类。局部地,Windows Server 2003和Linux将会看到可以访问到任何LUN的所有映象。但是Windows Server 2003处理这些映象的方式不同于Linux。 一旦安装和格式化了其中的一个映象,在打算访问其他映象时,操作系统就产生一个系统错误。在Linux中不存在这个机制,系统治理员在理论上可以安装任何映象。实际上,这是个坏主意。

  问题出现在用于硬盘卷的文件系统元数据的处理方式。例如:在Linux系统上,从IBM硬盘阵列中安装LUN的两个副本: /dev/sda1和/dev/sdc1,这两个安装点都没有反映出LUN内容的真正状态。两个安装点仅仅表明通过各自的安装点发生了两个事件。要同步得到一个安装点,且LUN中驻留的是实际的内容,唯一途径是卸装它,并手工运行 fsck,且调用 rebuild-tree 选项。自然地,系统的任何重启动将会失败,需要治理员进行干预,并运行fsck 命令,重建两个卷的inode结构。

  元数据的不一致问题,对系统之间共享LUN影响很大。虽然Windows Server 2003将阻止对同一个卷的多次安装,但没有机制可以阻止在不同的服务器上同时安装同一个卷。一旦发生这样的情况,结果是不平常的。

  因为删除一个文件也就是把它从主文件表中 (MFT)去掉,在一台服务器的卷上被删除的文件,不会自动从另外一台服务器上删除。所有其他服务器将继续指向相应的硬盘块,且轻易地找到该文件。此时, LUN的物理状态将变得不确定。当这个事情发生后,服务器的逻辑视图将同物理卷一致,这样的事态将一定会同其他服务器的视图之间出现混乱。

  I/O命令的大小表明了 Linux和Windows在进行I/O请求操作方面是不同的。在服务器上的Linux下运行oblDisk(其I/O命令几乎都绑定了 128KB的读写请求),在Windows 服务器上我们重复了同样的I/O读写模式。Windows Server并不绑定 I/O,结果是为了优化性能,nStor硬盘系统在聚集I/O时,做了更多工作。

  在服务器上的Linux下运行oblDisk(其I/O命令几乎都绑定了 128KB的读写请求),在Windows 服务器上我们重复了同样的I/O读写模式。Windows Server并不绑定 I/O,结果是为了优化性能,nStor硬盘系统在聚集I/O时,做了更多工作。

  显然,无论是Windows还是 Linux都无法应付LUN共享中出现的复杂情况,所以两台服务器不安装同一个LUN是很重要的。要对付这个问题,最简略的方法是通过架构分区,即把switch 交换机端口组合起来,端口之间的通信限制为在组成员之间进行。只要端口连接不再重新配置,这个方案是相当好的。另一个复杂些的方案是利用基于HBA的少有的节点WWN,把LUN限制为同到特定的HBA对应。这正是nStor的LUN映射所采用的方案。

  结果是StorView GUI列出了SAN中发现的每个HBA的唯一的WWN,不幸的是,要让治理员能够准确地识别出哪个WWN对应哪一个HBA,这是不大可能的。幸运的是,这个问题可以很轻易地通过 Brocade的WebTools来解决,WebTools含有一个简单的名称服务器。

0
相关文章