Bug#646900: [multipath-tools] Errors when Boot On SAN (IBM DS4700)

Guido Günther agx at sigxcpu.org
Wed Jan 4 18:55:37 UTC 2012


On Wed, Jan 04, 2012 at 07:09:14PM +0100, Laurent Bigonville wrote:
> Le Wed, 04 Jan 2012 23:02:23 +0530,
> Ritesh Raj Sarraf <rrs at debian.org> a écrit :
> 
> > On 01/04/2012 10:10 PM, Laurent Bigonville wrote:
> [...]
> > > I guess that Frido's script (or something similar) should be added
> > > in the main multipath-tools package (and not only in the -boot
> > > variant).
> > >
> > > What do you think?
> > If the hardware handler is set in the multipath.conf file, the
> > corresponding driver will be loaded. Yes, there will be a timing catch
> > on when the device discovery triggers (which in almost all cases will
> > be way before the start-up of multipathd daemon) and when the
> > multipathd daemon starts.
> > So this problem applies in both the cases.
> > 
> > We could either decide to run multipathd from within initrd. We'll
> > still need to ensure that every modification to multipath.conf does
> > propagate to initrd also.
> 
> This is not already what's happening, at least for the -boot variant?
> 
> > 
> > OR
> > 
> > Load all the handlers. Not the one that I like.
> > 
> > 
> > The simplest I can think of is to document these things, at least in
> > README.Debian.  Just ensure to load the hardware handler module for
> > your storage array. Such things can go into /etc/modules.
> 
> Well that was the first thing I tried (and Frido retried it also) and
> it was not enough as the load_module() function is called after the
> init-top scripts:
> 
> ====8<====/usr/share/initramfs-tools/init====8<===
> 
> maybe_break top
> 
> # Don't do log messages here to avoid confusing graphical boots
> run_scripts /scripts/init-top
> 
> maybe_break modules
> [ "$quiet" != "y" ] && log_begin_msg "Loading essential drivers"
> load_modules
> [ "$quiet" != "y" ] && log_end_msg
> 
> ====8<================8<====================8<===
> 
> Instead of loading all kernel modules, it could maybe be interesting
> to add a config file in /etc/initramfs-tools/conf.d/ to let the user
> select which hardware handler he wants to load before udev?

The local-top script already has this:

for module in ${MP_MODULES}; do
  if modprobe --syslog "$module"; then
    verbose && log_success_msg "loaded module ${module}."
  else
    log_failure_msg "failed to load module ${module}."
  fi
done
verbose && log_end_msg

with MP_MODULES="dm-multipath dm-emc" hardcoded so making this
configurable via /etc/initramfs-tools/conf.d/ sounds like a good way to
go.

Cheers,
 -- Guido





More information about the pkg-lvm-maintainers mailing list