Re: EMC PowerPath Devices and 'sar' Command



On Wed, 18 Oct 2006 14:28:15 +0000, Daniel Rock wrote:

F. Michael Orr <michael_orr25@xxxxxxxxx> wrote:
I have a Solaris 9 system attached to a Clariion CX600 via QLogic HBAs,
and which makes use of PowerPath multipathing software. All of the LUNs
are addressed as 'emcpowerna' devices. When I run 'sar' to try to get
performance characteristics, it reports everything as an 'ssdnn' device. I
have google'd, searched both Sun and EMC websites, but cannot find a
reliable way to map the ssd names to the emcpower names. Does anyone know
of a technique or a site I can find this at? TIA.

I prefer native naming for this reason. Otherwise you could parse
powermt display dev=emcpowerXXX

For mapping of cXtYdZ => sdXXX you could hope the compatibility links
in /dev are up-to-date:

ls -l /dev/sd* | grep cXtYdZ

insert the device names outputted by the powermt display command above.


Or less portable:

. scan /kernel/drv/emcp.conf
instance=XXX => emcpowerXXX
dev=major,minor[,major,minor...]

. you "know" that for sd/ssd:
instance# = minor / 8


Let's test it:

$ cat /kernel/drv/emcp.conf:
[...]
name="emcp" parent="pseudo" instance=2 userdev=XXXX did=XXXX np=2 \
dev=0x20,0x888,0x20,0x820
[...]

major device 0x20 = 32, which driver?

$ grep 32 /etc/name_to_major
sd 32
[...]

minor device 0x888 (=> instance 273)
minor device 0x820 (=> instance 260)

Result: emcpower2 = sd273 & sd260



Verify:

# powermt display dev=emcpower2
[...]
2305 pci@91/lpfc@3 c1t30d2s0 FA 13aA active alive 0 0
2304 pci@90/lpfc@3 c2t30d2s0 FA 4aA active alive 0 0

$ ls -l /dev/sd273a /dev/sd260a
lrwxrwxrwx 1 root root 13 Oct 18 16:19 /dev/sd260a -> dsk/c2t30d2s0
lrwxrwxrwx 1 root root 13 Oct 18 16:19 /dev/sd273a -> dsk/c1t30d2s0

$ ls -lL /dev/dsk/c1t30d2s0 /dev/dsk/c2t30d2s0
brw-r----- 1 root sys 32, 2184 Oct 18 16:17 /dev/dsk/c1t30d2s0
brw-r----- 1 root sys 32, 2080 Oct 18 16:17 /dev/dsk/c2t30d2s0

Excellent information; much thanks. However, I have an interesting
problem. This is a multi-domain SunFire. On one domain (test),
/kernel/drv/emcp.conf is as you describe it above, and your procedure
works perfectly. On the other domain however (production), the file is
only the following:

#This file is automatically generated. Please don't edit.

global-exts="emcpmp","emcpmpc","emcpmpaa","emcpmpap","emcpsapi","emcpcg","emcphr","emcpdms","emcprd","emcpsm","emcpsc","emcpevm","emcpdpm","emcpioc";
managed-class="esr","ess","hitachi","hpxp","hphsx";
name="emcp" parent="pseudo" instance=0x7fff;

Access is fine, and the "powermt display dev=all" output is normal.
Both domains run the same version of PowerPath. Have you ever seen that
problem?

.