Installation Guide

SUSE Linux Enterprise Virtual Machine Driver Pack

1.0 VMDP

SUSE Linux Enterprise Virtual Machine Driver Pack contains Windows* disk and network device drivers to enable the high-performance hosting of these unmodified guest operating systems on top of SUSE Linux Enterprise Server. Paravirtualized drivers for SUSE Linux Enterprise Server are available, but not included in this Driver Pack. Paravirtualized drivers for SUSE Linux Enterprise Server are distributed under an open source license. They are included in both physical and electronic media of SUSE Linux Enterprise Server and corresponding Customer Center update channels.

1.1 Introduction

Virtualization allows the consolidation of Linux workloads on newer, more powerful, energy-efficient hardware. Paravirtualized operating systems such as SUSE Linux Enterprise Server are aware of the underlying virtualization platform, and can therefore interact efficiently with it. Unmodified operating systems are unaware of the virtualization platform and expect to interact directly with the hardware. Because this is not possible when consolidating servers, the hardware must be emulated for the operating system. Emulation can be slow, but it is especially troubling for high-throughput disk and network subsystems. Most performance loss occurs in this area.

1.2 Bringing Performance

The device drivers in SUSE Linux Enterprise Virtual Machine Driver Pack bring many of the performance advantages of paravirtualized operating systems to unmodified operating systems: Only the paravirtualized device driver (not the rest of the operating system) is aware of the virtualization platform. For example, a paravirtualized disk device driver appears as a normal, physical disk to the operating system. However, the device driver interacts directly with the virtualization platform (with no emulation) to efficiently deliver disk access, allowing the disk subsystems to operate at near native speeds in a virtualized environment, without requiring changes to existing operating systems.

1.3 Support Subscription

The customer support you receive for the SUSE Linux Enterprise Virtual Machine Driver Pack is at the same level as your SUSE Linux Enterprise support subscription.

2.0 VMDP Certification

VMDP has been certified by Microsoft:

2.1 WHQL

VMDP has passed WHQL certification. See for more information.

2.2 SVVP

The SVVP program validates that Windows* virtual machines run correctly on SUSE Linux Enterprise Server. Thus, Microsoft customers running copies of Windows* Server they have acquired and licensed from Microsoft directly can receive technical support for Windows* Server in virtualized environments. See for more information.

3.0 General Installation

The SUSE Linux Enterprise Virtual Machine Driver Pack is available for download as one binary file: a Windows self-extracting zip file (.exe extension). There is also an ISO image (.iso) for Windows* 2008 and newer that may be used for VMs running on KVM.

IMPORTANT: Windows* 2003 is no longer supported since VMDP 2.4.

3.1 Prerequisites

  • SUSE Linux Enterprise Server 11 SP4 or later

  • Fully virtualized Windows* virtual machines

3.2 Setup.exe Installation Instructions for KVM and Xen

  1. Download the Windows* VMDP-WIN-2.4.exe file directly into your Windows* VM.

  2. Launch the VMDP-WIN-2.4.exe to extract the installation program.

  3. Launch the setup.exe from the root of the newly created directory.

  4. Accept the EULA and follow the prompts to complete the driver installation.

  5. Reboot the VM when prompted by the installation program.

3.3 Additional KVM VirtIO Setup Instructions

setup.exe can be run with or without VirtIO devices, VirtIO Block or VirtIO SCSI, present in the VM. If no VirtIO device is available in the VM when running the setup, the drivers are simply installed. Otherwise, shut down the VM, add the VirtIO devices, and restart the VM. After booting, Windows* will discover the new devices and load the previously installed drivers.

To boot a running VM on a VirtIO disk, VirtIO Block or VirtIO SCSI, the VirtIO disk driver must be installed on a secondary/temporary (e:) VirtIO disk. After the driver is installed and controlling the disk, shut down the VM. From virt-manager, delete the secondary VirtIO disk and delete the IDE boot disk. Now add a VirtIO disk of the same type as the previous secondary disk, VirtIO or VirtIO SCSI and give it the location for the boot disk. Finally, boot the VM. The VirtIO driver will now be controlling the boot disk.

