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 nohotuseLuxadm 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/esFound 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
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