Oracle® ZFS Storage Appliance 管理指南,发行版 2013.1.5.0

退出打印视图

更新时间: 2016 年 2 月
 
 

配置 SAN 光纤通道

光纤通道 (Fibre Channel, FC) 是几乎专门用作 SCSI 传输介质的千兆位高速网络技术。 FC 是设备支持的多个块协议之一;要通过 FC 共享 LUN,设备必须配备一个或多个可选的 FC 卡。

默认情况下,所有 FC 端口都配置为处于目标模式下。 如果设备用于连接到磁带 SAN 进行备份,必须将一个或多个端口配置为处于启动器模式下。要将一个端口配置为处于启动器模式下,必须对设备进行重置。多个端口可以同时配置为处于启动器模式下。

每个 FC 端口都分配有一个全球名称 (World Wide Name, WWN),并且与其他块协议一样,FC 目标可以组合成 SAN 目标和启动器组,以便将端口带宽专门用于特定的 LUN 或 LUN 组。 将 FC 端口配置为目标后,即可检查和验证远程搜索到的端口。

有关使用 Oracle ZFS Storage Appliance 的 FC SAN 引导解决方案的详细信息,请参阅《Implementing Fibre Channel SAN Boot with Oracle's Sun ZFS Storage Appliance》(《使用 Oracle Sun ZFS Storage Appliance 实施光纤通道 SAN 引导》)白皮书,网址为:http://www.oracle.com/technetwork/server-storage/sun-unified-storage/documentation/index.html

在群集中,启动器将具有两个指向每个 LUN 的路径(或路径集):一个路径(或路径集)指向已导入与 LUN 关联的存储的机头;另一个路径(或路径集)指向该机头的群集对等设备。第一个路径(或路径集)是活动的;第二个路径(或路径集)是备用的。在进行接管时,活动路径将变得不可用,并且备用路径(在短时间后)将转换为活动状态,然后 I/O 将继续进行。此多路径方法称为不对称逻辑单元访问 (Asymmetric Logical Unit Access, ALUA),当与识别 ALUA 的启动器组合使用时,可实现群集接管对于较高级别应用程序的透明化。

启动器由其 WWN 予以标识。与使用其他块协议时一样,可以为启动器创建别名。要协助为 FC 启动器创建别名,可以从搜索到的端口的 WWN 中选择一个 WWN。 另外,与其他的块协议一样,启动器可以组合成组。当一个 LUN 与特定的启动器组关联时,该 LUN 仅对该组中的启动器可见。在大多数 FC SAN 中,LUN 始终与为其创建了 LUN 的系统所对应的启动器组关联。

设备是符合 ALUA 的阵列。要在 ALUA 环境中正确配置 FC 启动器,需要可识别 ALUA 的驱动程序,并可能需要进行特定于启动器的调整。有关更多信息,请参见 "Oracle ZFS Storage Appliance: How to set up Client Multipathing"(文档 ID 1628999.1)。

可以通过 Analytics(分析)监测 FC 性能,在其中可按启动器、目标或 LUN 细分操作或吞吐量:

图 15  FC 性能

image:FC 性能

对于操作,还可以按偏移、延迟、大小和 SCSI 命令进行细分,以便不仅了解 FC 操作的内容,还了解其方式原因

设备设计为使用一组全局资源为每个机头上的 LUN 提供服务。因此通常不需要限制客户机上的队列深度,因为设备的 FC 端口可以处理大量的并发请求。 即使这样,还是存在极小的队列溢出可能,而队列溢出会导致 SCSI 传输错误。此类队列溢出通常与以下一个或多个原因有关:

  • 前端端口过载-与一个 FC 端口关联的主机太多和/或通过一个 FC 端口访问的 LUN 太多

  • 设备在降级模式下运行,例如在设计为主动-主动群集配置的环境中进行群集接管时

虽然队列溢出的可能性很小,但是如果愿意根据客户机限制队列深度,则可以完全消除该可能性。要确定合适的队列深度限制,应该使用目标端口的数量乘以每个端口的最大并发命令 (2048),然后用得到的数字除以置备的 LUN 数量。要适应降级运行模式,应该对群集对等设备中的 LUN 数量求和,以确定 LUN 的数量,但是将两个群集对等设备的最小值用作目标端口的数量。例如,在主动-主动 7420 双机头群集中,如果一个机头具有 2 个 FC 端口和 100 个 LUN,而另一个机头具有 4 个 FC 端口和 28 个 LUN,则应该使用最保守的最大队列深度:两个端口乘以 2048 个命令,除以 100 个 LUN 与 28 个 LUN 的和-即每个 LUN 32 个命令。

最大队列深度的调整是特定于启动器的,但是在 Solaris 上,这将通过调整全局变量 ssd_max_throttle 来实现。

要解决链路级问题(例如损坏的光纤或固定不佳的电缆),请查看每个 FC 端口的错误统计信息。 如果有任何数字明显非零或者不断增大,则可能表明遇到了链路级问题并且应当执行链路级诊断。