WARNING: Installation Failure

Failure to install a VirtIO disk driver on a secondary disk before changing the boot disk to a VirtIO or VirtIO SCSI disk will cause the VM to crash with bug check 0x7b (inaccessible boot disk).

3.4 Installation Instructions for .iso

A Windows* VM may attach the VMDP iso image. It contains the VirtIO disk drivers for Windows* 2008 and newer. The full VMDP .exe file and its expanded contents, that is all the VirtIO and Xen drivers for all supported Windows* platforms, can also be found on this image.

3.5 .iso for VirtIO Boot Disk Installation at VM Creation

This method is only used for VMs running on KVM and is used to install the VirtIO disk driver on the boot disk while the VM is being installed.

  1. Add the iso to the VM configuration. Refer to Section 8.0, Step-by-Step Installation for instructions on attaching an ISO image, setting up Virtio Network, and a VirtIO disk for the Windows* VM.

  2. Set the boot disk to be of type VirtIO or VirtIO SCSI.

  3. Finish all other VM configuration options.

  4. Start the VM installation.

  5. Select Load driver on the Where do you want to install Windows screen, and follow the prompts. This will allow the VirtIO disk driver to be installed for the boot disk.

  6. Continue the Windows installation.

  7. After the VM setup completed, the remaining VirtIO drivers can be installed by performing a normal installation of the VMDP-WIN-2.4.exe located on the iso image.

3.6 Additional Xen Setup Instructions

The Xen VMDP SCSI driver is capable of controlling a physical SCSI disk such as /dev/sdb.

To run the VMDP SCSI driver on the boot disk, use setup /boot_vscsi option. If the setup has been run without this option, pvctrlw.exe can be used later to indicate that the VMDP SCSI driver should control the boot disk.

Before either using the /boot_vscsi option or pvctrlw.exe, the Virtual Machine's configuration file must already contain the necessary SCSI information for the boot disk: the disk line needs to reference the physical disk, for example disk=['phy:/dev/sdb,...'] and there must be a vscsi= line that corresponds to the physical disk.

SCSI devices and disks, other than the boot disk, that are to be controlled by the VMDP SCSI driver are not placed in the disk= line but are only referenced in the vscsi= line.

3.7 Uninstalling the Driver Pack

To uninstall the SUSE Linux Enterprise Virtual Machine Driver Pack, execute the uninstall.exe from the \Program Files\vmdp folder. Uninstall.exe will uninstall the SUSE Linux Enterprise Virtual Machine Driver Pack and remove the associated files.

After having run the uninstall.exe, it is important to reboot the Virtual Machine on the currently running hypervisor. This allows finishing the clean up of additional files and registry entries on reboot.

3.8 Upgrading the Driver Pack

setup.exe can be used to update most existing installations:

  1. Download the VMDP-WIN-2.4.exe to the Windows VM.

  2. Run VMDP-WIN-2.4.exe to extract the installation program and support files into a subfolder of the folder containing VMDP-WIN-2.4.exe.

  3. Run setup.exe from the root of the extracted subfolder and follow the on-screen instructions.

  4. Any Found New Hardware Wizard dialogs popping up after the update can be ignored or canceled.

With some older installations, setup cannot perform an update. In these cases, setup will display a message asking to uninstall first. Once done, setup.exe can then be used to install the new files.

3.9 Recovering from a Failure

If a failure is caused by the driver pack, the driver pack can be safely removed to return to the previous system configuration.

  1. Shut down the virtual machine and reboot in safe mode.

  2. Uninstall the driver pack (see Section 3.7, Uninstalling the Driver Pack).

3.10 Known Issues

