JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris SAN Configuration and Multipathing Guide     Oracle Solaris 10 1/13 Information Library
search filter icon
search icon

Document Information

Preface

1.  Solaris I/0 Multipathing Overview

2.  Configuring Solaris I/O Multipathing Features

Configuring Multipathing I/O Features

Multipathing Considerations

Enabling and Disabling Multipathing

How to Enable Multipathing

How to Disable Multipathing

How to Determine if Multipathing is Enabled or Disabled

Enabling or Disabling Multipathing on a Per-Port Basis

Port Configuration Considerations

How to Configure Multipathing by Port

Configuring Third-Party Storage Devices

Third-Party Device Configuration Considerations

Configuring Third-Party Storage Devices: New Devices

How to Configure Third-Party Devices

Configuring Third-Party Storage Devices: Disabling Devices

How to Disable Third-Party Devices

Displaying Device Name Changes

Configuring Automatic Failback

How to Configure Automatic Failback

Administering Solaris I/O Multipathing

Displaying Multipathing Support Information

How to Display Multipathing Support Information

How to Display Properties of a Specific Initiator Port

How to Display Specific LU Information

How to Display All LUs Associated With a Specific Target Port

How to Display a LU With a Specific Name

Configuring Automatic Failback for Multipathing Support

How to Configure Automatic Failback for Specific Multipathing Support

How to Fail Over a LU

How to Enable a LU Path

How to Disable a LU Path

3.  Configuring Fabric-Connected Devices

4.  Configuring Oracle Solaris iSCSI Initiators

5.  Configuring SAS Domains

6.  Configuring IPFC SAN Devices

7.  Booting the Oracle Solaris OS From Fibre Channel Devices on x86 Based Systems

8.  Persistent Binding for Tape Devices

A.  Manual Configuration for Fabric-Connected Devices

B.  Supported FC-HBA API

C.  Troubleshooting Multipathing-Related Problems

Index

Configuring Third-Party Storage Devices


Note - Before configuring any third-party device, ensure that they are supported. Refer to your third-party user documentation or third-party vendor for information on proper vendor and product IDs, modes, and various settings required for the device to work with multipathing software.


Third-Party Device Configuration Considerations

Before you configure third-party devices for multipathing, be aware of the following:

When multipathing is enabled, the multipath access still depends on a device-specific scsi_vhci failover implementation accepting the device. The default is for the scsi_vhci code to automatically call a probe function in each failover implementation, looking for the first probe result that indicates the device is supported.

A probe implementation determines support based on some combination of scsi_inquiry(9S) data. A device with INQUIRY data indicating T10 Target-Port-Group-Support (TPGS) compliance will use the standards-based TPGS failover implementation. For noncompliant devices, a failover implementation's probe will typically determine support based on VID/PID match against a private compiled-in table.

To override the probe process, the scsi_vhci.conf file supports a scsi-vhci-failover-override property. The value of scsi-vhci-failover-override can be used to establish support for a device not currently accepted by probe, override probe support, or disable multipath support for a device.

Configuring Third-Party Storage Devices: New Devices

Multipathing can be configured on third-party symmetric storage devices. A symmetric storage device is one in which all paths to the storage device are active and I/O commands can be issued through any path.

How to Configure Third-Party Devices

Perform the following steps to configure third-party devices if your system already has multipathing enabled. If your system has multipathing disabled, you can configure third-party devices while enabling multipathing as described earlier in this chapter.

  1. Become superuser.
  2. Edit the /kernel/drv/scsi_vhci.conf file to add the vendor ID and product ID entries.

    The vendor ID and product ID are the vendor and product identification strings that the device returns in SCSI INQUIRY data. The vendor ID must be eight characters long. You must specify all eight characters even if the trailing characters are spaces.

    The product ID can be up to 16 characters long.

    device-type-scsi-options-list =
    "VendorID1ProductID1", "enable-option",
    "VendorID2ProductID2", "enable-option",
    ...
    "VendorIDnProductIDn", "enable-option";
    enable-option = 0x1000000;

    Note that the entries are separated by the ’,’ character (a comma) and the last vendor/product entry is terminated by the ’;’ character (a semicolon).

    For example, to add a device from a vendor,“ACME,” with a product ID of “MSU” and a device from vendor “XYZ” with a product ID of “ABC”, you would add the following lines to the /kernel/drv/scsi_vhci.conf file:

    device-type-scsi-options-list =
    "ACME    MSU", "enable-option",
    "XYZ     ABC", "enable-option";
    enable-option = 0x1000000;
  3. Save and exit the /kernel/drv/scsi_vhci.conf file.
  4. Start the reboot and configuration process.
    # stmsboot -u

    You are prompted to reboot. During the reboot, the /etc/vfstab file and the dump configuration are updated to reflect the device name changes.

  5. If necessary, perform device name updates as described in Enabling and Disabling Multipathing.

