On Tue, Nov 10, 2009 at 10:20:35AM +0200, Pasi Kärkkäinen wrote:
On Mon, Nov 09, 2009 at 10:55:48AM -0800, Christopher Hunt wrote:
Pasi, Thanks very much for the tip. That did give me some additional information:
Scanning and configuring dmraid supported devices Scanning logical volumes Reading all physical volumes. This may take a while... Activating logical volumes Volume group "virt01vg00" not found 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! This brings me back to suspecting the problem is in the different file structures. I'm still trying to wrap my head around the other replies in this thread.
Uhmm.. yeah. Sounds like the initrd image is wrong (not correct when running as Xen PV guest so it's not setting up the root device properly).
I recommend take a full backup of the KVM guest disk image, and then continue with these steps.
The easiest way should be, when still running under KVM, to do this in the guest:
- backup /etc/modprobe.conf: cp -a /etc/modprobe.conf /etc/modprobe.conf.backup.kvm
- edit /etc/modprobe.conf and remove scsi_hostadapter and eth0 lines
- add these lines:
alias eth0 xennet alias scsi_hostadapter xenblk
Those changes will make mkinitrd include the correct drivers to initrd image.
Now let's continue in the guest:
- backup /etc/fstab: cp -a /etc/fstab /etc/fstab.backup.kvm
- edit /etc/fstab
- rename /dev/sd* to /dev/xvd* (sda1 becomes xvda1)
Xen paravirtual guest disks will be called /dev/xvd*
Now, install kernel-xen: yum install kernel-xen
After installation check /boot/grub/grub.conf and verify that kernel-xen is the default entry. Also verify the root path kernel parameter is correct. Also check the initrd filename for kernel-xen, since we'll re-create the initrd image.
Then create a backup of the kernel-xen initrd image: cp -a /boot/initrd-2.6.18-version.img /boot/initrd-2.6.18-version-backup.img
Then re-create the kernel-xen initrd image, so we can verify it looks correct for a Xen guest:
mkinitrd -v -f /boot/initrd-2.6.18-version.img 2.6.18-version
From the mkinitrd output verify that it includes xenblk and xennet
drivers (as specified in /etc/modprobe.conf).
After this shutdown the KVM guest, copy the disk image to Xen host, create a Xen configuration file for the guest, and make it use pygrub bootloader to load grub settings, kernel and initrd from the guest disk. and try starting it..
(if it still fails, I recommend unpacking the initrd image [1], and reading the init script to see where it goes wrong).
And here's example /etc/xen/<guest> cfgfile:
name = "testvm" uuid = "9cf2267d-2513-b6b7-b9d9-19e1962c7bd6" maxmem = 1024 memory = 1024 vcpus = 1 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" disk = [ "tap:aio:/var/lib/xen/images/testvm.img,xvda,w" ] vif = [ "mac=00:16:1a:2a:ef:56,bridge=virbr0" ]
or if you're using LVM volumes as storage, then change tap:aio: to phy: Hopefully those help.
-- Pasi
Good luck :)
[1] mkdir /tmp/foo && cd /tmp/foo && zcat /boot/initrd-foo.img | cpio -i -d
On Sat, Nov 7, 2009 at 2:24 PM, Pasi Kärkkäinen <[1]pasik@iki.fi> wrote:
On Fri, Nov 06, 2009 at 11:49:41AM -0800, Christopher Hunt wrote: > First let me say that I'm not a sysadmin, but am simply wearing that hat > this week so please excuse my ignorance. I need to temporarily move some > virtual servers from a CentOS-KVM platform to a CentOS-XEN platform while > I do some upgrades to the CentOS box. I've created a local LV, and used > DD and SCP to transfer the block device from the VKM machine to the XEN > machine. For quite a while I struggled with the "Error: (2, 'Invalid > kernel', 'xc_dom_parse_elf_kernel: ELF image has no shstrtab\n')" error > but thanks to Nick Couchman from > [1][2]http://lists.xensource.com/archives/html/xen-users/2008-03/msg00603.html, > I've passed that. Now I'm stuck with a kernel panic situation. > Unfortunately the kernel panic error doesn't appear using "xm console" and > flashes so quickly through "virt-viewer" that I can't get any details. > Stop the guest and edit /etc/xen/<guest> cfgfile. Remove (or comment out) the vfb line, and then restart the guest. Now you get the full console output to "xm console". -- Pasi _______________________________________________ CentOS-virt mailing list [3]CentOS-virt@centos.org [4]http://lists.centos.org/mailman/listinfo/centos-virt
References
Visible links
- mailto:pasik@iki.fi
- http://lists.xensource.com/archives/html/xen-users/2008-03/msg00603.html
- mailto:CentOS-virt@centos.org
- http://lists.centos.org/mailman/listinfo/centos-virt
CentOS-virt mailing list CentOS-virt@centos.org http://lists.centos.org/mailman/listinfo/centos-virt
CentOS-virt mailing list CentOS-virt@centos.org http://lists.centos.org/mailman/listinfo/centos-virt