Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Device-mapper Development (http://www.linux-archive.org/device-mapper-development/)
-   -   configure MD3000 episode 2 (http://www.linux-archive.org/device-mapper-development/267246-configure-md3000-episode-2-a.html)

Thomas Witzel 03-20-2009 11:54 PM

configure MD3000 episode 2
 
I have a Dell NX1950 with a MD3000 running ubuntu server 8.04 . With
the help of this list I managed to configure the RAID etc. However
there is one remaining problem. udev doesn't seem to recognize this
setup. After every reboot I have to manually create the /dev/dm-*
devices with mknod and run kpartx to make the partitions show up. Can
someone please hint to me where I get the appropriate udev scripts ?
Ubuntu does have dmapper and multipath related scripts in the udev
directory, but they don't seem to be working for me.

Thank you so much,
Thomas Witzel

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Konrad Rzeszutek 03-23-2009 01:31 PM

configure MD3000 episode 2
 
On Fri, Mar 20, 2009 at 08:54:27PM -0400, Thomas Witzel wrote:
> I have a Dell NX1950 with a MD3000 running ubuntu server 8.04 . With
> the help of this list I managed to configure the RAID etc. However
> there is one remaining problem. udev doesn't seem to recognize this
> setup. After every reboot I have to manually create the /dev/dm-*
> devices with mknod and run kpartx to make the partitions show up. Can
> someone please hint to me where I get the appropriate udev scripts ?

You can drop this in your udev/rules.d directory:

> cat /etc/udev/rules.d/95-mpdc.rules
RUN+="socket:/org/kernel/dm/multipath_event"


Obviously you need to have your multipathd to start _before_ your
iSCSI daemon.

> Ubuntu does have dmapper and multipath related scripts in the udev
> directory, but they don't seem to be working for me.
>
> Thank you so much,
> Thomas Witzel
>
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Thomas Witzel 03-23-2009 02:44 PM

configure MD3000 episode 2
 
Thanks, I added that. But it didn't change anything. I'm not sure what
you want me to do with iscsi. I don't think I have an iscsi device. I
have heard about the MD3000i before, but thats not what I have. I
think I have a MD3000 (without i) connected via Symbios Logic SAS1068
PCI-X Fusion-MPT SAS controller.

Thomas

On Mon, Mar 23, 2009 at 10:31 AM, Konrad Rzeszutek
<konrad@virtualiron.com> wrote:
> On Fri, Mar 20, 2009 at 08:54:27PM -0400, Thomas Witzel wrote:
>> I have a Dell NX1950 with a MD3000 running ubuntu server 8.04 . With
>> the help of this list I managed to configure the RAID etc. However
>> there is one remaining problem. udev doesn't seem to recognize this
>> setup. After every reboot I have to manually create the /dev/dm-*
>> devices with mknod and run kpartx to make the partitions show up. Can
>> someone please hint to me where I get the appropriate udev scripts ?
>
> You can drop this in your udev/rules.d directory:
>
>> cat /etc/udev/rules.d/95-mpdc.rules
> RUN+="socket:/org/kernel/dm/multipath_event"
>
>
> Obviously you need to have your multipathd to start _before_ your
> iSCSI daemon.
>
>> Ubuntu does have dmapper and multipath related scripts in the udev
>> directory, but they don't seem to be working for me.
>>
>> Thank you so much,
>> Thomas Witzel
>>
>> --
>> dm-devel mailing list
>> dm-devel@redhat.com
>> https://www.redhat.com/mailman/listinfo/dm-devel
>
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
>

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Thomas Witzel 03-23-2009 08:05 PM

configure MD3000 episode 2
 
I'm now looking at the udev monitor and also set the loglevel to debug
and I can see that udev is processing the multipath events, hence
creating the /dev/mapper entries (but not the partition entries). But
there is never anything called that would create the /dev/dm-* devices
and the 95-kpartx rule is also never called it seems.
I have now rigged it to run a script on boot that calls mkdnod and
kpartx, but of course I'd still like udev support. I have not been
able to get any answer from ubuntu guys, so is it a fact that
multipath is basically not supported under ubuntu ? What would be the
next best distribution thats free of annual license fees ?

Thank you very much again,
Thomas


On Mon, Mar 23, 2009 at 11:44 AM, Thomas Witzel <witzel.thomas@gmail.com> wrote:
> Thanks, I added that. But it didn't change anything. I'm not sure what
> you want me to do with iscsi. I don't think I have an iscsi device. I
> have heard about the MD3000i before, but thats not what I have. I
> think I have a MD3000 (without i) connected via Symbios Logic SAS1068
> PCI-X Fusion-MPT SAS controller.
>
> Thomas
>
> On Mon, Mar 23, 2009 at 10:31 AM, Konrad Rzeszutek
> <konrad@virtualiron.com> wrote:
>> On Fri, Mar 20, 2009 at 08:54:27PM -0400, Thomas Witzel wrote:
>>> I have a Dell NX1950 with a MD3000 running ubuntu server 8.04 . With
>>> the help of this list I managed to configure the RAID etc. However
>>> there is one remaining problem. udev doesn't seem to recognize this
>>> setup. After every reboot I have to manually create the /dev/dm-*
>>> devices with mknod and run kpartx to make the partitions show up. Can
>>> someone please hint to me where I get the appropriate udev scripts ?
>>
>> You can drop this in your udev/rules.d directory:
>>
>>> cat /etc/udev/rules.d/95-mpdc.rules
>> RUN+="socket:/org/kernel/dm/multipath_event"
>>
>>
>> Obviously you need to have your multipathd to start _before_ your
>> iSCSI daemon.
>>
>>> Ubuntu does have dmapper and multipath related scripts in the udev
>>> directory, but they don't seem to be working for me.
>>>
>>> Thank you so much,
>>> Thomas Witzel
>>>
>>> --
>>> dm-devel mailing list
>>> dm-devel@redhat.com
>>> https://www.redhat.com/mailman/listinfo/dm-devel
>>
>> --
>> dm-devel mailing list
>> dm-devel@redhat.com
>> https://www.redhat.com/mailman/listinfo/dm-devel
>>
>

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Konrad Rzeszutek 03-24-2009 01:06 PM

configure MD3000 episode 2
 
On Mon, Mar 23, 2009 at 05:05:37PM -0400, Thomas Witzel wrote:
> I'm now looking at the udev monitor and also set the loglevel to debug
> and I can see that udev is processing the multipath events, hence
> creating the /dev/mapper entries (but not the partition entries). But

The mechanism that does this is a bit more complex. Let me explain
to you and hopefully that will help you out.

When an HBA inits, it ends up calling a bunch of internal sd.c routines
which end up creating uevents (and of course setup the SysFS structures).
There are usually four sets of them:

1) device_add creates this:

[add@/devices/pci0000:00/0000:00:07.0/0000:04:00.3/0000:0a:01.0/0000:0b:07.0/host9/rport-9:0-17/target9:0:0/9:0:0:15]
[ACTION=add]
[DEVPATH=/devices/pci0000:00/0000:00:07.0/0000:04:00.3/0000:0a:01.0/0000:0b:07.0/host9/rport-9:0-17/target9:0:0/9:0:0:15]
[SUBSYSTEM=scsi]
[SEQNUM=8969]
[PHYSDEVBUS=scsi]
[PHYSDEVDRIVER=sd]

2) sd_probe creates this guy:

[add@/class/scsi_disk/9:0:0:15]
[ACTION=add]
[DEVPATH=/class/scsi_disk/9:0:0:15]
[SUBSYSTEM=scsi_disk]
[SEQNUM=9088]
[PHYSDEVPATH=/devices/pci0000:00/0000:00:07.0/0000:04:00.3/0000:0a:01.0/0000:0b:07.0/host9/rport-9:0-17/target9:0:0/9:0:0:15]
[PHYSDEVBUS=scsi]
[PHYSDEVDRIVER=sd]

3) add_disk creates this one:

add@/block/sdo]
[ACTION=add]
[DEVPATH=/block/sdo]
[SUBSYSTEM=block]
[SEQNUM=9332]
[MINOR=224]
[MAJOR=8]
[PHYSDEVPATH=/devices/pci0000:00/0000:00:07.0/0000:04:00.3/0000:0a:01.0/0000:0b:07.0/host9/rport-9:0-17/target9:0:0/9:0:0:15]
[PHYSDEVBUS=scsi]
[PHYSDEVDRIVER=sd]

4) and sg_add this one:

[add@/class/scsi_generic/sg15]
[ACTION=add]
[DEVPATH=/class/scsi_generic/sg15]
[SUBSYSTEM=scsi_generic]
[SEQNUM=9110]
[PHYSDEVPATH=/devices/pci0000:00/0000:00:07.0/0000:04:00.3/0000:0a:01.0/0000:0b:07.0/host9/rport-9:0-17/target9:0:0/9:0:0:15]
[PHYSDEVBUS=scsi]
[PHYSDEVDRIVER=sd]
[MAJOR=21]
[MINOR=15]

