Solaris 10 How To Find Individual SAN Paths
Solaris 10 How To Find Individual SAN Paths
In Solaris 10, to find the individual SAN paths, you have to find the SAN ID and the LUN
IDs and see which ones match. In this example below, I have a single dual ported FC
HBA. I know that there are two paths per LUN, one path per port. So one path on c3 and
one path on c2. The way I find the LUN IDs and SAN IDs is by having the logical units
displayed with the fcinfo command and they run the device node through luxadm display
and look for the serial number. I should also add that in this example case, the disks are
NOT under the control of SMTS/MPxIO.
/dev/rdsk/c3t50060E8006FF0315d1s2
/devices/pci@400/pci@2/pci@0/pci@2/pci@0/pci@2/SUNW,qlc@0,1/fp@0,
0/ssd@w50060e8006ff0315,1:c,raw
LUN path port WWN:
50060e8006ff0315
Host controller port WWN:
21000024ff4794b5
Path status:
O.K.
/dev/rdsk/c2t50060E8006FF0305d1s2
/devices/pci@400/pci@2/pci@0/pci@2/pci@0/pci@2/SUNW,qlc@0/fp@0,0/
ssd@w50060e8006ff0305,1:c,raw
LUN path port WWN:
50060e8006ff0305
Host controller port WWN:
21000024ff4794b4
Path status:
O.K.
Using the serial 0FF031501 number from above, we have:
SAN ID
LUN ID
0FF03 1501
# luxadm display /dev/rdsk/c2t50060E8006FF0305d1s2
DEVICE PROPERTIES for disk: /dev/rdsk/c2t50060E8006FF0305d1s2
Vendor:
HITACHI
Product ID:
OPEN-V
-SUN
Revision:
7005
Serial Num:
50 0FF031501
Unformatted capacity: 102400.000 MBytes
Write Cache:
Enabled
Read Cache:
Enabled
Minimum prefetch:
0x0
Maximum prefetch:
0x0
Device Type:
Disk device
Path(s):
/dev/rdsk/c2t50060E8006FF0305d1s2
/devices/pci@400/pci@2/pci@0/pci@2/pci@0/pci@2/SUNW,qlc@0/fp@0,0/
ssd@w50060e8006ff0305,1:c,raw
LUN path port WWN:
50060e8006ff0305
Host controller port WWN:
21000024ff4794b4
Path status:
O.K.
/dev/rdsk/c3t50060E8006FF0315d1s2
/devices/pci@400/pci@2/pci@0/pci@2/pci@0/pci@2/SUNW,qlc@0,1/fp@0,
0/ssd@w50060e8006ff0315,1:c,raw
LUN path port WWN:
50060e8006ff0315
Host controller port WWN:
21000024ff4794b5
Path status:
O.K.
And again using the serial 0FF031501 number from above, we have:
SAN ID
LUN ID
0FF03 1501
They both have the LUN ID of 1501 and SAN ID of 0FF03. So these are the same disks.
So to summarize, the following two device nodes are the same devices:
/dev/rdsk/c3t50060E8006FF0315d0s2
/dev/rdsk/c2t50060E8006FF0305d0s2
If you enabled multipathing (stmsboot) or I suppose powerpath or IBM sdd etc.. you
wouldnt care too much about this. But if you needed to find the individual paths, this is a
safe way of doing it.
As an example, lets look at one other disk to see if its possibly another path for the same
disk.
# luxadm display /dev/rdsk/c3t50060E8006FF0315d2s2
DEVICE PROPERTIES for disk: /dev/rdsk/c3t50060E8006FF0315d2s2
Vendor:
HITACHI
Product ID:
OPEN-V
-SUN
Revision:
7005
Serial Num:
50 0FF031503
Unformatted capacity: 307200.000 MBytes
Write Cache:
Enabled
Read Cache:
Enabled
Minimum prefetch:
0x0
Maximum prefetch:
0x0
Device Type:
Disk device
Path(s):
/dev/rdsk/c3t50060E8006FF0315d2s2
/devices/pci@400/pci@2/pci@0/pci@2/pci@0/pci@2/SUNW,qlc@0,1/fp@0,
0/ssd@w50060e8006ff0315,2:c,raw
LUN path port WWN:
50060e8006ff0315
Host controller port WWN:
21000024ff4794b5
Path status:
O.K.
/dev/rdsk/c2t50060E8006FF0305d2s2
/devices/pci@400/pci@2/pci@0/pci@2/pci@0/pci@2/SUNW,qlc@0/fp@0,0/
ssd@w50060e8006ff0305,2:c,raw
LUN path port WWN:
50060e8006ff0305
Host controller port WWN:
21000024ff4794b4
Path status:
O.K.
The serial number or SANID-LUNID is different. It has a serial number of:
0FF031503
In this case the SAN ID is 0FF03 which is the same SAN ID, but the LUN ID 1503 is not
the same path as the other 1501, therefore this is a different disk on a different path, but
on the same fabric. The following one liner finds the SAN ID:
# echo | format | grep c2|cut -c24-27
I believe this information to be accurate, and has worked for me in large SAN
environments with multiple LUNs on one system for use in a split io domain ldom
configuration. Where each guest needs individual LUNs. In this situation, you need to
confirm the paths before assigning the storage to the ldom guest. If an error is found, I
would appreciate hearing about it