From: <ma...@op...> - 2005-04-22 04:17:46
|
On Mon, Apr 18, 2005 at 03:06:31PM +0200, Michel Bouissou's all... >BUT here we have a problem: As soon as we have pivoted root to the true >root fs, we are now using the /dev, and /dev/evms, that resides on the >true root fs. > >It can happen (and I saw it happen) that, for some reason, i.e. one disk >has been removed, the evms_activate that was performed from within initrd >didn't use the same device major/minor numbers for the >/dev/evms/rootfsvolume, as what is stored in /dev/evms/rootfsvolume on >disk. > >In this situation, as soon as pivot_root is performed, we have a mismatc= h, >and good chances that things go bad when rc.sysinit tries to determine if >the root fs needs to be fsck'd before remounting it RW... And of course >evms_activate cannot be performed before the root fs has been remounted >RW, which shouldn't happen before the root fs has been fsck'd, which >cannot be done as we have a device major/minor mismatch. Wouldnt /proc/sys/kernel/real-root-dev override this? >This situation not only can happen, but has good chances to happen at the >worst moment, i.e. after a disk died and the system was rebooted with one >less disk and out-of-sync RAIDs etc... > >I don't see no easy workaround for this, as the only "good" solution wou= ld >be to make sure that the /dev/evms directory on the "true" root fs match= es >what evms_activate did within the initrd, which means that it should be >rewritten by the initrd, which means the initrd would need to mount the >"true" root fs RW at some point, which means the initrd should take good >care of fscking it if needed before doing so... Uhh... > >The other possible solution would be to modify EVMS itself to make sure >that if we have an EVMS "true root fs", then it will ALWAYS get the same >device major/minor numbers, i.e. by reserving a given minor number for >this specific use. > >Comments ? If this is truly happening, I dont know how EVMS works AT ALL in that case, because all the 'work' it did to create a /dev/evms tree is now gone - pivotted away now that the real root is in place. Hmm. I think I know what the answer is here - Kevin has mentioned this before - emvs_activate has to run again very early in the boot sequence, in fact before the root fs fsck, to ensure all the /dev stuff is=20 recreated. I didnt understand why at the time, but in light of what you bring up here, now I understand. Which begs the question - why arent we fscking the root FS while we're in the initrd? /kc >--=20 >Michel Bouissou <mi...@bo...> OpenPGP ID 0xDDE8AC6E > > > > > >------------------------------------------------------- >SF email is sponsored by - The IT Product Guide >Read honest & candid reviews on hundreds of IT Products from real users. >Discover which products truly live up to the hype. Start reading now. >http://ads.osdn.com/?ad_ide95&alloc_id=14396&op=3Dclick >_______________________________________________ >Evms-devel mailing list >Evm...@li... >To subscribe/unsubscribe, please visit: >https://lists.sourceforge.net/lists/listinfo/evms-devel |