7.13. Converting to Paravirtualized Guests or Installing Paravirtualized Drivers

For optimized performance, you can install paravirtualized drivers on hardware virtualized machines. Paravirtual drivers are optimized and improve the performance of the operating system in a virtual machine. These drivers enable high performance throughput of I/O operations in guest operating systems on top of the Oracle VM Server hosts.

Creating hardware virtualized machines may require that you install paravirtual drivers for your hardware on the guest operating system.

The Oracle Solaris 10 and Oracle Solaris 11 operating system runs as a hardware virtual machine (HVM), which requires HVM support (Intel® VT or AMD-V™) on the underlying hardware platform. By default, Oracle Solaris 10 or Oracle Solaris 11 operating system already has the required paravirtualized drivers installed as part of the operating system.

You can continue using HVM guest, but leverage the paravirtualized I/O drivers. For more information, see Comparison of Guest Virtualization Modes; HVM, PVM and PVHVM. Configuration, Mode Validation and Conversion to PVHVM.

To install the paravirtual drivers for Microsoft Windows™ operating systems, see the Oracle VM Windows Paravirtual Drivers Installation Guide .

To install paravirtual drivers on an Oracle Linux guest operating system:

  1. Download the paravirtualized kernel on the virtual machine, for example for an Oracle Enterprise Linux 5.5 64-bit guest, download:

    http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/5/base/x86_64/kernel-xen-2.6.18-194.el5.x86_64.rpm

  2. Install the paravirtualized kernel on the virtual machine:

    # rpm -ivh kernel-xen-version.type.rpm
     Preparing...                ########################################### [100%]
        1:kernel-xen             ########################################### [100%]
  3. Back up the old initrd file, and make the new one with xennet, xenblk driver:

    # mv initrd-oldversion.el5xen.img initrd-oldversion.el5xen.img.old
    # mkinitrd initrd-newversion.el5xen.img newversion.el5xen --with=xenblk --with=xennet \
      --preload=xenblk --preload=xennet
    Note

    If you get an error similar to the following:

    No module xen_vbd found for kernel version.el5xen, aborting

    substitute the mkinitrd command above with the following:

    # mkinitrd -f --allow-missing initrd-newversion.el5xen.img \
    newversion.el5xen --with=xenblk --with=xennet --preload=xenblk \
    --preload=xennet
  4. Edit the /boot/grub/grub.conf file to be:

    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Enterprise Linux Enterprise Linux Server (version.el5xen)
            root (hd0,0)
            kernel /vmlinuz-version.el5xen ro root=LABEL=/
            initrd /initrd-version.el5xen.img
    Note

    If you had trouble with the previous step and had to change the parameters for the mkinitrd command, specify the actual path to the root kernel image. For example, you might change the root=LABEL=/ parameter to something like root=/dev/VolGroup00/LogVol00.

  5. Modify the /etc/modprobe.conf file to include:

    alias scsi_hostadapter xenblk
    alias eth0 xennet
  6. Shut down the virtual machine. See Section 7.10.4, “Stopping (Shutting Down) Virtual Machines” for information on shutting down a virtual machine.

  7. Edit the virtual machine and change the Domain Type to Xen PVM. See Section 7.10.2, “Editing a Virtual Machine” for information on editing a virtual machine.

  8. Start the virtual machine. See Section 7.10.3, “Starting Virtual Machines” for information on starting a virtual machine.