« Previous month (May 2006) | Main | Next month (Jul 2006) »

http://blogs.sun.com/dweibel/date/20060711 Tuesday July 11, 2006

Solaris iSCSI Initiator and MPxIO

We frequently receive the question about which iSCSI devices are supported with the Solaris iSCSI initiator and MPxIO. Unfortnately, The iSCSI Multipathing BluePrint is out of date with what device support is available in Solaris 10 Update 2. We are working on getting an updated version published. The below information will hopefully give a rough update on MPxIO support with the s10u2. This was clipped from an email response I sent internally.


If you can answer the following questions I can help tell you if the Solaris initiator will support multipathing with your iSCSI device.

Q) Do you know if your iSCSI device acts as a symetric (active/active) SCSI device with its iSCSI portals?
Assuming you said yes. The device is most likely supported with the Solaris iSCSI initiator under MPxIO. Only a few non symetric devices are supported by MPxIO.

Q) The next question you have to determine is how the target describes its iSCSI portals. Depending on this you have to configure the initiator differently. Unfornately, The iSCSI specification is a little too open for the initiator to auto discover and automatically configure all array types.
Types:
1) Multiple iSCSI portals are exposed with the same iSCSI node name and each iSCSI portal is in a different iSCSI target portal group. (ex. NetApp, EMC, ... can be configured this way.)

In this case the Solaris iSCSI initiator will automatically plumb all the IO paths. (See MPxIO Setup below.)

2) Multiple iSCSI portals are exposed with different iSCSI node names. (ex. QLogic, HP, ... can be configured this way.)

Again assuming you setup your discovery correctly this will also be automatic. (See MPxIO Setup below.)

3) Multiple iSCSI portals are exposed with the same iSCSI node name and all the portals are accessed via a single virtal IP address (Login Redirection). (ex. EqualLogic, Intransa, Left Hand, Cisco, ... can be configured this way.)

In this cause since the array is virtualizing the hardware the initiator can't guess how many paths to create. So the user has to specify the number of paths with iscsiadm modify initiator-node -c [1-4, # of paths] or iscsiadm modify target-param -c [1-4, # of paths]. The choice of initiator-node or target-param depends on if you want the setting to effect all targets or a specific target. (See MPxIO Setup below)

4) Multiple iSCSI portal are exposed with the same iSCSI node name and all portals are in the same iSCSI target portal group tag. (ex. Netapp, EMC, Sun 5XXX, ... can be configured this way.)

In Solaris 10 Update 3 (and I'm trying to get it out in a patch earlier. You can again use the same setups in #3 to increase the number of paths. This change is already available in solaris nevada and will be in solaris 10 update 3 build 3. (See MPxIO Setup below.)

--- MPxIO Setup ---



Once you have configured the solaris iSCSI initiator you still may have a little work to perform. MPxIO also has to understand it supports the device. This can happen in 3 ways.

1) It is a Sun device and has been hard coded in the drivers internal support tables. (ex. Sun, some EMC and HDS devices (not the ASM 500))

2) The device supports the T-10 TPGS standard. So MPxIO can automatically discovery its supported. (ex. NetApp, EqualLogic, and a few others are starting to implement this at request of Sun.)

--- If all else fails, and it normally does for non-Sun devices ---


3) You can add a /kernel/drv/scsi_vhci.conf entry to claim the device can be supported as a symmetric device. Below is an example.

device-type-scsi-options-list = "SUN SENA", "symmetric-option";
symmetric-option = 0x1000000;


Assuming your device is configured in one of those methods you should see long dev names like the following...

/dev/rdsk/c2t0690A0180071248C2F4AB40332F08F49d0s2

http://blogs.sun.com/dweibel/date/20060710 Monday July 10, 2006

Two new iSCSI patches for s10+ out...

Sun recently released two new iSCSI patches for the Solaris iSCSI software initiator. One for Sparcv9 and the other for x86/amd64.

119090-20
119091-20

These patches will work on s10 and forward. This patch includes all the Solaris 10 Update 2 features, along with 3 intermittent bug fixes, and one small feature enhancement. That feature enhancement is a way to disable MPxIO for the Solaris iSCSI initiator in the same way possible with fp.conf.

Below is a clip from the iscsi.conf file. While I'm not happy with its double negative wording, disable=no, it does match the exact wording used by fp.conf to be consistent. To disable mpxio with the solaris initiator you will want to change the iscsi.conf entry mpxio-disable="no"; to mpxio-disable="yes";

#
# I/O multipathing feature (MPxIO) can be enabled or disabled using
# mpxio-disable property. Setting mpxio-disable="no" will activate
# I/O multipathing; setting mpxio-disable="yes" disables the feature.
#
# Global mpxio-disable property:
#
# To globally enable MPxIO on all iscsi ports set:
# mpxio-disable="no";
#
# To globally disable MPxIO on all iscsi ports set:
# mpxio-disable="yes";
#
mpxio-disable="no";



Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.