For information on known issues for this release, see the README file within the archive, or consult the SUSE Linux Enterprise Virtual Machine Driver Pack Guides.

4.0 QEMU Guest Agent

This section explain what qemu-ga is and how to install it.

4.1 Qemu guest agent

VMDP setup allows for the installation of the qemu guest agent service for Windows* when invoked with the /qemu-ga command line parameter. The qemu guest agent requires the VM to be equipped with the qemu guest agent channel (see Section 5, ). Without the qemu guest agent channel, the qemu guest agent can install but will not load. Trying to load without the channel results in errors in the event log.

The qemu guest agent is built in the mingw environment on a Linux system with no modifications to the guest agent source code. The guest agent and supporting DLLs remain under their respective GPL licenses.

Currently many of the features of the guest agent supported in Linux VMs have not yet been implemented for Windows*. Therefore the usage of guest agent in Windows* is somewhat limited at present.

4.2 Manual Qemu Guest Agent Installation

Open a cmd.exe from the start menu. Go to the path that contains the qemu-ga directory. View the help with the command qemu-ga.exe --help. To install the service use:

qemu-ga.exe --service install

To start the service you can use the Windows* Service Administrative tools, or the command line:

net start qemu-ga.exe

5.0 VMDP and v2v Support

The virt-v2v utility provides an easy way to convert virtual machines from one hypervisor format to another (for example, from Xen to KVM). In the case of Windows* guests running under Xen, this conversion process includes support for the automatic deployment of the VMDP.

5.1 VMDP RPM Package

The virt-v2v-vmdp RPM is a repackaging of the Windows* VMDP drivers into a directory structure usable by the virt-v2v utility. After being installed on a KVM host, any Windows* guests migrated to that host using the virt-v2v process can have the VMDP drivers automatically installed.

By default, virt-v2v will automatically install the VMDP drivers as part of the conversion if the virt-v2v-vmdp package is installed on the converting machine. This driver reinstallation is required to replace Xen specific drivers with virtio drivers for use with KVM.

The virt-v2v-vmdp RPM is available in the same download location as the VMDP setup program.

5.2 v2v --vmdp Parameter

IMPORTANT: Since SUSE Linux Enterprise Server 12 SP2, virt-v2v no longer has the --vmdp option. It installs VMDP if the virt-v2v-vmdp is installed on the converting machine.

This section of the documentation is only relevant for SUSE Linux Enterprise Server 12 SP1 and earlier.

Installation of the VMDP can be manually influenced during virt-v2v migration using the --vmdp parameter:

  • --vmdp=auto: only install the VMDP if already installed on source image

  • --vmdp=always: always install the VMDP during Windows* guest conversions

  • --vmdp=never: never install the VMDP

In addition to installing the drivers included with the virt-v2v-vmdp RPM, it is possible for virt-v2v to copy the VMDP setup program itself to the converted guest. While not required, if the virt-v2v host is configured to perform this, the VMDP setup program will be automatically run upon first login. This will ensure the install/uninstall program is registered with Windows* and any residual Xen drivers are correctly uninstalled. To allow for this capability, the VMDP setup program (VMDP-WIN-2.4.exe) must be copied to /var/lib/virt-v2v/software/windows on the virt-v2v host. After copying the executable in place, ensure the setup executable name is correctly specified in /var/lib/virt-v2v/virt-v2v.db as follows:

   <!-- SUSE Virtual Machine Driver Pack (VMDP) setup program -->
   <app os='windows' name='vmdp'>

6.0 Best Practices

This section describes best practices, usage and potential problems using VMDP.

6.1 Avoiding Problems with the Drivers

