[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-users] mkinitrd problem when LVM volume group names differ between Dom0 and DomU
How can I make "mkinitrd" generate a correct ramdisk image when the LVM volume group names differ between the Dom0 and DomU? The details: In Dom0, the root filesystem is LVM in volume group "VGShark", as follows: # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VGShark-LogVol00 450G 119G 308G 28% / /dev/sda1 99M 45M 49M 48% /boot tmpfs 1.9G 0 1.9G 0% /dev/shm In the DomU, the root filesystem is LVM in volume group "VolGroup00". Back in Dom0, I run the following to create the initrd... #mkinitrd -f initrd-2.6.16.29-xen.img 2.6.16.29-xen...which produces the following (snippet) in the generated "init" file in the ramdisk image: echo Making device-mapper control node mkdmnod mkblkdevs echo Scanning logical volumes lvm vgscan --ignorelockingfailure echo Activating logical volumes lvm vgchange -ay --ignorelockingfailure VGShark resume /dev/VGShark/LogVol01 echo Creating root device. mkrootdev -t ext3 -o defaults,ro /dev/VGShark/LogVol00 echo Mounting root filesystem. mount /sysroot echo Setting up other filesystems. setuproot echo Switching to new root and running init. switchroot The DomU config file is: kernel = "/boot/vmlinuz-2.6.16.29-xen" ramdisk = "/boot/initrd-2.6.16.29-xen.img" root = "/dev/VolGroup00/LogVol00 ro" name = "minnow" memory = "512" disk = [ 'file:/var/vm/minnow/disk0.img,xvda,w' ] vif = [ 'mac=00:16:3e:00:e6:8f' ] uuid = "7e6aa8bb-37da-3a7f-e72e-63290fcf2713" ..which produces the following error at domU boot time: Making device-mapper control node Scanning logical volumes Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 Activating logical volumes Unable to find volume group "VGShark" Creating root device. Mounting root filesystem. mount: could not find filesystem '/dev/root' Setting up other filesystems. Setting up new root fs setuproot: moving /dev failed: No such file or directory no fstab.sys, mounting internal defaults setuproot: error mounting /proc: No such file or directory setuproot: error mounting /sys: No such file or directory Switching to new root and running init. unmounting old /dev unmounting old /proc unmounting old /sys switchroot: mount failed: No such file or directory Kernel panic - not syncing: Attempted to kill init! So -- Here is the /etc/fstab (in Dom0): #cat fstab /dev/VGShark/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 /dev/VGShark/LogVol01 swap swap defaults 0 0I copy this file to create fstab.domU, and change the references to VGShark to VolGroup00, which is: #cat fstab.domU /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 This matches exactly what DomU is expecting. I rebuild initrd with the following command: # mkinitrd -f --fstab=/etc/fstab.domU initrd-2.6.16.29-xen.img 2.6.16.29-xen...which produces the following (snippet) in the generated "init" file in the ramdisk image: mkblkdevs resume /dev/VolGroup00/LogVol01 echo Creating root device. mkrootdev -t ext3 -o defaults,ro /dev/VolGroup00/LogVol00 echo Mounting root filesystem. mount /sysroot echo Setting up other filesystems. setuproot echo Switching to new root and running init. switchrootI try again to boot the DomU with the same config file listed above and I get this error: Creating root device. Mounting root filesystem. mount: could not find filesystem '/dev/root' Setting up other filesystems. Setting up new root fs setuproot: moving /dev failed: No such file or directory no fstab.sys, mounting internal defaults setuproot: error mounting /proc: No such file or directory setuproot: error mounting /sys: No such file or directory Switching to new root and running init. unmounting old /dev unmounting old /proc unmounting old /sys switchroot: mount failed: No such file or directory Kernel panic - not syncing: Attempted to kill init! Next --I modify the generated "init" file in the ramdisk image to the following (replace VGShark with VolGroup00): mkdmnod mkblkdevs echo Scanning logical volumes lvm vgscan --ignorelockingfailure echo Activating logical volumes lvm vgchange -ay --ignorelockingfailure VolGroup00 resume /dev/VolGroup00/LogVol01 echo Creating root device. mkrootdev -t ext3 -o defaults,ro /dev/VolGroup/LogVol00 echo Mounting root filesystem. mount /sysroot echo Setting up other filesystems. setuproot echo Switching to new root and running init. switchroot I rebuild the initrd image, and change the ramdisk line in the domU config to: kernel = "/boot/vmlinuz-2.6.16.29-xen" ramdisk = "/boot/initrdDomU.img" root = "/dev/VolGroup00/LogVol00 ro" name = "minnow" memory = "512" disk = [ 'file:/var/vm/minnow/disk0.img,xvda,w' ] vif = [ 'mac=00:16:3e:00:e6:8f' ] uuid = "7e6aa8bb-37da-3a7f-e72e-63290fcf2713" ...and the DomU boots up! The conclusion I draw is that mkinitrd is not creating a good ramdisk image.How can I make mkinitrd generate a correct ramdisk image when the volume group names differ between the Dom0 and DomU? TIA, - Mike _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |