All of lore.kernel.org
 help / color / mirror / Atom feed
* mpath_ctl observation + some novice questions
@ 2005-09-15 13:25 Ray Stell
  2005-09-15 14:42 ` Alasdair G Kergon
  2005-09-15 16:31 ` gistolero
  0 siblings, 2 replies; 5+ messages in thread
From: Ray Stell @ 2005-09-15 13:25 UTC (permalink / raw)
  To: dm-devel

I'm not a developer, but I thought I'd throw out this observation.

environment:
 - rhas4 U2 Beta - Linux pecan 2.6.9-16.EL #1 Mon Aug 15 19:58:49 EDT 2005 i686 i686 i386 GNU/Linux
 - multipath-tools-0.4.5.49.  
 - 2 QLogic PCI to Fibre Channel Host Adapters for QLA2340:
   Firmware version 3.03.15 IPX, Driver version 8.01.00b5-rh2
 - IBM ESS 2105F20 4 paths

When I used this command:  multipath -v3  
The cpu got eaten up by mpath_ctl and remains that way until reboot:

top - 21:14:55 up  3:51,  2 users,  load average: 4.18, 2.54, 1.06
Tasks:  68 total,   3 running,  65 sleeping,   0 stopped,   0 zombie
Cpu(s): 15.9% us, 84.1% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1554428k total,   244244k used,  1310184k free,    34268k buffers
Swap:  5116620k total,        0k used,  5116620k free,   119464k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 
 4202 root      15 -10  2324   92   72 R 99.7  0.0   4:34.19 mpath_ctl 
 4255 root      16   0  3344  928  744 R  0.3  0.1   0:00.05 top 
...

I was able to repeat this twice, but not a the third time.  I may
have something misconfigured since this is my first foray into
dm.  I'll be glad to supply any info of interest.  Thanks.

Next topic:  The number of scsi devices I'm seeing in my 
sand box is wrong.  I have 4 luns with 4 paths.  I'm only
seeing 14 devices, after one of the reboots, I only had 13.
Any clue why?

[root@pecan ~]# multipath -v2 -d
create: 1IBM_____2105____________50A22206
[size=19 GB][features="0"][hwhandler="0"]
\_ round-robin 0
  \_ 0:0:0:0 sda  8:0
  \_ 0:0:1:0 sde  8:64
  \_ 1:0:0:0 sdi  8:128
  \_ 1:0:1:0 sdm  8:192

create: 1IBM_____2105____________30A22206
[size=19 GB][features="0"][hwhandler="0"]
\_ round-robin 0
  \_ 0:0:0:1 sdb  8:16
  \_ 1:0:0:1 sdj  8:144
  \_ 1:0:1:1 sdn  8:208

create: 1IBM_____2105____________72622206
[size=19 GB][features="0"][hwhandler="0"]
\_ round-robin 0
  \_ 0:0:0:2 sdc  8:32
  \_ 0:0:1:2 sdg  8:96
  \_ 1:0:0:2 sdk  8:160
  \_ 1:0:1:2 sdo  8:224

create: 1IBM_____2105____________72722206
[size=19 GB][features="0"][hwhandler="0"]
\_ round-robin 0
  \_ 0:0:0:3 sdd  8:48
  \_ 1:0:0:3 sdl  8:176
  \_ 1:0:1:3 sdp  8:240

Next topic.  I'm a real dm novice user.  I have not
figured out how to create the disk devices and lvm fs.  Is there 
a doc on how to do this?  My guess is that I need 
to map the wwid in multipath.conf.  Is this demonstrated
somewhere?  Thanks.
============================================================
Ray Stell  stellr@vt.edu  (540) 231-4109  Tempus fugit  28^D

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

* Re: mpath_ctl observation + some novice questions
  2005-09-15 13:25 mpath_ctl observation + some novice questions Ray Stell
