在 Oracle® Solaris 11.2 中管理 SAN 设备和多路径

退出打印视图

更新时间: 2014 年 12 月
 
 

Solaris I/O 多路径功能

缺省情况下,基于 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 路径信息-更新了 prtconffmdump 命令以提供 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.confmpt.confscsi_vhci.conf 的任何修改均应在 /etc/driver/drv 目录中进行。