[dm-devel] [RFC][mpath-tools] path info cache

goggin, edward egoggin at emc.com
Wed Aug 3 14:07:14 UTC 2005


On Fri, 22 Jul 2005 00:02:57 +0200
christophe varoqui <christophe.varoqui at free.fr> wrote

> I just merged a quite invasive patch that needs commenting.
> 
> The patch explore a new solution to /sbin/multipath inefficiency wrt
> systems with lots of paths.
> 
> What did we have :
> ==================
> The previous attempt was the cache file plus hot/cold policy, 
> which was
> suboptimal in many ways :
> 
> - hard to get the security right
> - early userspace annoyances wrt umounted FS
> - needs to allocate a few bytes on FS
> - the 5 seconds hot to cold policy is not adequate for everyone (see
> recent Adic post)
> - hard to settle on an a consensual FS location for the file
> 
> 
> The proposed solution is : "/sbin/multipath asks the path cache to
> multipathd through its unix socket" (the same used for the CLI).
> When the ademon doesn't run, multipath has to do a full rescan.
> 
> What do we get :
> ================
> - security is easy
> - no more FS allocation to satisfy

> - The daemon has its pathvec always up-to-date, thanks to its
> event-driven model. No more hot/cold policy.

Sounds like a big win for multipath(8), both in terms of
device coherency and performance on large SANs.  Although,
you must now maintain both the slow and fast device discovery
code paths.

Also, this will increase the need to have the device portion
of the event-driven model work correctly, since simply
invoking multipath(8) will no longer simply restore paths
for which multipathd has no knowledge.  May want to have a
way to manually poke multipathd to get it to re-evaluate its
device configuration from scratch without having to simply
kill and restart it.  May have this feature already with the
UNIX domain socket interface.

> 
> What should be debated :
> ========================
> - settle on a FS socket location (currently 
> /var/cache/multipath/uxsock)
> - people who care about early userspace have now 2 options :
> 
> 	- No daemon in early userspace, and disable hotplug-triggered
> 	  multipath. /sbin/multipath is ran once.
> 
> 	- Start the daemon in early userspace, let multipath be
> 	  hotplug-triggered




More information about the dm-devel mailing list