目标环境由三台运行不同操作系统的服务器构成,SuSE Linux Professional version 9和Windows Server 2003。我们的计划是要求每台服务器通过共享集中化的RAID存储系统,可访问多个逻辑硬盘分区。我们测试SMB的商业环境是需要提供全天候24小时,每周7天能够访问到所有的系统。
对于那些不熟悉SAN的人来说,重要的是知道处于低层的物理设备是 RAID阵列,通过阵列为每台服务器提供其对应的分区集。 这与通过NFS或者CIFS来共享文件系统是不一样的。
一旦打开了Brocade的WeBTools软件,就会出现治理界面,其中网络中的所有的交换机的架构树图标就会展示出来,同时也包括治理功能菜单。点击一个交换机图标,就会实时显示出该交换机的状态,包括状态灯。通过交换机的实时视图,治理员可以打开属性页来治理交换机,包括授权序列号。
SAN中的存储设备没有内置智能化的功能,来支持文件共享功能。文件共享的所有细节都是由操作系统来处理的。目前,带有对应文件系统的Linux或者Windows都无法支持SAN中的存储设备。实际上,从SAN架构中进行任何一项简单的路径错误的恢复工作,更多的表现为外在的,伤筋动骨的事件,而不是透明的事件。
我们使用三种服务器建立了测试环境。两台服务器基于 Intel Xeon的,带有PCI-X扩展槽: HP ProLiant ML 350 G3和Appro 2400Xi。每台服务器都安装了eMulex LightPulse 9802 Fibre Channel主机总线适配器(host bus adapter,简称HBA),支持最大可达133MHz的 PCI-X。我们的第三台服务器是Dell的PowerEdge 2400,带有Intel Pentium-III CPU和 64位 66MHz PCI槽。为了同SAN连接,该服务器安装了Emulex LightPulse 9002 HBA。
我们的SAN中的共享硬盘存储是由nStor 4520F Series硬盘阵列来处理的,4520F带有两个RAID 控制器,以主动-主动的方式配置的。每个控制器配置了一个 600MHz的 Intel RISC芯片,且包含1GB缓存,板内电池备份卡,以及两个SAN端口。
结果是,SAN拓扑结构可由多达4个连接到nStor 阵列的交换机来配置。这就为系统治理员提供了很多的灵活性,以便优化连接到服务器的 I/O传输。重要的是,这样的配置消除了硬盘控制器出现单点故障的可能性。无论如何,在每台服务器上,对硬盘配置的复杂性有所增加。nStor 系统所表现出来的每个逻辑硬盘单元将出现多次,每次nStor SAN连接时就出现一次。
最初我们采用了四个Hitachi UltraStar Fibre Channel硬盘和四个Seagate Cheetah Fibre Channel硬盘,来建立nStor系统,这些硬盘被格式化成两个独立的RAID-0阵列,总存储容量接近1TB。之后,我们在每个阵列上创建了三个逻辑单元分区 (LUN),每台服务器可以从每个阵列访问一个LUN。
为了实现nStor 阵列的主动-主动的双控制器配置所提供的容错功能,我们为SAN架构选择了一个基本的双交换机拓扑。由于连接到我们的SMB SAN环境中的设备数量不多,一个8端口的 Brocade SilkWorm 3200交换机足够支持目前的架构。但是,单交换机拓扑将使得交换机具有单点脆弱性,且无法提供24×7可用性的目标。 在我们的测试SMB环境中一旦有这些商业要求,就需要一个要害的评估要求,即迅速建立一个初始的两交换机架构并正常运行。
Emulex HBA和Brocade交换机的安装相对快速和简单,但是一旦有了测试要求,安装就需要多试几次。
由于我们的操作系统中有HBA驱动程序,所以在Windows Server 2003和 Linux中安装HBA很顺利。 在Linux中有点不同的是需要编译驱动程序源代码,并重建内核。这是不少小站点为了避免麻烦而采取的措施。然而,SuSE Linux 中的Emulex LightPulse模块并不是功能较多的。
Emulex对其软件的设计极为严格,Emulex把其驱动模块注册为控制Fibre Channel 接口而非硬盘控制器,结果是SuSE Linux并没有自动在 initrd 中包含Emulex驱动模块,这种做法对于熟练的Linux治理员来说是显然的:假如已经安装了基于SAN的硬盘,系统重启动将会失败。这是因为启动时系统运行 fsck,检查/etc/fstab中列出的每个硬盘,而Emulex驱动程序在启动时并不加载。解决的方法也是简单的:在 /etc/sysconfig/kernel 中添加Emulex模块,之后运行 mk_initrd,后者可以轻易地使用YaST2完成。仍然有个问题:对于转向Linux的SMB网站来说,这样做是否过于复杂?