« How to Change Root's Ilom Password | Main | Using Filesystem Labels in Linux »

May 28, 2008

Verify Solaris 10 Multipathing/Configure SAN Disk

 Fibre                                 
I was attempting to troubleshoot issues as a user was complaining about slow performance on a SAN disk. First thing that I did was check to ensure that there were not any performance issues on any disks that might have been causing this users issues


A quick iostat verified that everything was looking fine
iostat -cxzn 1

 

This box is running Veritas so lets check out the disks. Vxdisk list shows one Sun6140 disk.

# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
Disk_0       auto:none       -            -            online invalid
Disk_1       auto:none       -            -            online invalid
SUN6140_0_1  auto:cdsdisk    diskname_dg02  diskname_dg online nohotuse


Luxadm is an utility, which discovers FC devices (luxadm probe), shut downs devives (luxadm shutown_device ...) runs a firmware upgrade (luxadm download_firmware ...) and many other things. In this instance I use luxadm to get the true device name for my disk

# luxadm probe
No Network Array enclosures found in /dev/es

Found Fibre Channel device(s):
  Node WWN:200600a0b829a7a0  Device Type:Disk device
    Logical Path:/dev/rdsk/c4t600A0B800029A7A000000DC747A8168Ad0s2


I then run a luxadm on the device. Below you can see that I do indeed have two paths to the device.
1 controller = one path, 2 controllers = 2 paths

# luxadm display /dev/rdsk/c4t600A0B800029A7A000000DC747A8168Ad0s2
DEVICE PROPERTIES for disk: /dev/rdsk/c4t600A0B800029A7A000000DC747A8168Ad0s2
  Vendor:               SUN
  Product ID:           CSM200_R
  Revision:             0619
  Serial Num:           SG71009283
  Unformatted capacity: 12288.000 MBytes
  Write Cache:          Enabled
  Read Cache:           Enabled
    Minimum prefetch:   0x1
    Maximum prefetch:   0x1
  Device Type:          Disk device
  Path(s):

  /dev/rdsk/c4t600A0B800029A7A000000DC747A8168Ad0s2
  /devices/scsi_vhci/ssd@g600a0b800029a7a000000dc747a8168a:c,raw
   Controller           /devices/pci@1f,4000/SUNW,qlc@5,1/fp@0,0
    Device Address              203700a0b829a7a0,1
    Host controller port WWN    210100e08bb370ab
    Class                       secondary
    State                       STANDBY
   Controller           /devices/pci@1f,4000/SUNW,qlc@5/fp@0,0
    Device Address              203600a0b829a7a0,1
    Host controller port WWN    210000e08b9370ab
    Class                       primary
    State                       ONLINE


Had I only had one path I would have run cfgadm. I would have seen that one of the fc-fabric devices would have been unconfigured. I then could have used cfgadm to configure it and enable my mulitpathing

# cfgadm
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c1                             scsi-bus     connected    unconfigured unknown
c2                             fc-fabric    connected    configured   unknown
c3                             fc-fabric    connected    configured   unknown


MPXIO Primer

Solaris I/O multipathing gives you the ability to set up multiple redundant paths to a storage system and gives you the benefits of load balancing and failover.

Need to enable MPXIO

Solaris 10 is the easier, because the mpxio capability is built-in. You just need to turn it on!

To enable it, edit the file /kernel/drv/fp.conf file. At the end it should say:

mpxio-disable="yes";

Just change yes to no and it will be enabled:

mpxio-disable="no";

Before multipathing, you should see two copies of each disk in format. Afterwards, you'll just see the one copy.

It assigns the next available controller ID, and makes up some horrendously long target number. For example:

Filesystem kbytes used avail capacity Mounted on /dev/dsk/c6t600C0FF000000000086AB238B2AF0600d0s5 697942398 20825341 670137634 4% /test














TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e551c39e1c883400e5528819bc8833

Listed below are links to weblogs that reference Verify Solaris 10 Multipathing/Configure SAN Disk:

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

Just wanted to comment relative to this:
Need to enable MPXIO

Solaris 10 is the easier, because the mpxio capability is built-in. You just need to turn it on!

To enable it, edit the file /kernel/drv/fp.conf file. At the end it should say:

mpxio-disable="yes";Just change yes to no and it will be enabled:

mpxio-disable="no";

This approach could be problematic. If the internal (boot) disks are FC disks, too, you might need to boot from CD to recover from the issue. Better: enable it via stmsboot -e

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment