Hi,
 MPxIO is basically a failover protocol. The way MpXIO will handle a storage 
device is listed in /kernel/drv/scsi_vhci.conf

If you have multiple paths to your device over Fibre or over IP for iSCSI and 
MPXIO is not configured right or disabled, or turned off on your storage array, 
then at the format command, you will get multiple entries for one LUN with 
short device names and the customer will be pretty unhappy.

Any changes to this (scsi_vhci.conf) file will require a reboot. I always do a 
reboot -- -r to make sure the changes are taken. Then, watch the Solaris boot 
carefully for any error messages.

For Sun supported hardware - 6130, 6140, 6540, 25xx et el, all you need to do 
is to set the storage device to MPxIO - for Solaris. Many of the Sun storage 
devices are already defaulted to this value. Just connect them up, use CAM to 
verify the setting is set to MPxIO and then check the 
/kernel/drv/scsi_vhci.conf file to make sure MPXIO is enabled. On Solaris 8 and 
9 MPxIO was disabled by default. On Solaris 10, it is enabled and included in 
the distribution.

If memory serves me correctly, for Solaris 8 and 9, you need to download MPxIO 
support and install it as a package with pkgadd or it is a huge shell script 
that installs the packages for you. You need to do this first on a virgin 
Solaris 8 or 9 system. 

Save the headache and just download Solaris 10 U5 and burn a DVD and install 
this for a new customer if possible.


MpXIO will work over fibre channel or iSCSI connections as it is really a 
protocol.

If your storage device is third party and not well known by Sun or tested well, 
then you need to enter the device into /kernel/drv/scsi_vhci.conf

The file has an example on what to add, so look in the file first.
To find out the exact string- 
Make sure your storage device has a LUN online that you can see with the format 
command from a Solaris prompt.

Then, from format, select the device and from the format prompt use an inquiry 
command like this:  format> inquiry

This will send a SCSI_INQUIRY command to the device/lun. You will get back the 
VID/PID pair. Like: XYZ       FAST_ARRAY_500 

You need to put this exactly into the /kernel/drv/scsi_vhci.conf file to 
support the third party array and reboot..

Now, on build 79b all this is different.

You put the same string into the scsi_vhci.conf file from the format> inquiry 
command, but you then have to call out the driver used.

For example, if your device is a generic symmetric storage array, then the 
entry will be

"XYZ     FAST_ARRAY_500",      "f_sym";

You need to have the _exact_ spaces in the above commands matching the comments 
in the /kernel/drv/scsi_vhci.conf file.

Then, reboot -- -r
When the system comes back up, run format and look for a single entry for your 
LUN with a LONG device name.

When you see long device names and only one device in format for your one LUN, 
then you have succeeded.

For EMC, you will need to probably put in the exact inquiry string to support 
it in /kernel/drv/scsi_vhci.conf - for Solaris 10 U5.

For Opensolaris build 79b and above, there is an f_EMC driver in there that you 
need to pair with your EMC array.

Again, the VID/PID is obtained from the format> inquiry command.

Best to you,
Jeff
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to