Multipathing can be enabled or disabled on specific Fibre Channel Host Bus Adapter (HBA) controller ports. If you enable multipathing on a specific HBA port controller port, all supported devices connected to that controller port will be enabled for multipath operation.
The following procedure applies to both SPARC and x86 based machines.
Before you start configuring the software by port, consider the following:
FC global and per-port multipath settings are specified in the file /kernel/drv/fp.conf.
Per-port multipath settings have priority over the global setting. This means that if global multipathing is enabled by a specific port has been disabled for multipathing, the port will not be available in the multipathing configuration. Conversely, even if global multipathing has been disabled, specific ports may be enabled for multipathing if they are listed in the appropriate driver.conf(4) file.
Load balancing is controlled by the global load-balance property in /kernel/drv/scsi_vhci.conf file and is not controlled on a per-port basis.
If a device has more than one path to the host, all paths to the device must be configured with multipathing enabled or disabled.
Configuring multipathing by port enables the multipathing software to coexist with other multipathing solutions like Symantec (VERITAS) Dynamic Multipathing (DMP), or EMC PowerPath. However, devices and paths should not be shared between the multipathing software and other multipathing solutions.
Depending on how many ports you want the multipathing software to control, you can enable or disable multipathing globally or for specified ports.
Log in as root (su - root).
Determine the HBA controller ports that you want the multipathing software to control.
For example, to select the desired device, perform an ls -l command on /dev/cfg directory. The following example shows the ls -l command output.
lrwxrwxrwx 1 root root 50 Jan 29 21:33 c0 -> ../../devices/pci@7c0/pci@0/pci@1/pci@0/ide@8:scsi lrwxrwxrwx 1 root root 61 Jan 29 21:33 c1 -> ../../devices/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@1:scsi lrwxrwxrwx 1 root root 61 Jan 29 21:33 c2 -> ../../devices/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2:scsi lrwxrwxrwx 1 root root 53 Jan 29 21:33 c3 -> ../../devices/pci@7c0/pci@0/pci@9/LSILogic,sas@0:scsi lrwxrwxrwx 1 root root 54 Apr 16 20:28 c5 -> ../../devices/pci@780/pci@0/pci@8/SUNW,qlc@0/fp@0,0:fc lrwxrwxrwx 1 root root 56 Apr 16 20:28 c6 -> ../../devices/pci@780/pci@0/pci@8/SUNW,qlc@0,1/fp@0,0:fc
Controllers c5 and c6 are ports A and B on a dual-port FC HBA. Controllers c1 and c3 are single port SAS HBA ports. Controller c2 is the internal SAS controller in a Sun FireTM T2000 server.
Once you have determined the port, or ports, you want to explicitly enable or disable multipathing for, go to the next step.
Enable or disable specific ports as follows:
FC HBA ports
Edit file /kernel/drv/fp.conf
Add the following line for each FC HBA port that is to be enabled:
name="fp" parent="parent name" port=port-number mpxio-disable="no";
where parent name is the port device name, and port-number is the FC HBA port number.
For example, the following entries disable multipathing on all FC HBA controller ports except for the two specified ports:
mpxio-disable="yes"; name="fp" parent="/pci@6,2000/SUNW,qlc@2" port=0 mpxio-disable="no"; name="fp" parent="/pci@13,2000/pci@2/SUNW,qlc@5" port=0 mpxio-disable="no";
Add the following line for each FC HBA port that is to be disabled:
name="fp" parent="parent name" port=port-number mpxio-disable="yes";
name="fp" parent="/pci@6,2000/SUNW,qlc@2" port=0 mpxio-disable="yes";
Type stmsboot -u to start the reboot and configuration process.
You are prompted to reboot. During the reboot, the /etc/vfstab file and your dump device configuration are updated to reflect any device name changes.
(Optional) After the reboot, if necessary, configure your applications to use new device names as described in Multipathing Considerations.