the kernel injects them in a netlink (NETLINK_KOBJECT_UEVENT) - I've attached a small C code
that grabs them. At that point the block disk is now usuable and userspace code can
access it by the major:minor numbers.

udev listens to this netlink and based on the udev rules execute them. But there are rules
in there that will short-circuit these uevents. If you see 'RUN=" that means it is done and won't
pass it on to the next one. If you see 'RUN+=' that means process it and pass it on to next rules
that might match the criteria. Udev is the one that actually creates the /dev/sdo.

There might a udev rule in there that eats up the uevent before it is passed to the multipathd
netlink socket (/org/kernel/dm/multipath_event). You can make it less of chance if you
change the name of the rule to a low number, like 01-mpdc.rules.

Multipathd acts on the #3 uevent - it interrogates the block disk and then calls the
device mapper ioctl (/dev/mapper/control). The device mapper (kernel piece) sends its own
uevent, which looks as so:

[add@/block/dm-19]
[ACTION=add]
[DEVPATH=/block/dm-19]
[SUBSYSTEM=block]
[SEQNUM=9412]
[MINOR=19]
[MAJOR=253]

And udev then creates /dev/dm-19. It then would pass this on to multipathd socket. And
multipathd then does it stuff (which is to check the paths, make sure everthing
is right and kick of a checker path if it hasn't already been done).

> there is never anything called that would create the /dev/dm-* devices
> and the 95-kpartx rule is also never called it seems.

> I have now rigged it to run a script on boot that calls mkdnod and
> kpartx, but of course I'd still like udev support. I have not been

During bootup the udev isn't run. I think what gets called is the
HOTPLUG program, which is defined by default is "/sbin/hotplug".
Look in that program on the initrd image. It might not do any udev stuff at all
and just simple block disk creations.

> able to get any answer from ubuntu guys, so is it a fact that
> multipath is basically not supported under ubuntu ? What would be the
> next best distribution thats free of annual license fees ?

Huh? Ubuntu charges license fees on GPL code? I think you are confusing
what you are paying - it isn't license fee but support fee.
#include <sys/socket.h>
#include <linux/netlink.h>
#include <stdio.h>
#include <string.h>
#define MAX_PAYLOAD 1024 /* maximum payload size */
struct sockaddr_nl src_addr;
int sock_fd;
static char buff[MAX_PAYLOAD];
ssize_t buflen;

int
main ()
{
sock_fd = socket (PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);

memset (&src_addr, 0, sizeof (src_addr));
src_addr.nl_family = AF_NETLINK;
src_addr.nl_pid = getpid (); /* self pid */
src_addr.nl_groups = 0xffffffff;

printf ("Listen..
");
bind (sock_fd, (struct sockaddr *) &src_addr, sizeof (src_addr));
printf ("Receiving..
");
while (1)
{
buflen = recv (sock_fd, &buff, sizeof (buff), 0);
printf ("Got data: %d
", buflen);
int i, bufpos;
char *key;
for (i = 0, bufpos = 0; (bufpos < buflen) && i < MAX_PAYLOAD; i++)
{
key = &buff[bufpos];
printf ("[%s]
", key);
bufpos += strlen (key) + 1;
}
memset (&buff, 0, MAX_PAYLOAD);
}
/* Close Netlink Socket */
close (sock_fd);
return 0;
}
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Thomas Witzel 03-24-2009 01:24 PM

configure MD3000 episode 2
 
> Huh? Ubuntu charges license fees on GPL code? I think you are confusing
> what you are paying - it isn't license fee but support fee.

Thats not what I meant. I know that my hardware config does work out
of the box with RHEL, but we do not want to pay RHEL, and with ubuntu
I have not been able to get any of this to work for 3 weeks now and I
have not been able to get help/support on the issue, so I was asking
whether there is a different free distribution that won't put me
through these time consuming google/mailing list/debug orgies to get
some storage mounted.

Thomas

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Thomas Witzel 03-24-2009 01:29 PM

configure MD3000 episode 2
 
Okay, I'm looking for a man page:
man -k hotplug finds nothing

I'm looking for the file you mentioned:
ls /sbin/hotplug
ls: cannot access /sbin/hotplug: No such file or directory

I'm looking for a package to install related to hotplug:

apt-cache search hotplug
libxi-dev - X11 Input extension library (development headers)
libxi6 - X11 Input extension library
libxi6-dbg - X11 Input extension library (debug package)
fxload - Firmware download to EZ-USB devices
libaws-dev - Ada Web Server development files
atmel-firmware - Firmware for Atmel at76c50x wireless networking chips.

Seems like there is NOTHING on ubuntu even remotely called hotplug,
except /proc/sys/kernel/hotplug
which is not a configuration file.

What distribution are you using ?

Thomas

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Konrad Rzeszutek 03-24-2009 01:47 PM

configure MD3000 episode 2
 
On Tue, Mar 24, 2009 at 10:29:13AM -0400, Thomas Witzel wrote:
> Okay, I'm looking for a man page:
> man -k hotplug finds nothing
>
> I'm looking for the file you mentioned:
> ls /sbin/hotplug
> ls: cannot access /sbin/hotplug: No such file or directory
>
> I'm looking for a package to install related to hotplug:
>
> apt-cache search hotplug
> libxi-dev - X11 Input extension library (development headers)
> libxi6 - X11 Input extension library
> libxi6-dbg - X11 Input extension library (debug package)
> fxload - Firmware download to EZ-USB devices
> libaws-dev - Ada Web Server development files
> atmel-firmware - Firmware for Atmel at76c50x wireless networking chips.
>
> Seems like there is NOTHING on ubuntu even remotely called hotplug,
> except /proc/sys/kernel/hotplug

I am looking at my Debian box, and it looks as if the initrd
/scripts/init-premount/udev does start the udev daemon. And the
/etc/udev/rules.d has many rules.

Sorry for leading you on this chase.

> which is not a configuration file.

When you create the initrd, does the initrd have your multipathd and
its rules?


>
> What distribution are you using ?

RHEL, FC, Ubuntu, Debian and SLES. But I haven't dug in the initrd of Debian/Ubuntu
so I can't much help there :-(

>
> Thomas
>
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

malahal 03-24-2009 01:48 PM

configure MD3000 episode 2
 
Thomas Witzel [witzel.thomas@gmail.com] wrote:
> > Huh? Ubuntu charges license fees on GPL code? I think you are confusing
> > what you are paying - it isn\'t license fee but support fee.
>
> Thats not what I meant. I know that my hardware config does work out
> of the box with RHEL, but we do not want to pay RHEL, and with ubuntu
> I have not been able to get any of this to work for 3 weeks now and I
> have not been able to get help/support on the issue, so I was asking
> whether there is a different free distribution that won\'t put me
> through these time consuming google/mailing list/debug orgies to get
> some storage mounted.
>
> Thomas

Maybe CentOS ?

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Konrad Rzeszutek 03-24-2009 01:48 PM

configure MD3000 episode 2
 
On Tue, Mar 24, 2009 at 10:24:34AM -0400, Thomas Witzel wrote:
> > Huh? Ubuntu charges license fees on GPL code? I think you are confusing
> > what you are paying - it isn\'t license fee but support fee.
>
> Thats not what I meant. I know that my hardware config does work out
> of the box with RHEL, but we do not want to pay RHEL, and with ubuntu
> I have not been able to get any of this to work for 3 weeks now and I
> have not been able to get help/support on the issue, so I was asking
> whether there is a different free distribution that won\'t put me
> through these time consuming google/mailing list/debug orgies to get
> some storage mounted.

Since you say that RHEL works, you could use the clone of RHEL - CentOS.

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel


All times are GMT. The time now is 04:51 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.