@ 2005-09-15 14:42 ` Alasdair G Kergon
  2005-09-17 22:41   ` christophe varoqui
  2005-09-15 16:31 ` gistolero
  1 sibling, 1 reply; 5+ messages in thread
From: Alasdair G Kergon @ 2005-09-15 14:42 UTC (permalink / raw)
  To: device-mapper development

On Thu, Sep 15, 2005 at 09:25:38AM -0400, Ray Stell wrote:
> I'm not a developer, but I thought I'd throw out this observation.
> 
> environment:
>  - rhas4 U2 Beta - Linux pecan 2.6.9-16.EL #1 Mon Aug 15 19:58:49 EDT 2005 i686 i686 i386 GNU/Linux
>  - multipath-tools-0.4.5.49.  

RPM (which?) or built from source tarball?

> The cpu got eaten up by mpath_ctl and remains that way until reboot:

The latest RPM is device-mapper-multipath-0.4.5-6.0.RHEL4
which contains a patch (attached) that should fix this.

(uxsock.c where this code came from may also have similar issues)

Alasdair
-- 
agk@redhat.com


--- multipath-tools-0.4.5.49/multipath/mpath_faker.c	2005-08-01 22:07:57.000000000 +0100
+++ multipath-tools-0.4.5.49.1/multipath/mpath_faker.c	2005-09-02 22:55:55.000000000 +0100
@@ -8,17 +8,22 @@
 #include "uxsock.h"
 
 /*
- * keep writing until its all sent
+ * keep writing until it's all sent
  */
-int write_all(int fd, const void *buf, size_t len)
+size_t write_all(int fd, const void *buf, size_t len)
 {
 	size_t total = 0;
+
 	while (len) {
-		int n = write(fd, buf, len);
+		ssize_t n = write(fd, buf, len);
 		if (n < 0) {
+			if ((errno == EINTR) || (errno == EAGAIN))
+				continue;
 			perror("failed to send message to multipathd");
 			return total;
 		}
+		if (!n)
+			return total;
 		buf = n + (char *)buf;
 		len -= n;
 		total += n;
@@ -30,19 +35,25 @@ int write_all(int fd, const void *buf, s
 /*
  * keep reading until its all read
  */
-int read_all(int fd, void *buf, size_t len)
+size_t read_all(int fd, void *buf, size_t len)
 {
 	size_t total = 0;
+
 	while (len) {
-		int n = read(fd, buf, len);
+		ssize_t n = read(fd, buf, len);
 		if (n < 0) {
+			if ((errno == EINTR) || (errno == EAGAIN))
+				continue;
 			perror("failed to receive message from multipathd");
 			return total;
 		}
+		if (!n)
+			return total;
 		buf = n + (char *)buf;
 		len -= n;
 		total += n;
 	}
+
 	return total;
 }
 
@@ -57,7 +68,7 @@ int main(int argc, char **argv)
 {
 	int sock;
 	struct sockaddr_un sun;
-	int len;
+	size_t len;
 	char reply[6];
 
 	if (argc == 1 || (!strcmp(argv[1], "-h")) ||
@@ -103,6 +114,6 @@ int main(int argc, char **argv)
 		exit(1);
 	}
 	close(sock);
+
 	return 0;
 }
-	

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

* Re: mpath_ctl observation + some novice questions
@ 2005-09-15 16:07 Ray Stell
  0 siblings, 0 replies; 5+ messages in thread
From: Ray Stell @ 2005-09-15 16:07 UTC (permalink / raw)
  To: dm-devel; +Cc: agk

+Alasdair G Kergon <agk redhat com> wrote:

>RPM (which?) or built from source tarball?

source, from:

ftp://sources.redhat.com/pub/dm/multipath-tools/

> The latest RPM is device-mapper-multipath-0.4.5-6.0.RHEL4
> which contains a patch (attached) that should fix this.

where are these located?
============================================================
Ray Stell  stellr@vt.edu  (540) 231-4109  Tempus fugit  28^D

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

* Re: mpath_ctl observation + some novice questions
  2005-09-15 13:25 mpath_ctl observation + some novice questions Ray Stell
  2005-09-15 14:42 ` Alasdair G Kergon
