Red Hat Bugzilla – Bug 439175
Volume groups not found on virtual block device
Last modified: 2008-04-03 14:38:55 EDT
I'm trying to boot a F9 beta image as guest using "if=virtio". I built a new
initrd inside the guest to include the virtio drivers an on boot the kernel
detects vda1 and vda2 correctly but then fails to find any volume groups.
Booting the image with the regular "media=disk" works fine.
Could someone from the virtualization team look at this?
Did this fix your problem?
Could it be that vgscan is not considering 'vda*' devices as possible physical
(In reply to comment #2)
> Did this fix your problem?
That was my initial problem but after rebuilding the initrd the kernel found the
virtual devices (vda1 and vda2) but now it still doesn't find the volume group.
Ok, I tweaked the initrd and added a "-vvv" to the vgscan which reveals the
"/dev/vda2: Skipping: Unrecognized LVM device type 252"
What version of the lvm2 RPM do you have - this should have been fixed a short
while ago according to the changelogs:
* Wed Mar 5 2008 Jeremy Katz <email@example.com> - 2.02.33-10
- recognize vio disks
The latest version in rawhide is lvm2-2.02.33-9.fc9.i386.
According to koji 2.02.33-10 never made it there:
Looks like Jeremy forgot to request the build after committing to CVS...
I rebuilt the lvm2 package with the sources from CVS
(sources.redhat.com:/cvs/lvm2), installed it on the guest and rebuilt the initrd
but the boot still fails with the same error.
Created attachment 300114 [details]
Fixed virtio block device patch
The current patch for virtio in cvs is broken. This fixes it. With this applied
i can successfully run 'pvcreate /dev/vda'
Created attachment 300115 [details]
Fix clvmd compilation
Oh and the lvm2 package does not actually compile under rawhide. It is missing
a #include <limits.h> in the clvmd.c file. This patch fixes that brokenness too
It appears that commits to the LVM package are restricted in Fedora, so someone
else will have to apply these and do a build...
With the two patches applied the guest now boots properly except for the
Mounting local filesystems: mount: special device
UUID=cd7b36bf-1578-44dd-857c-9a8a9c515580 does not exist
The fstab entry looks like this:
UUID=cd7b36bf-1578-44dd-857c-9a8a9c515580 /boot ext3 defaults 1 2
When I log in and try the respective command from rc.sysinit "mount -a -t
nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev" I don't get this error and
/boot is mounted properly.
Thanks Dan, applied both (insert grumble about device name changing here) and
Dennis -- the latter like a separate problem and should probably be filed separately
Closing this rawhide as Dennis already tested with the patches and had success.