To avoid problems and potential failure of the device drivers in the driver pack, you should avoid the following actions:

  • Using the Device Manager to manage (update, disable, uninstall, etc.) the device drivers in the driver pack.

  • Deleting driver files manually. Always use the uninstall utility (see Section 3.7, Uninstalling the Driver Pack).

  • Uninstalling the driver pack with the installation CD attached to the virtual machine.

  • Canceling the installation when you see a security alert that indicates that the bus driver has not been properly signed. Click Yes to continue the installation.

  • Upgrading the Linux* kernel of the virtual machine host without upgrading the driver pack at the same time.

  • Installing or uninstalling the driver pack by any other process than what is documented in this guide (see Section 3.7, Uninstalling the Driver Pack and Section 3.7, Uninstalling the Driver Pack).

6.2 Before the Installation

Before installing SUSE Linux Enterprise Virtual Machine Driver Pack in your production environment, we strongly recommend that you run it in a test environment to ensure that it functions properly with your system.

6.3 Network Configuration

Do not give the server a fixed IP address before installing the driver pack, otherwise you need to switch to a different intermediate IP address before finishing the installation.

7.0 Advanced Installation Options

How to deal with VMDP install and uninstall.

7.1 Expert Installation

To help with automated installations, setup.exe currently has the following parameters:

  • /auto_reboot: will cause the Windows* VM to automatically reboot after the setup has completed

  • /no_reboot: will prevent the reboot prompt from being displayed after the setup has completed

  • /eula_accepted: implies that the EULA has been read, accepted, and agreed to in all aspects. Accepting the EULA in this manner will therefore prevent the EULA acceptance dialog from being displayed during the setup process.

  • /force: will force the installation of the drivers and overwrite any previous drivers that may have been installed

  • /reset_net_params: will remove any net driver parameters that are still set to the default values. This is useful in upgrades when a net driver's parameter default changes. This will allow the new default to be used

Additional options when running on a Xen hypervisor are:

  • /boot_vscsi: will configure the Windows* VM to boot off a supplied SCSI device. To use the /boot_vscsi option, the VM's configuration file must contain a vscsi= line and a disk = [phy:/...] line

  • /xvdisk: tells xenblk to only control disks of type xvd

  • /netfront: tells xennet to only control NICs of type=netfront or type=vif.

Advanced parameters of the setup.exe command:

  • /w2k3, /w2k8, /win7, and /win8 : are mutually exclusive. They allow the specified drivers to be installed in the running operating system, if compatible. These parameters are for testing purposes only and are not supported

7.2 Uninstall Expert Mode

Uninstall has an /auto_reboot parameter. It will cause the Windows* VM to automatically reboot once the uninstall process completed.

8.0 Step-by-Step Installation

This section describes how to configure the Windows* VM using virt-manager and how to install the VMDP during the Windows* setup process. Using the ISO image to install VMDP only works on KVM.

8.1 virt-manager VM setup

  1. At the end of the virt-manager new Virtual Machine wizard, check the Customize configuration before install box as shown by the following screenshot.

    When clicking the Finish button, this will allow refining the default setup.

  2. Change the Network interface type to virtio:

  3. Add a new a new Virtual CD-ROM for the VMDP iso as shown by this screenshot:

  4. Change the Virtual Machine disk type to virtio:

  5. Add a channel device named org.qemu.guest_agent.0 as shown below:

8.2 Windows* Installation

  1. Boot the Virtual Machine, and start the Windows* installer. Obviously this one won't detect the hard disk as it is a VirtIO one. To fix this, install the corresponding driver by clicking Load driver.

  2. The following dialog appears. Clicking the OK button should be enough for Windows to find the drivers located on the other virtual CD-ROM device.

  3. Select the SUSE driver corresponding to the installed Windows* version. Note that the same driver can apply for several Windows* versions. The file names should help selecting the correct driver.

  4. Finish the Windows* installation.

  5. After the first boot, go to the directory containing the VMDP driver (this should be a CD-ROM device as defined in virt-manager). Then execute the setup.exe program inside the folder.

  6. Accept the End User License Agreement:

  7. After the program finished installing the SUSE Drivers for Windows*, restart the machine:

  8. Use the Windows* device manager to check if all drivers have been successfully installed: