All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: Multipathing with RHEL4 U2 on EMC DMX
@ 2006-02-16 21:09 Child, David
  2006-02-16 21:45 ` Bernd Zeimetz
  0 siblings, 1 reply; 8+ messages in thread
From: Child, David @ 2006-02-16 21:09 UTC (permalink / raw)
  To: dm-devel

Hello Brian,

Thanks for the tips. We aleady had the lvm.conf settings complete, but
your multipath.conf stanza for the Symmetrix was part of the solution. 

Here is what I did to get it all working;

1. I found that the Symmetrix ID (serial number) for each LUN was
displaying FA port information instead of the common '000' digits (e.g.
790367051091 for LUN 051 on FA9, port 1). For multipath to work
correctly I would imagine that the C-bit setting (common serial number)
needed to be set on the Symmetrix FA port for that host. I checked with
the storage team and EMC PowerLink. We couldn't find any mention of
device-mapper, but PowerLink indicated that for Veritas DMP to work you
had to have the C-bit set so that was a fairly good confirmation. Once
the C-bit was set the serial numbers for both paths to a device came
back identical.

2. Added the SYMMETRIX device stanza listed in Brian's post to
/etc/multipath.conf;
	devices {
		device {
			vendor                  "EMC     "
			product                 "SYMMETRIX     "
			getuid_callout          "/sbin/scsi_id -g -u -s
/block/%n"
		}
	} 

3. At this point auto-discovery of the paths worked, but my device files
were called things like: SEMC_____SYMMETRIX______790367051000. That
didn't look useful so I added the following to /etc/multipath.conf;
	multipaths {
		multipath {
			wwid
SEMC_____SYMMETRIX______790367051000
			alias                   sym051mp
		}
		<repeat for each LUN>
	}

4. So far so good. I now had multipath devices in /dev/mpath called
"sym???mp". This will take care of the persistence issues, but it wasn't
picking up any partitions on those devices. I'm sure there is a better
way to fix it, but a quick hack I did took care of that. 

	a. I edited /etc/udev/rules.d/40-multipath.rules as follows;
		KERNEL="dm-[0-9]*", PROGRAM="/sbin/dmsetup ls --target
linear --exec /usr/local/sbin/dmsetup_parser.sh -j %M -m %m",
RESULT="?*", NAME="%k", SYMLINK="mpath/%c"
		(the original line used "--target multipath", but that
didn't pick up partitions. --target linear works, but picks up all kinds
of DM stuff (logical volumes, etc.). I therefore had to create a custom
parsing script.)
	
	b. Created the dmsetup_parser.sh PROGRAM (as I said, its just a
quick hack and not optimized or anything);
		#!/bin/bash
		dev=`basename $*`
		key=`echo $dev | cut -c 1-3`
		if [ "${key}" = "sym" ]; then
  			echo "$dev"
		fi
	
Now I have auto-detected multipaths for each EMC Symm LUN and each
partition on those LUNs (if any). The last item of importance (the most
important actually) is to figure out why both paths to a device get
knocked offline (failed) at the same time when hit with high I/O (see
original post).

Thanks,
David

David Child
Email  David.Child@ps.net

-----Original Message-----
From: Brian Long <brilong cisco com>
To: device-mapper development <dm-devel redhat com>
Subject: Re: [dm-devel] Multipathing with RHEL4 U2 on EMC DMX
Date: Wed, 15 Feb 2006 14:52:12 -0500

On Fri, 2006-02-10 at 08:48 -0600, Child, David wrote:
> Hello,
> 
> I've just recently connected some HP BL20p G3 blades running RHEL4 U2
> up to a DMX2000 (via McData switches). We didn't get PowerPath and
> intended to use device-mapper multipathing. I was able to get things
> up for the most part and get devices defined, but have to do that
> manually.

Hello David,

We have a /etc/lvm/lvm.conf and /etc/multipath.conf tweak you may be
interested in.  I've attached them to this email.

/Brian/

^ permalink raw reply	[flat|nested] 8+ messages in thread
* RE: Multipathing with RHEL4 U2 on EMC DMX
@ 2006-02-16 22:05 egoggin
  0 siblings, 0 replies; 8+ messages in thread
From: egoggin @ 2006-02-16 22:05 UTC (permalink / raw)
  To: dm-devel

on Thursday, February 16, 2006 4:09 PM Child, David wrote:

> 3. At this point auto-discovery of the paths worked, but my 
> device files
> were called things like: SEMC_____SYMMETRIX______790367051000. That
> didn't look useful so I added the following to /etc/multipath.conf;
> 	multipaths {
> 		multipath {
> 			wwid
> SEMC_____SYMMETRIX______790367051000
> 			alias                   sym051mp
> 		}
> 		<repeat for each LUN>
> 	}

The upstream version of scsi_id kept within udev is changed to support
retrieving a device UID from older model (4, 5, and 6) Symmetrix storage
arrays via the new scsi_id option "pre-spc3-83".  Red Hat may have a version
of the udev RPM for update 2 with this change.

Setting up the Symmetrix device entry in /etc/multipath.conf to also use
this option "-ppre-spc3-83" will cause dm multipath to generate mapped
device names for Symmetrix logical units which do not have the vendor/model
prefix.

Both of these changes are in SuSE SLES 9 SP3 and it works as stated above.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* RE: Multipathing with RHEL4 U2 on EMC DMX
@ 2006-02-13 16:53 Child, David
  0 siblings, 0 replies; 8+ messages in thread
From: Child, David @ 2006-02-13 16:53 UTC (permalink / raw)
  To: dm-devel

A quick update; I noticed that the string I was using to create the
multipath device was actually for a failover setup, not multibus. I had
been using:

   # echo "0 141419520 multipath 0 0 2 1 round-robin 0 1 1 8:48 1000
round-robin 0 1 1 8:176 1000" | dmsetup create dm2

From what I can see on Christophe's wiki it should have been the
following to get a multibus configuration:

   # echo "0 141419520 multipath 0 0 1 1 round-robin 0 2 1 8:48 1000
8:176 1000" | dmsetup create dm2

The output of 'multipath -l' for this device now appears as;

   dm2 ()
   [size=67 GB][features="0"][hwhandler="0"]
   \_ round-robin 0 [enabled]
    \_ 0:0:0:6  sdd 8:48  [active][ready]
    \_ 1:0:0:6  sdl 8:176 [active][ready]

I'm not sure if this will fix any of my issues (primarily the LUN
dropping off), but wanted to send in this update since my original post
had mentioned that I had been thinking about using "failover" instead of
"multibus". In reality I was using "failover". I'll see how it goes with
my multibus setup, but I'm still curious how you get the settings in
/etc/multipath to work. I tried changing the values under the "defaults"
section for 'scsi_id' as seen below, but it still keeps using the same
command as before.


Update: Setting this device for 'multibus' (as listed above) seemed to
make matters worse. Quickly after running any I/O over the multipath
device knocked it offline. I put it back to my original setup (using the
first string I listed) and was able to write quite a bit of data to the
device before it was knocked offline.

Thanks,
David


David Child
Email  David.Child@ps.net


_____________________________________________ 
From: 	Child, David  
Sent:	Friday, February 10, 2006 8:48 AM
To:	'dm-devel@redhat.com'
Subject:	[dm-devel] Multipathing with RHEL4 U2 on EMC DMX

Hello,

I've just recently connected some HP BL20p G3 blades running RHEL4 U2 up
to a DMX2000 (via McData switches). We didn't get PowerPath and intended
to use device-mapper multipathing. I was able to get things up for the
most part and get devices defined, but have to do that manually. I've
run into a few issues/concerns that I was hoping someone had run across;

Kernel: 2.6.9-22.Elsmp
Multipath tools: multipath-tools-0.4.6.1-1
Device Mapper: device-mapper-1.01.05-01

1. When running 'multipath -v3' I get errors from the getuid_callout
string; "error calling out scsi_id -g -ppre-spc3-83 -u -s /block/sdb".
It doesn't like the "-ppre-spc3-83" part. After some research it appears
that for the DMX (Symmetrix) a more appropriate string would be
"/sbin/scsi_id -g -p 0x80 -u -s /block/sdb". I tried adding that into
the 'defaults' section of /etc/multipath.conf, but it doesn't appear to
pick it up. I've tried restarting multipathd, rebooting, etc. Is there
anyway to get it to take this string? I believe that is part of the
problem I'm having with the next item (#2).

2. In order to have multipath working for my EMC devices I have to
manually create them on system reboot. I simply created a new startup
script for this. Basically I just do; 'echo "0 17677440 multipath 0 0 2
1 round-robin 0 1 1 8:112 1000 round-robin 0 1 1 8:240 1000" | dmsetup
create dm0' for each device. Is that normal to have to do that or is
there a way to do this automatically? I would suspect it has to do with
having a hardware_handler. I thought about the dm-emc handler, but that
appears to only work for the CX/AX/FC family (i.e. Clariion) of arrays
which work nothing like the Symmetrix. Perhaps if I could get the
getuid_callout string working that would help.

3. Early this morning there was a problem on one of the multipath
devices used for Oracle ASM;

	SCSI error : <0 0 0 6> return code = 0x20000
	end_request: I/O error, dev sdd, sector 64078960
	end_request: I/O error, dev sdd, sector 64078961
	device-mapper: dm-multipath: Failing path 8:48.
	SCSI error : <1 0 0 6> return code = 0x20000
	end_request: I/O error, dev sdl, sector 34888112
	end_request: I/O error, dev sdl, sector 34888113
	device-mapper: dm-multipath: Failing path 8:176.

'multipath -l' showed the device as;

	dm2 ()
	[size=67 GB][features="0"][hwhandler="0"]
	\_ round-robin 0 [enabled]
	 \_ 0:0:0:6  sdd 8:48  [failed][ready]
	\_ round-robin 0 [enabled]
	 \_ 1:0:0:6  sdl 8:176 [failed][ready]

The LUNs on this server are shared between three servers and the other
two remained on-line so I know the LUN or paths to the array didn't go
out. Since the other LUNs on this server remained active I know I didn't
loose any HBA connectivity either. The DBAs said they were writing a
bunch of data to it when it dropped off line. I ran a few 'multipath'
and 'dmsetup status' commands to see what was up and it came back online
(it had been "failed" from ~3am to 7am).

Should I try using "failover" instead of "multibus" for my
"path_grouping_policy"? I would like to have it load balance, but
failover is more important.

Sorry for the long-winded post.

Any help would be appreciated.

Thanks,
David

David Child
Email  David.Child@ps.net.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* RE: Multipathing with RHEL4 U2 on EMC DMX
@ 2006-02-10 21:39 Child, David
  0 siblings, 0 replies; 8+ messages in thread
From: Child, David @ 2006-02-10 21:39 UTC (permalink / raw)
  To: dm-devel


[-- Attachment #1.1: Type: text/plain, Size: 4984 bytes --]

A quick update; I noticed that the string I was using to create the
multipath device was actually for a failover setup, not multibus. I had
been using:

   # echo "0 141419520 multipath 0 0 2 1 round-robin 0 1 1 8:48 1000
round-robin 0 1 1 8:176 1000" | dmsetup create dm2

From what I can see on Christophe's wiki it should have been the
following to get a multibus configuration:

   # echo "0 141419520 multipath 0 0 1 1 round-robin 0 2 1 8:48 1000
8:176 1000" | dmsetup create dm2

The output of 'multipath -l' for this device now appears as;

   dm2 ()
   [size=67 GB][features="0"][hwhandler="0"]
   \_ round-robin 0 [enabled]
    \_ 0:0:0:6  sdd 8:48  [active][ready]
    \_ 1:0:0:6  sdl 8:176 [active][ready]

I'm not sure if this will fix any of my issues (primarily the LUN
dropping off), but wanted to send in this update since my original post
had mentioned that I had been thinking about using "failover" instead of
"multibus". In reality I was using "failover". I'll see how it goes with
my multibus setup, but I'm still curious how you get the settings in
/etc/multipath to work. I tried changing the values under the "defaults"
section for 'scsi_id' as seen below, but it still keeps using the same
command as before.

Thanks,
David

David Child
Email  David.Child@ps.net


> _____________________________________________ 
> From: 	Child, David  
> Sent:	Friday, February 10, 2006 8:48 AM
> To:	'dm-devel@redhat.com'
> Subject:	[dm-devel] Multipathing with RHEL4 U2 on EMC DMX
> 
> Hello,
> 
> I've just recently connected some HP BL20p G3 blades running RHEL4 U2
> up to a DMX2000 (via McData switches). We didn't get PowerPath and
> intended to use device-mapper multipathing. I was able to get things
> up for the most part and get devices defined, but have to do that
> manually. I've run into a few issues/concerns that I was hoping
> someone had run across;
> 
> Kernel: 2.6.9-22.Elsmp
> Multipath tools: multipath-tools-0.4.6.1-1
> Device Mapper: device-mapper-1.01.05-01
> 
> 1. When running 'multipath -v3' I get errors from the getuid_callout
> string; "error calling out scsi_id -g -ppre-spc3-83 -u -s /block/sdb".
> It doesn't like the "-ppre-spc3-83" part. After some research it
> appears that for the DMX (Symmetrix) a more appropriate string would
> be "/sbin/scsi_id -g -p 0x80 -u -s /block/sdb". I tried adding that
> into the 'defaults' section of /etc/multipath.conf, but it doesn't
> appear to pick it up. I've tried restarting multipathd, rebooting,
> etc. Is there anyway to get it to take this string? I believe that is
> part of the problem I'm having with the next item (#2).
> 
> 2. In order to have multipath working for my EMC devices I have to
> manually create them on system reboot. I simply created a new startup
> script for this. Basically I just do; 'echo "0 17677440 multipath 0 0
> 2 1 round-robin 0 1 1 8:112 1000 round-robin 0 1 1 8:240 1000" |
> dmsetup create dm0' for each device. Is that normal to have to do that
> or is there a way to do this automatically? I would suspect it has to
> do with having a hardware_handler. I thought about the dm-emc handler,
> but that appears to only work for the CX/AX/FC family (i.e. Clariion)
> of arrays which work nothing like the Symmetrix. Perhaps if I could
> get the getuid_callout string working that would help.
> 
> 3. Early this morning there was a problem on one of the multipath
> devices used for Oracle ASM;
> 
> 	SCSI error : <0 0 0 6> return code = 0x20000
> 	end_request: I/O error, dev sdd, sector 64078960
> 	end_request: I/O error, dev sdd, sector 64078961
> 	device-mapper: dm-multipath: Failing path 8:48.
> 	SCSI error : <1 0 0 6> return code = 0x20000
> 	end_request: I/O error, dev sdl, sector 34888112
> 	end_request: I/O error, dev sdl, sector 34888113
> 	device-mapper: dm-multipath: Failing path 8:176.
> 
> 'multipath -l' showed the device as;
> 
> 	dm2 ()
> 	[size=67 GB][features="0"][hwhandler="0"]
> 	\_ round-robin 0 [enabled]
> 	 \_ 0:0:0:6  sdd 8:48  [failed][ready]
> 	\_ round-robin 0 [enabled]
> 	 \_ 1:0:0:6  sdl 8:176 [failed][ready]
> 
> The LUNs on this server are shared between three servers and the other
> two remained on-line so I know the LUN or paths to the array didn't go
> out. Since the other LUNs on this server remained active I know I
> didn't loose any HBA connectivity either. The DBAs said they were
> writing a bunch of data to it when it dropped off line. I ran a few
> 'multipath' and 'dmsetup status' commands to see what was up and it
> came back online (it had been "failed" from ~3am to 7am).
> 
> Should I try using "failover" instead of "multibus" for my
> "path_grouping_policy"? I would like to have it load balance, but
> failover is more important.
> 
> Sorry for the long-winded post.
> 
> Any help would be appreciated.
> 
> Thanks,
> David
> 
> David Child
> Email  David.Child@ps.net.
> 

[-- Attachment #1.2: Type: text/html, Size: 9056 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread
* Multipathing with RHEL4 U2 on EMC DMX
@ 2006-02-10 14:48 Child, David
  2006-02-15 19:52 ` Brian Long
  2006-02-16 21:37 ` Bernd Zeimetz
  0 siblings, 2 replies; 8+ messages in thread
From: Child, David @ 2006-02-10 14:48 UTC (permalink / raw)
  To: dm-devel


[-- Attachment #1.1: Type: text/plain, Size: 3290 bytes --]

Hello,

I've just recently connected some HP BL20p G3 blades running RHEL4 U2 up
to a DMX2000 (via McData switches). We didn't get PowerPath and intended
to use device-mapper multipathing. I was able to get things up for the
most part and get devices defined, but have to do that manually. I've
run into a few issues/concerns that I was hoping someone had run across;

Kernel: 2.6.9-22.Elsmp
Multipath tools: multipath-tools-0.4.6.1-1
Device Mapper: device-mapper-1.01.05-01

1. When running 'multipath -v3' I get errors from the getuid_callout
string; "error calling out scsi_id -g -ppre-spc3-83 -u -s /block/sdb".
It doesn't like the "-ppre-spc3-83" part. After some research it appears
that for the DMX (Symmetrix) a more appropriate string would be
"/sbin/scsi_id -g -p 0x80 -u -s /block/sdb". I tried adding that into
the 'defaults' section of /etc/multipath.conf, but it doesn't appear to
pick it up. I've tried restarting multipathd, rebooting, etc. Is there
anyway to get it to take this string? I believe that is part of the
problem I'm having with the next item (#2).

2. In order to have multipath working for my EMC devices I have to
manually create them on system reboot. I simply created a new startup
script for this. Basically I just do; 'echo "0 17677440 multipath 0 0 2
1 round-robin 0 1 1 8:112 1000 round-robin 0 1 1 8:240 1000" | dmsetup
create dm0' for each device. Is that normal to have to do that or is
there a way to do this automatically? I would suspect it has to do with
having a hardware_handler. I thought about the dm-emc handler, but that
appears to only work for the CX/AX/FC family (i.e. Clariion) of arrays
which work nothing like the Symmetrix. Perhaps if I could get the
getuid_callout string working that would help.

3. Early this morning there was a problem on one of the multipath
devices used for Oracle ASM;

	SCSI error : <0 0 0 6> return code = 0x20000
	end_request: I/O error, dev sdd, sector 64078960
	end_request: I/O error, dev sdd, sector 64078961
	device-mapper: dm-multipath: Failing path 8:48.
	SCSI error : <1 0 0 6> return code = 0x20000
	end_request: I/O error, dev sdl, sector 34888112
	end_request: I/O error, dev sdl, sector 34888113
	device-mapper: dm-multipath: Failing path 8:176.

'multipath -l' showed the device as;

	dm2 ()
	[size=67 GB][features="0"][hwhandler="0"]
	\_ round-robin 0 [enabled]
	 \_ 0:0:0:6  sdd 8:48  [failed][ready]
	\_ round-robin 0 [enabled]
	 \_ 1:0:0:6  sdl 8:176 [failed][ready]

The LUNs on this server are shared between three servers and the other
two remained on-line so I know the LUN or paths to the array didn't go
out. Since the other LUNs on this server remained active I know I didn't
loose any HBA connectivity either. The DBAs said they were writing a
bunch of data to it when it dropped off line. I ran a few 'multipath'
and 'dmsetup status' commands to see what was up and it came back online
(it had been "failed" from ~3am to 7am).

Should I try using "failover" instead of "multibus" for my
"path_grouping_policy"? I would like to have it load balance, but
failover is more important.

Sorry for the long-winded post.

Any help would be appreciated.

Thanks,
David

David Child
Email  David.Child@ps.net.


[-- Attachment #1.2: Type: text/html, Size: 5890 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-02-16 22:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-16 21:09 Multipathing with RHEL4 U2 on EMC DMX Child, David
2006-02-16 21:45 ` Bernd Zeimetz
  -- strict thread matches above, loose matches on Subject: below --
2006-02-16 22:05 egoggin
2006-02-13 16:53 Child, David
2006-02-10 21:39 Child, David
2006-02-10 14:48 Child, David
2006-02-15 19:52 ` Brian Long
2006-02-16 21:37 ` Bernd Zeimetz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.