[dm-devel] Device Mapper MultiPath

Konrad Rzeszutek konrad at virtualiron.com
Fri Apr 3 14:23:23 UTC 2009


On Thu, Apr 02, 2009 at 11:58:03PM +0200, christophe.varoqui at free.fr wrote:
> I can reproduce Andy's multipathd behaviour with scsi_debug (symmetrix arrays too)... only with the upstream directio checker. My guess is that the async code in there misbehaves. Needs review.

I saw this behavior as well on RHEL5U3 with the upstream multipath.
My fix was to replace all of the libaio calls with syscalls, as I attributed
the issue to libaio != kernel libaio, and left it at that.

Andy, are you using a recent version of libaio and kernel? Like
Fedora Core 10?
> 
> ----- Mail Original -----
> De: "Andy" <genanr at emsphone.com>
> À: "device-mapper development" <dm-devel at redhat.com>
> Envoyé: Jeudi 2 Avril 2009 23h50:08 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne
> Objet: Re: [dm-devel] Device Mapper MultiPath
> 
> On Thu, Apr 02, 2009 at 03:32:33PM -0400, Konrad Rzeszutek wrote:
> > On Thu, Apr 02, 2009 at 02:09:56PM -0500, Andy wrote:
> > > On Wed, Apr 01, 2009 at 04:31:08PM -0400, Konrad Rzeszutek wrote:
> > > > On Wed, Apr 01, 2009 at 03:08:41PM -0500, Andy wrote:
> > > > > On Tue, Mar 31, 2009 at 08:25:59PM -0400, Konrad Rzeszutek wrote:
> > > > > > On Tue, Mar 31, 2009 at 09:07:08PM -0300, Rodrigo Nascimento wrote:
> > > > > > > Hi All,
> > > > > > > 
> > > > > > > I'm a student of computer sciences and I'd like to collaborate with the
> > > > > > > development of the DM-MP.
> > > > > > > I know that maybe you received this kind of message during all time, but I
> > > > > > 
> > > > > > I think you are the first :-)
> > > > > > 
> > > > > > > really want to help, with anything.
> > > > > > 
> > > > > > Shakedown help would be nice. As in, trying to yank stuff underneath it, 
> > > > > > add new block disks, remove them, add them, remove them, edit the
> > > > > > multipath.conf file and issue 'reconfigure', resize the maps, 
> > > > > > then add 1000+LUNs, and while they are being added, start removing the
> > > > > > LUNs, then for extra fun call 'dmsetup remove_all' while in another
> > > > > > thread you run 'multipath'. Ooh, and see if there are any memory leaks
> > > > > > while this all is being done.
> > > > > > 
> > > > > 
> > > > > What I would really like to see is online resizing of non-partitioned dm
> > > > > block devices.  I would love to be able to resize an underlying dm-mp block
> > > > > device, and the just grow the filesystem without using a extra, un-needed,
> > > > 
> > > > Benjamin posted a CVS patch of this, that I've forward-ported to work with
> > > > the latest git. It is attached.
> > > > 
> > > > 
> > > 
> > > Thanks, I must have missed that post.  Unfortantly, I am having problems with
> > > multipathd in the latest git.  It fails all my paths and hangs.  It I go
> > 
> > Ugh. That doesn't bode well. Try running it with 'strace' to see if it is hanging
> > on the ioctl or what not.
> > 
> 
> The multipathd process is just sitting there polling, but I don't think it
> gets to a point where it can handle requests from an interactive version of
> itself.
> 
> I do see detecting or failing the paths in the log:
> 
> Apr 02 16:24:01 | sdc: ownership set to test1_vm1
> Apr 02 16:24:01 | sdc: not found in pathvec
> Apr 02 16:24:01 | sdc: mask = 0xc
> Apr 02 16:24:01 | sdc: path checker = directio (controller setting)
> Apr 02 16:24:01 | sdc: state = running
> Apr 02 16:24:01 | directio: starting new request
> Apr 02 16:24:01 | directio: async io getevents returns -14 (errno=No such file or directory)
> Apr 02 16:24:01 | directio: abort check on timeout
> Apr 02 16:24:01 | sdc: state = 2
> Apr 02 16:24:01 | sdc: checker msg is "directio checker reports path is down"
> Apr 02 16:24:01 | sde: ownership set to test1_vm1
> Apr 02 16:24:01 | sde: not found in pathvec
> Apr 02 16:24:01 | sde: mask = 0xc
> Apr 02 16:24:01 | sde: path checker = directio (controller setting)
> Apr 02 16:24:01 | sde: state = running
> Apr 02 16:24:01 | directio: starting new request
> Apr 02 16:24:01 | directio: async io getevents returns -14 (errno=No such file or directory)
> Apr 02 16:24:01 | directio: abort check on timeout
> Apr 02 16:24:01 | sde: state = 2
> Apr 02 16:24:01 | sde: checker msg is "directio checker reports path is down"
> Apr 02 16:24:01 | test1_vm1: pgfailover = -1 (internal default)
> Apr 02 16:24:01 | test1_vm1: pgpolicy = multibus (LUN setting)
> Apr 02 16:24:01 | test1_vm1: selector = round-robin 0 (LUN setting)
> Apr 02 16:24:01 | test1_vm1: features = 0 (controller setting)
> Apr 02 16:24:01 | test1_vm1: hwhandler = 0 (controller setting)
> Apr 02 16:24:01 | test1_vm1: rr_weight = 1 (controller setting)
> Apr 02 16:24:01 | test1_vm1: minio = 1 (LUN setting)
> Apr 02 16:24:01 | test1_vm1: no_path_retry = NONE (internal default)
> Apr 02 16:24:01 | pg_timeout = NONE (internal default)
> Apr 02 16:24:01 | test1_vm1: set ACT_NOTHING (no usable path)
> Apr 02 16:24:01 | sdb: ownership set to u01_vm1
> Apr 02 16:24:01 | sdb: not found in pathvec
> Apr 02 16:24:01 | sdb: mask = 0xc
> Apr 02 16:24:01 | sdb: path checker = directio (controller setting)
> Apr 02 16:24:01 | sdb: state = running
> Apr 02 16:24:01 | directio: starting new request
> Apr 02 16:24:01 | directio: async io getevents returns -14 (errno=No such file or directory)
> Apr 02 16:24:01 | directio: abort check on timeout
> Apr 02 16:24:01 | sdb: state = 2
> Apr 02 16:24:01 | sdb: checker 
> 
> Other than that, I did not see anything significant in the strace or the
> debugging messages.
> 
> Andy
> 
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
> 
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel




More information about the dm-devel mailing list