Convert Centos HVM to PV

Convert Centos HVM to PV

Back


 

Follow these instructions to convert your Xen Centos HVM (Fuilly Virtualized) instance to a paravirtalized (PV) instance. This also works for physical machines.

Note that if you've installed a Base Centos or other Centos PV image, you do not need to follow this guide.

Reboot to a normal kernel/disable hvm pv modules if installed ! important otherwise initrd gets messed

Then install a kernel-xen via yum

Check the grub/boot: Comment out splashimage, add serial and terminal lines. Change kernel line to vlinuz (from delete module lines) make sure console=xvc0 is set.)

default=0
timeout=5
#splashimage=(hd0,0)/grub/splash.xpm.gz
serial --unit=0 --speed=9600
terminal --timeout=5 serial console
hiddenmenu
title CentOS (2.6.18-194.3.1.el5xen)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.3.1.el5xen ro root=LABEL=/ console=xvc0
        initrd /initrd-2.6.18-194.3.1.el5xen.img

Making the initrd

 
[root@centos5 boot]# rm -rf initrd-2.6.18-194.3.1.el5xen.img
[root@centos5 boot]# mkinitrd -v --with=xenblk --omit-scsi-modules --omit-raid-modules /boot/initrd-2.6.18-194.3.1.el5xen.img 2.6.18-194.3.1.el5xen
Creating initramfs
Looking for deps of module ehci-hcd
Looking for deps of module ohci-hcd
Looking for deps of module uhci-hcd
Looking for deps of module ext3: jbd 
Looking for deps of module jbd
Found root device hda3 for LABEL=/
Looking for driver for device hda3
Looking for deps of module ide:m-disk
Looking for deps of module pci:v00008086d00007010sv00005853sd00000001bc01sc01i80: scsi_mod libata ata_piix 
Looking for deps of module scsi_mod
Looking for deps of module libata: scsi_mod 
Looking for deps of module ata_piix: scsi_mod libata 
Looking for driver for device hda2
Looking for deps of module ide:m-disk
Looking for deps of module pci:v00008086d00007010sv00005853sd00000001bc01sc01i80: scsi_mod libata ata_piix 
Looking for deps of module ide-disk
Looking for deps of module dm-mem-cache
Looking for deps of module dm-region_hash: dm-mod dm-log 
Looking for deps of module dm-mod
Looking for deps of module dm-log: dm-mod 
Looking for deps of module dm-message
Looking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash 
Looking for deps of module xenblk
Using modules:  /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/usb/host/ehci-hcd.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/usb/host/ohci-hcd.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/usb/host/uhci-hcd.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/fs/jbd/jbd.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/fs/ext3/ext3.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/scsi/scsi_mod.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/ata/libata.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/ata/ata_piix.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-mem-cache.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-mod.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-log.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-region_hash.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-message.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-raid45.ko /lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/xen/blkfront/xenblk.ko
/sbin/nash -> /tmp/initrd.bD2173/bin/nash
/sbin/insmod.static -> /tmp/initrd.bD2173/bin/insmod
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/usb/host/ehci-hcd.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/ehci-hcd.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/usb/host/ohci-hcd.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/ohci-hcd.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/usb/host/uhci-hcd.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/uhci-hcd.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/fs/jbd/jbd.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/jbd.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/fs/ext3/ext3.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/ext3.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/scsi/scsi_mod.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/scsi_mod.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/ata/libata.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/libata.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/ata/ata_piix.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/ata_piix.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-mem-cache.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/dm-mem-cache.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-mod.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/dm-mod.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-log.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/dm-log.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-region_hash.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/dm-region_hash.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-message.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/dm-message.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/md/dm-raid45.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/dm-raid45.ko' [elf32-i386]
copy from `/lib/modules/2.6.18-194.3.1.el5xen/kernel/drivers/xen/blkfront/xenblk.ko' [elf32-i386] to `/tmp/initrd.bD2173/lib/xenblk.ko' [elf32-i386]
/sbin/dmraid.static -> /tmp/initrd.bD2173/bin/dmraid
/sbin/kpartx.static -> /tmp/initrd.bD2173/bin/kpartx
Adding module ehci-hcd
Adding module ohci-hcd
Adding module uhci-hcd
Adding module jbd
Adding module ext3
Adding module scsi_mod
Adding module libata
Adding module ata_piix
Adding module dm-mem-cache
Adding module dm-mod
Adding module dm-log
Adding module dm-region_hash
Adding module dm-message
Adding module dm-raid45
Adding module xenblk
[root@centos5 boot]# 

check /etc/modprobe.conf - delete except for

alias eth0 xennet
alias eth1 xennet
alias scsi_hostadapter xenblk

other stuff

/etc/inittab

possibly use mgetty, yum install mgetty and replace below

co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav

/etc/securetty

xvc0

remove the old normal "kernel" for full pv, but leave it if you want to switch to hvm

yum remove kernel


Change instance type to PV

  1. Log into our portal.
  2. Select options for the instance and scroll down to advanced options.
  3. Select PV-GRUB32 (or 64) depending on your architecture.
  4. Submit the option and leave the default settings.

Go live


The moment of truth. Shut down your server from our portal by doing a full shutdown. Once the instance is down, start it. It should boot using the PV kernel. If it doesn't come back, you can use VNC to troubleshoot, or boot into rescue mode to revert to your old kernel.


LoadingRetrieving latest tweet...

Back to Top

Follow us on Twitter, Facebook, Google+ or LinkedIn to receive updates regarding network issues, discounts and more.
2013 © Host Virtual. All rights reserved. Review our AUP, Privacy, and TOS