How to Enable Multipathing for Virtual SCSI HBAs in a Service Domain

  1. Enable Oracle Solaris I/O multipathing for all initiator ports in the service domain.
  2. List the SCSI devices that are reachable from each initiator port for a service domain.

    For example, the ldm list-hba command might show the following information about Service Domain 1 as shown in the figure titled Configuring Virtual SCSI HBA Multipathing in a Service Domain.

    primary# ldm list-hba -d svcdom
    DOMAIN
    svcdom
    
    IPORT                                                VSAN
    -----                                                ----
    /SYS/MB/PCIE0/SUNW,emlxs@0/fp@1
      c0t600110D00021150101090001061ADBF4d0
      c0t600110D0002115010109000146489D34d0
    /SYS/MB/PCIE1/SUNW,emlxs@0/fp@1
      c0t600110D00021150101090001061ADBF4d0
      c0t600110D0002115010109000146489D34d0
  3. Create a virtual SAN instance that references a particular initiator port.

    In the following command, the initiator port references two SCSI devices that are also referenced by PCIE0. Either of the initiator ports that have physical paths to the same LUNs can be used as part of the ldm add-vsan command to configure the virtual SAN if multipathing is enabled.

    primary# ldm add-vsan /SYS/MB/PCIE1/SUNW,emlxs@0/fp@1 my_mpxio_vsan svcdom
  4. Add the virtual SAN to the guest domain in a virtual SCSI HBA.
    primary# ldm add-vsan my_vhba my_mpxio_vsan gdom
  5. View the physical devices by running the format command in the service domain.

    The following output shows two physical SCSI devices, each of which can have one or more paths to them.

    svcdom# format
    Searching for disks...done
    
    AVAILABLE DISK SELECTIONS:
           0. c0t600110D00021150101090001061ADBF4d0 <SANBlaze-VLUN P0T1L7-V7.3-1.00GB>
              /scsi_vhci/ssd@g600110d00021150101090001061adbf4
           1. c0t600110D0002115010109000146489D34d0 <SANBlaze-VLUN P0T1L6-V7.3-1.00GB>
              /scsi_vhci/ssd@g600110d0002115010109000146489d34
           2. c1d0 <SUN-DiskImage-10GB cyl 282 alt 2 hd 96 sec 768>
              /virtual-devices@100/channel-devices@200/disk@0
    Specify disk (enter its number):

    This command shows that the service domain configuration has two paths to each physical device.

    svcdom# mpathadm list lu
            /dev/rdsk/c0t600110D00021150101090001061ADBF4d0s2
                    Total Path Count: 2
                    Operational Path Count: 2
            /dev/rdsk/c0t600110D0002115010109000146489D34d0s2
                    Total Path Count: 2
                    Operational Path Count: 2

    Note that the format output in the guest domain is essentially identical, because the Oracle Solaris I/O multipathing implementation executes in both the guest domain and in the service domain. Oracle Solaris I/O multipathing also creates a device path that uses the worldwide number (WWN) of the logical unit such as g600110d0002115010109000146489d34 in the following output:

    gdom# format
    Searching for disks...done
    
    AVAILABLE DISK SELECTIONS:
           0. c0t600110D0002115010109000146489D34d0 <SANBlaze-VLUN P0T1L6-V7.3-1.00GB>
              /scsi_vhci/disk@g600110d0002115010109000146489d34
           1. c0t600110D00021150101090001061ADBF4d0 <SANBlaze-VLUN P0T1L7-V7.3-1.00GB>
              /scsi_vhci/disk@g600110d00021150101090001061adbf4
           2. c1d0 <SUN-DiskImage-10GB cyl 282 alt 2 hd 96 sec 768>
              /virtual-devices@100/channel-devices@200/disk@0
    Specify disk (enter its number):