When it comes to virtual operating systems in Red Hat Enterprise Virtualization, using paravirtualized drivers
is a better way to optimize Windows performance than emulated drivers. Unfortunately, the paravirtualized drivers that a Windows virtual machine needs are not available in RHEV by default. If you do nothing, the Windows installation program won't see the virtual hard disk that RHEV presents to the VM, meaning you must take action before and during installation.
In a virtual data center where the virtual OS uses emulated drivers, you need not modify the OS to install it. In RHEV, the virtual OSes use paravirtualized drivers, which optimize Windows performance better than emulated drivers. The drivers address hardware where performance really matters, such as hard disks and network cards, but require some extra work during the installation process. In this article, you'll learn how to use paravirtualized drivers with Windows guests in RHEV.
Installing the paravirtualized drivers
The virtio-win RPM package delivers paravirtualization drivers for Windows. You can find this package in the Red Hat Enterprise Linux (RHEL) supplementary channel on the Red Hat Network, so you should already have access to it from RHEV.
More resources on paravirtualized drivers
Paravirtualized driver competition benefits Linux users
Managing full virtual and paravirtual hardware drivers in a Xen environment
Paravirtualization pros and cons
After installing the package, you'll find two files in the directory /usr/share/virtio-win on the RHEV-M server. The first is virtio-win-*.iso, an ISO of a CD-ROM containing the drivers you'll need once the Windows OS has been set up. The other file is virtio-drivers-*.vfd, a floppy disk image that you use during the installation. Make sure to copy both of these files to the ISO library before installing the first Windows virtual machine (VM).
To upload the image files to the ISO library, use the rhevm-iso-uploader command. The following example command shows how to upload the files to an ISO-domain named isos, using the RHEV administrator name admin. Make sure you install the virtio-win RPM package before using this command:
rhevm-iso-uploaded -u firstname.lastname@example.org --iso-domain=isos upload /usr/share/virtio-win/virtio-win.iso /usr/share/virtio-win/virtio-win.vfd /usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso
Creating VMs and optimizing Windows performance
Once the drivers are available, you can create the Windows VM in RHEV-M. First, define the VM with your preferred hardware properties. Then right-click the VM and select the Run Once option to enter the following properties. These ensure the paravirtualized drivers can be used, and they must be added before you start the installation:
- Attach Floppy: virtio-win.vfd
- Attach CD: windows-7.iso
- Boot Sequence: CD-ROM (first)
- Display Protocol: Spice
After choosing a language for the installation, select the custom (advanced) installation to tell Windows where to find the drivers. From this interface, click Load Driver and then click OK to get a list of drivers from the floppy you attached earlier. When you select the driver Red Hat VirtIO SCSI Controller (A:\amd64\Win7\viostor.inf, Windows grants you access to the virtual disk and you can continue installing the Windows VM.
Once you complete the installation, install RHEV Tools on the VM by connecting the Windows CD driver to the rhev-tools-setup.iso file. From Windows, open the CD driver and launch the RHEV-tools Setup program. Complete all the program steps to install the appropriate graphical drivers and ensure an ideal graphical resolution to optimize Windows performance.
Though the VirtIO paravirtualized drivers require more configuration and modification than emulated drivers, Windows won't be able to see the hard disk that RHEV presents without them. Taking these extra steps guarantees optimal Windows performance in RHEV.
Dig deeper on Open source virtualization
Sander van Vugt asks:
Which type of device driver do you use in your virtual infrastructure?
0 ResponsesJoin the Discussion