initramfs/udev/mdadm/lvm2 integration

Jerome Haltom wasabi at larvalstage.net
Thu Sep 6 23:25:20 BST 2007


I withdraw my idea of changing it to 1 minute. It should be 5 minutes or
whatever was previously agreed upon for the previous reasons, like it
is. The rest of the message is still valid.

On Thu, 2007-09-06 at 17:14 -0500, Jerome Haltom wrote:
> Howdy. Currently on Gutsy, and also on Feisty, at least on the two
> system's I've installed in the last month, the initramfs boot procedure
> for booting off of LVM layered on top of MD does not work properly.
> Basically it appears that the MD volumes simply never get assembled.
> 
> Up until now I've been manually patching some scripts in local-top which
> simply run 'mdadm' and 'vgchange -a y' on their own to circumvent the
> issue. I'd like to spend some time this week to actually fix it
> properly, as I think it needs to be fixed.
> 
> Currently there are udev rules which look like they SHOULD work. They
> don't. Regardless whether they do or don't, they're not exactly
> adequate, in my opinion. The simply attempt to activate all non-degraded
> volumes.
> 
> What SHOULD happen is they should attempt to activate only non-degraded
> volumes until some timeout is reached, at which time they should
> activate degraded volumes too.
> 
> Even above and beyond that, they should only activate volumes which
> directly contribute to ROOT being made available. However, this is
> probably not the best solution until a similar procedure is in place for
> accomplishing the same procedure during mountall.sh. So I will forget
> about it for now.
> 
> I'm posting this for two reasons. First, I want to ask whatever parties
> are working on initramfs whether they are already working on solving
> this. Second, I'd like advice from those same people if not.
> 
> I think udev should only automatically activate non-degraded volumes.
> This should probably be a blanket rule of some sort. This is pretty easy
> to accomplish with MD since by default it only does this. Fixing the
> initramfs in this manner is probably a simple matter of just identifying
> why the udev rules aren't firing properly.
> 
> Second in that is the best way to deal with the degraded timeout.
> Currently the initramfs spins for 5 minutes or something before dropping
> to a console. I think I'd like to alter this so it only spins for 1
> minute or so, after which it attempts to execute scripts
> in /scripts/local-timeout. Basically this would introduce local-timeout
> along with local-top, local-bottom, and folks. mdadm will then install a
> file into here which force activates all arrays whether degraded or not.
> After this script the local script will attempt to find ROOT again, if
> not, it drops to console as usual, if so it can proceed.
> 
> Is this a good plan? Does anybody object?
> 
> -- 
> Jerome Haltom <jhaltom at isillc.com>
> Institution Solutions LLC
> 




More information about the ubuntu-devel mailing list