ZZZZOn Thu, 1 May 2008, Charles Marcus wrote:
In Gerry's scenario here, if the snapshot volume had NOT been on a ram
disk, would he have had the problem he had or not?
Here is the snip from Fedora/RHEL for activating the VG containing
the root filesystem (note: kernel modules and lvm command are contained in
initrd filesystem, and do not depend on /lib/modules/...):
...
echo "Loading dm-mod.ko module"
insmod /lib/dm-mod.ko
echo "Loading dm-mirror.ko module"
insmod /lib/dm-mirror.ko
echo "Loading dm-zero.ko module"
insmod /lib/dm-zero.ko
echo "Loading dm-snapshot.ko module"
insmod /lib/dm-snapshot.ko
echo Making device-mapper control node
mkdmnod
mkblkdevs
echo Scanning logical volumes
lvm vgscan --ignorelockingfailure
So right ^^^here^^^ is where we need to test if old snapshot was
read-only or read-write (how to do that? grep vgdisplay -v for some
value?)
echo Activating logical volumes
lvm vgchange -ay --ignorelockingfailure rootvg
...
This will fail if any of the physical volumes are missing. More logic
in initrd is required to boot with missing PVs.
So yes, a ram disk is guaranteed to be missing on reboot, and thus to
fail in the RH/Fedora distros. There is no problem taking snapshots
of the root fs otherwise. If there is a robust way to reduce
missing PVs automagically in the above script from initrd, Fedora could
use the contribution.