@ 2005-09-15 16:31 ` gistolero
  1 sibling, 0 replies; 5+ messages in thread
From: gistolero @ 2005-09-15 16:31 UTC (permalink / raw)
  To: device-mapper development

Hi,

> Next topic.  I'm a real dm novice user.  I have not
> figured out how to create the disk devices and lvm fs.  Is there 
> a doc on how to do this?  My guess is that I need 
> to map the wwid in multipath.conf.  Is this demonstrated
> somewhere?  Thanks.

use a test environment, no production server!


startup-configuration:

1.) load dm-mapper and HBA kernel modules


2.) create partitions on each lun (e.g.: lun0 has two paths sda and sdb - 
"fdisk sda" creates the partitions for sda _and_ sdb) - you have to do this 
step _before_ creating multipath devices (kpartx in 
/etc/dev.d/block/multipath.dev reads this partition information)


3.) create /etc/multipath.conf

- check multipath.conf.annotated and multipath.conf.synthetic in the 
multipath-tools tarball
- get lun wwid's with "scsi_id -g -u -s /block/sd?"
- create a "multipath { ... }" section for each lun (define "wwid" and "alias")
- create a "device { ... }" section for your storage (see "TestedEnvironments" 
located at the multipath-tools homepage) - set "path_grouping_policy" and 
"prio_callout" (setting "prio_callout" is important. if you choose a wrong 
value, you will see nothing after starting multipath)


4.) start multipathd (debug with "-d" or "-v4" (syslog))


5.) run "multipath /dev/sd?" for each sd? device

multipath should create device-mapper table entries (see "dmsetup table"), 
block-device-files in /dev/mapper/ and links in /dev/ for the lun and for each 
partition

e.g.: you have created two partitions and your lun alias is "yellow" (defined 
in /etc/multipath.conf):

# dmsetup table
yellow1: ...
yellow: ...
yellow2: ...

# ls /dev/mapper/
yellow yellow1 yellow2 control

# ls -F /dev/yellow*
/dev/yellow@  /dev/yellow1@  /dev/yellow2@

and check "multipath [-v3] -ll"


6.) create filesystems and mount /dev/yellow1 and /dev/yellow2


you can delete the current configuration with "dmsetup remove yellow2; dmsetup 
remove yellow1; dmsetup remove yellow"

hope that helps
simon

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

* Re: mpath_ctl observation + some novice questions
  2005-09-15 14:42 ` Alasdair G Kergon
@ 2005-09-17 22:41   ` christophe varoqui
  0 siblings, 0 replies; 5+ messages in thread
From: christophe varoqui @ 2005-09-17 22:41 UTC (permalink / raw)
  To: device-mapper development

Applied upstream, thanks.

On jeu, 2005-09-15 at 15:42 +0100, Alasdair G Kergon wrote:
> On Thu, Sep 15, 2005 at 09:25:38AM -0400, Ray Stell wrote:
> > I'm not a developer, but I thought I'd throw out this observation.
> > 
> > environment:
> >  - rhas4 U2 Beta - Linux pecan 2.6.9-16.EL #1 Mon Aug 15 19:58:49 EDT 2005 i686 i686 i386 GNU/Linux
> >  - multipath-tools-0.4.5.49.  
> 
> RPM (which?) or built from source tarball?
> 
> > The cpu got eaten up by mpath_ctl and remains that way until reboot:
> 
> The latest RPM is device-mapper-multipath-0.4.5-6.0.RHEL4
> which contains a patch (attached) that should fix this.
> 
> (uxsock.c where this code came from may also have similar issues)
> 
> Alasdair
-- 
christophe varoqui <christophe.varoqui@free.fr>

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

end of thread, other threads:[~2005-09-17 22:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-15 13:25 mpath_ctl observation + some novice questions Ray Stell
2005-09-15 14:42 ` Alasdair G Kergon
2005-09-17 22:41   ` christophe varoqui
2005-09-15 16:31 ` gistolero
  -- strict thread matches above, loose matches on Subject: below --
2005-09-15 16:07 Ray Stell

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.