In Solaris 11 (SXCE, OpenSolaris) the format of the configuration file "scsi_vhci.conf" has changed. As a starter let's remember how MPxIO for storage works (here Fiberchannel is used as an example, the same applies to multiple iSCSI links, just replace the fc driver layer with ethernet/ip/tcp/iscsi):

This is the example with two distinct fiberchannel ports present (multiport FC adapter or distinct FC adapters).

This is the example with two distinct fiberchannel ports present (multiport FC adapter or distinct FC adapters).
But Multipathing also works with only one Fiberchannel port in your machine:

Sure, failure of the fiberchannel card results in complete loss of storage access in this example.
In Solaris 10 you had to shoot a little bit in your knees to configure scsi_vhci (the multipathing driver showed in gray in the graphics above) to support devices not hardcoded in Sun's scsi_vhci-driver. I wrote an entry about that one and a half year ago which is still valid:
http://southbrain.com/south/2008/02/solaris-10-with-mpxio-scsi-vhc.html
Just make sure that the fp (iscsi) driver is not configured to disable multipathing. This is the case if you find a line like 'mpxio-disable = yes' in the relevant fp.conf resp. iscsi.conf.
In OpenSolaris (becoming the next Solaris 11) things have changed in that config file. The principles mentioned above are still valid but the configuration file has changed. It is much simplier now to support new devices to use multipathing.
Solaris now defines different multipathing methods:
First: What's the difference between symmetric and asymmetric?
Asymmetric: Only one path is in active use at a time. If this link fails, the system switches to the other link. Most arrays with multiple ports can handle this. It is the simpliest solution hence it takes a little time to switch over to the other link.
Symmetric: In symmetric mode both links are used simultaneously. If a path goes down for whatever reason only the portion which was "on action" on this link has to be redone on the other link. On arrays supporting symmetric configurations you may also double your maximum data rate.
To enable a new device unknown to scsi_vhci (in OpenSolaris!) you have to define an override-Entry.
In my old article regarding Solaris 10 I used an OXYGENRAID for my symmetric multipathing config. In OpenSolaris the configuration would be in scsi_vhci.conf:
Or with multiple devices:
You may also use "NONE" as method to disable multipathing for this device.

Sure, failure of the fiberchannel card results in complete loss of storage access in this example.
In Solaris 10 you had to shoot a little bit in your knees to configure scsi_vhci (the multipathing driver showed in gray in the graphics above) to support devices not hardcoded in Sun's scsi_vhci-driver. I wrote an entry about that one and a half year ago which is still valid:
http://southbrain.com/south/2008/02/solaris-10-with-mpxio-scsi-vhc.html
Just make sure that the fp (iscsi) driver is not configured to disable multipathing. This is the case if you find a line like 'mpxio-disable = yes' in the relevant fp.conf resp. iscsi.conf.
In OpenSolaris (becoming the next Solaris 11) things have changed in that config file. The principles mentioned above are still valid but the configuration file has changed. It is much simplier now to support new devices to use multipathing.
Solaris now defines different multipathing methods:
- f_asym_sun: Asymmetric multipathing for Sun arrays (and compatible)
- f_asym_lsi: Asymmetric multipathing for LSI-type arrays
- f_asym_emc: Asymmetric multipathing for EMC-like arrays
- f_sym_emc: Symmetric multipathing for EMC-like arrays
- f_sym_hds: Symmetric multipathing for Hitachi Data Systems (HDS)-like arrays
- f_sym: Symmetric multipathing for standard symmetric-capable devices
- f_tpgs: Autoconfiguration if your storage device has Target Port Group Support
First: What's the difference between symmetric and asymmetric?
Asymmetric: Only one path is in active use at a time. If this link fails, the system switches to the other link. Most arrays with multiple ports can handle this. It is the simpliest solution hence it takes a little time to switch over to the other link.
Symmetric: In symmetric mode both links are used simultaneously. If a path goes down for whatever reason only the portion which was "on action" on this link has to be redone on the other link. On arrays supporting symmetric configurations you may also double your maximum data rate.
To enable a new device unknown to scsi_vhci (in OpenSolaris!) you have to define an override-Entry.
In my old article regarding Solaris 10 I used an OXYGENRAID for my symmetric multipathing config. In OpenSolaris the configuration would be in scsi_vhci.conf:
scsi-vhci-failover-override =
"ADVUNI OXYGENRAID", "f_sym";Or with multiple devices:
scsi-vhci-failover-override =
"ADVUNI OXYGENRAID", "f_sym",
"LSI ProFibre 4000R", "f_asym_lsi";You may also use "NONE" as method to disable multipathing for this device.

Leave a comment