缺省情况下,基于 x86 的平台将启用 Solaris I/O 多路径功能,此功能对于运行 Oracle Solaris OS 的基于 SPARC 的系统则是可选的。此软件包含下列功能:
路径管理-Solaris I/O 多路径功能可动态管理指向 OS 所支持的任何存储设备的路径。当路径被置于联机状态或从服务中删除时,系统会自动添加或删除指向某个设备的路径。即使在启用了多路径功能的情况下,您也可以添加更多的控制器以增加带宽和 RAS,而不必更改设备名称或修改应用程序。Oracle 存储产品不要求管理配置文件或将数据库保持为最新状态。对于由供应商而非 Oracle 生产的存储器,请联系供应商,咨询启用支持的方法并确保此产品适合使用 Solaris I/O 多路径功能。
单个设备实例-Solaris I/O 多路径功能完全与 Oracle Solaris OS 集成在一起。多路径设备显示为单个设备实例,而不是每个路径一个设备或设备链接。此功能使用诸如 format 命令的实用程序或卷管理产品来缩减管理复杂存储体系结构的成本,一个存储设备您只能看到一个表示,而不是每个路径对应一个单独的设备。
故障转移支持-实现更高级别的 RAS 需要具有到存储设备的冗余主机连接。Solaris I/O 多路径功能可管理存储路径故障,同时通过可用的辅助路径保持主机 I/O 的连通性。
您可以通过使用下列命令确定设备是否支持故障转移:
# mpathadm show mpath-support libmpscsi_vhci.so mpath-support: libmpscsi_vhci.so Vendor: Sun Microsystems Driver Name: scsi_vhci Default Load Balance: round-robin Supported Load Balance Types: round-robin logical-block Allows To Activate Target Port Group Access: yes Allows Path Override: no Supported Auto Failback Config: 1 Auto Failback: on Failback Polling Rate (current/max): 0/0 Supported Auto Probing Config: 0 Auto Probing: NA Probing Polling Rate (current/max): NA/NA Supported Devices: . . .
对称/非对称设备支持-支持下列磁盘存储设备:
所有 Oracle 磁盘存储产品,无论是对称还是非对称的。
所有符合 T10/T11 标准的第三方对称磁盘设备。
许多第三方非对称磁盘阵列。
对于支持此 T10 标准的非对称设备,增加了 T10 非对称逻辑单元访问 (Asymmetric Logical Unit Access, ALUA) 支持。 请联系您的存储器供应商,以确定您的设备是否受支持。
如果磁盘存储阵列使用 f_asym_lsi 故障转移模块,您需要手动更改 ddi-forceload 部分的序列,方法是将 f_asym_lsi 移到 scsi_vhci.conf 文件的结尾,类似于如下方式:
ddi-forceload = "misc/scsi_vhci/scsi_vhci_f_asym_sun", "misc/scsi_vhci/scsi_vhci_f_asym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_hds", "misc/scsi_vhci/scsi_vhci_f_sym", # "misc/scsi_vhci/scsi_vhci_f_tpgs_tape", # "misc/scsi_vhci/scsi_vhci_f_tape", "misc/scsi_vhci/scsi_vhci_f_tpgs", "misc/scsi_vhci/scsi_vhci_f_asym_lsi";
I/O 负载平衡-除了提供简单的故障转移支持,Solaris 多路径功能还可以使用指向存储设备的任何活动路径来发送和接收 I/O。 由于可通过多个主机连接路由 I/O,可通过增加主机控制器来增加带宽。此软件使用循环(共享)负载平衡算法,按此算法,各个 I/O 请求按顺序逐一路由至活动的主机控制器。
队列深度-SCSI 存储阵列以逻辑单元号 (Logical Unit Number, LUN) 形式向系统提供存储器。LUN 具有一个有限的可用资源集,如可以存储的数据量,以及设备或 LUN 一次可以处理的活动命令数量。在设备阻止后来的 I/O 之前可以发出的活动命令数量称为队列深度。启用了 Solaris I/O 多路径功能时,会为每个 LUN 创建一个队列,而不考虑 LUN 可能拥有多少个指向主机的不同或单独路径。使用此功能磁盘驱动程序可为 LUN 维护一个队列并使之平衡,有效地管理了队列深度。没有其他可用于 Oracle Solaris OS 的多路径软件具有此功能。
stmsboot 命令-Oracle Solaris OS 包含 stmsboot 命令,该命令允许您在完成 OS 安装后在引导设备上启用或禁用 Solaris 多路径功能。此命令既适用于基于 SPARC 的系统和也适用于基于 x86 的系统,并提供了 SAS 多路径支持。
缺省情况下,基于 SPARC 或 x86 的系统不会在 Oracle Solaris OS 中启用 SAS 多路径,所以如果希望启用多路径,需要在安装后使用 stmsboot 命令。
缺省情况下,基于 SPARC 的系统不会为 FC 设备启用多路径,所以需要在安装后使用 stmsboot 命令。
缺省情况下,基于 X86 的系统会为 FC 设备启用多路径,所以不要求在安装后使用 stmsboot 命令。
动态重新配置-Solaris I/O 多路径功能支持动态重新配置 (Dynamic Reconfiguration, DR) 操作。
多路径设备名称-在系统上安装了 Oracle Solaris OS 并启用了 Solaris I/O 多路径后,多路径设备名称以 c0 开头。例如:
# mpathadm list lu /dev/rdsk/c0t600A0B800026D63A0000A4994E2342D4d0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800029065C00007CF54E234013d0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800026D63A0000A4984E234298d0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800029065C00007CF44E233FCFd0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800026D63A0000A4974E23424Ed0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800029065C00007CF34E233F89d0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800026D63A0000A4964E234212d0s2 Total Path Count: 4 Operational Path Count: 4 /dev/rdsk/c0t600A0B800026D63A000099B94DE2DB34d0s2 . . .
显示 MPxIO 路径信息-更新了 prtconf 和 fmdump 命令以提供 MPxIO 路径信息。
例如,下列输入就是来自带有多路径设备的系统。
# prtconf -v | grep path | more Paths from multipath bus adapters: name='path-class' type=string items=1 name='path-class' type=string items=1 name='path-class' type=string items=1 name='path-class' type=string items=1 dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:a dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:a,raw dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:b dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:b,raw dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:c dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:c,raw dev_path=/scsi_vhci/disk@g600a0b800026d63a0000a4994e2342d4:d . . .
diskinfo 命令可显示机箱、插口和磁盘插卡信息或托架插口的磁盘插卡,也可以用于显示多路径设备名称。例如:
# diskinfo -O occupant-compdev c0t50015179594B6F11d0 c0t5000C500335F95E3d0 c0t5000C500335F907Fd0 c0t5000C500335BD117d0 c0t5000C500335DC60Fd0 c0t5000C500335E106Bd0 c0t5000C500335BA8C3d0 c0t5000C500335FC3E7d0
设备驱动程序配置-驱动程序的定制在 /etc/driver/drv 目录中进行,而不像以前发行版那样在 /kernel/drv 目录中进行。此改进意味着在系统升级时,您的驱动程序定制不会被覆盖。在升级期间保留 /etc/driver/drv 目录中的文件。对 fp.conf、mpt.conf 或 scsi_vhci.conf 的任何修改均应在 /etc/driver/drv 目录中进行。