From Bugzilla Helper: User-Agent: Mozilla/4.79 [en] (X11; U; Linux 2.4.9-13custom i686) Description of problem: I have set up LVM which works nicely manually. When I reboot it appears that lvm is not present in /proc which results in vgscan and vgchange not being run due to: if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then action $"Setting up Logical Volume Management:" /sbin/vgscan && /sbin/vgchange -a y fi Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Set up LVM 2. Add to /etc/fstab 3. reboot Additional info: I'm not entirely sure that above steps are enough to reproduce the problem since I actually haven't rebooted earlier after setting up LVM. What initated this reboot was my 1 year old daughter hitting the power-off button which resulted in the ext3-filesystem being marked as dirty and hence I initated an integrity check on them. This might have had something to do with it....
I trust the holiday was good. What gives? :)
Is this reproducible? Do you never have LVM in /proc? Do you have it compiled as a module, and is it loaded in your initrd?
Never is a strong word, but yes, I have been able to reproduce this every time so far. LVM is compiled as a module, but is not my root partition. I'm using the RedHat 2.4.9-13 kernel (including initrd setup) but patched with LVM 1.0.1-rc4.
OK, what happens if you make your initrd with '--with=lvm-mod'?
Thank you. This indeed works. However, 1) I was under the impression that /lib/modules/* are used as soon as / is mounted rw? And 2) It is not included in 2.4.9-13 kernel while /etc/rc.d/rc.sysinit suggest the functionality works.
I'm having essentially the same problem with Skipjack-beta2 (initscripts 6.61-1). However, only my large data partitions are on LVM; my system partitions are accessible without LVM loaded so there should be no need to put LVM in the initrd. If I edit rc.sysinit and add a modprobe lvm-mod in the appropriate place, things work. If I instead remove the existence check for /proc/lvm, things also work. The presense of /etc/lvmtab, /sbin/vgchange and /sbin/vgscan should be enough to try activating the volume groups; with module autoloading, there is no reason to believe that /proc/lvm would exist before this. Since LVM is now in the kernel and the LVM tools are now included in the distribution, this should be enough to bump the severity to high (because my machines won't boot without modifications).
I am also seeing this problem, with RedHat 7.3. I put /home on a logical partition, and now my system will not boot! My solution: rm -f /boot/initrd-2.4.18-3.img mkinitrd --preload lvm-mod /boot/initrd-2.4.18-3.img 2.4.18-3 The preload is essential. I concur with tibbs.edu that this is a severe problem that should be fixed. Of course, I'd also like to see anaconda support LVM, so I could install and safely upgrade my system with all my file systems (perhaps sans /boot) and swap spaces as logical partitions...
I've got the same problem with RH7.3. /proc/lvm doesn't exist when rc.sysinit reaches the LVM initialisation section. When the fstab entries with some lvm's are being processed, lvm-mod is loaded into memory and /proc/lvm is created but now it's too late. The solution from toddr works fine for me too: mkinitrd --preload lvm-mod /boot/initrd-2.4.18-3.img 2.4.18-3 Thank you!
Same problem here, also fixed with an initrd image to load lvm-mod... Since lvm is compiled as a module, and /proc/lvm doesn't exist until you load lvm-mod, it doesn't make sense to check for /proc/lvm before initializing LVM. If rc.sysinit just runs "vgchange -ay", lvm-mod gets loaded automatically and everything works. No need to create a initrd image...
This bug is strongly related to Bug# 55460
If you do mkinitrd *without* the --preload, does it put LVM in the initrd?
*** Bug 65280 has been marked as a duplicate of this bug. ***
Created attachment 66204 [details] patch to load lvm-mod before initilising volume groups.
Okay.. so I was bitten by this too. Why can't lvm be like md? We don't need the md module in our initrd unless we're using md for our / filesystem. The same should hold true for the lvm module. md has a check like... if [ -f /etc/raidtab ]; then # Add raid devices [ -f /proc/mdstat ] || modprobe md >/dev/null 2>&1 fi ... before it checks for /proc/mdstat and sets up the raid devices. Why can't lvm do something similar like... if [ -f /etc/lvmtab ]; then # Add lvm devices [ -f /proc/lvm ] || modprobe lmv-mod >/dev/null 2>&1 fi ... with the rest remaining unchanged. Patch attached.
Something like this is in current CVS.
The correct work is that you create a new initscript rpm ! Why you close problem without modify initscript? (on rh7.2 errata nothing is change and in last release rh8.0 the package rpm is not patched)