Configuring Third-Party Storage Devices: Disabling Devices

Multipathing can be disabled for all devices of a certain vendor ID/product ID combination. This exclusion is specified in the scsi_vhci.conf file.

How to Disable Third-Party Devices

  1. Become superuser.
  2. Add the vendor ID and product ID entries to the /kernel/drv/scsi_vhci.conf file.

    The vendor ID and product ID are the vendor and product identification strings that the device returns in SCSI INQUIRY data. The vendor ID must be eight characters long. You must specify all eight characters even if the trailing characters are spaces. The product ID can be up to 16 characters long.

    device-type-scsi-options-list =
    "VendorID1ProductID1", "disable-option",
    "VendorID2ProductID2", "disable-option",
    ...
    "VendorIDnProductIDn", "disable-option";
    disable-option = 0x7000000;

    The entries in the preceding example are separated by the ’,’ character (a comma) and the last vendor/product entry is terminated by the ’;’ character (a semicolon). For example, to add a device from vendor “ACME” with a product ID of “MSU,” and a vendor device from vendor “XYZ” with product ID “ABC,” you would add the following lines to the file /kernel/drv/scsi_vhci.conf:

    device-type-scsi-options-list =
    "ACME    MSU", "disable-option",
    "XYZ     ABC", "disable-option";
    disable-option = 0x7000000;
  3. Save and exit the scsi_vhci.conf file.
  4. Start the reboot and configuration process.
    # stmsboot -u

    You are prompted to reboot. During the reboot, the /etc/vfstab file and the dump configuration are updated to reflect the device name changes.

  5. If necessary, perform the device name updates as described in Enabling and Disabling Multipathing.

Displaying Device Name Changes

You can display the mapping between non-multipathed and multipathed device names after changes are made to the multipath configuration by invoking the stmsboot command with the -e, -d, or -u option. Both non-multipathed and the multipathed device names must exist in order to show the mapping.

Display the mapping of devices on all controllers. For example:

# stmsboot -L
non-STMS device name                    STMS device name
----------------------------------------------------------------
/dev/rdsk/c2t8d0     /dev/rdsk/c10t500000E01046DEE0d0
/dev/rdsk/c2t0d0     /dev/rdsk/c10t500000E01046B070d0
/dev/rdsk/c2t3d0     /dev/rdsk/c10t20000020372A40AFd0
/dev/rdsk/c2t12d0    /dev/rdsk/c10t500000E01046DEF0d0
/dev/rdsk/c2t11d0    /dev/rdsk/c10t500000E01046E390d0
/dev/rdsk/c3t8d0     /dev/rdsk/c10t500000E01046DEE0d0
/dev/rdsk/c3t0d0     /dev/rdsk/c10t500000E01046B070d0
/dev/rdsk/c3t3d0     /dev/rdsk/c10t20000020372A40AFd0
/dev/rdsk/c3t12d0    /dev/rdsk/c10t500000E01046DEF0d0
/dev/rdsk/c3t11d0    /dev/rdsk/c10t500000E01046E390d0

The -l option displays the mapping of devices on only the specified controller. The following example displays the mapping of controller 3.

# stmsboot -l3
non-STMS device name                    STMS device name
----------------------------------------------------------------
/dev/rdsk/c3t8d0    /dev/rdsk/c10t500000E01046DEE0d0
/dev/rdsk/c3t0d0    /dev/rdsk/c10t500000E01046B070d0
/dev/rdsk/c3t3d0    /dev/rdsk/c10t20000020372A40AFd0
/dev/rdsk/c3t12d0    /dev/rdsk/c10t500000E01046DEF0d0
/dev/rdsk/c3t11d0    /dev/rdsk/c10t500000E01046E390d0