7.1 SLES 10: Paravirtual Mode VM

This platform running on a virtual machine on SUSE Linux Enterprise Server 10 is supported by Novell®. If you discover significant issues, tips, or workarounds that should be included on this page, please submit a comment by clicking Add Comment at the bottom of the online page.

7.1.1 Sparse Image File Increases Installation Time

Specifying a sparse image file as the VM’s bootable disk might extend the OS installation time by several hours. Choosing not to use a sparse image file dramatically reduces the installation time.

7.1.2 Direct Access to PCI Devices

A paravirtual-mode VM can be configured to have direct and exclusive access to a physical PCI device, such as a network card. To configure the PCI device, it must be unbound from the backend domain (VM Server) and made available to a VM using the pciback kernel loadable module.

  1. Access the VM server’s console or open a terminal.

  2. Enter lspci and note the device ID which is the hexadecimal domain/bus/device/function, such as 0000:02:00.0, of the device you intend to make available to the VM.

    The device ID might be specified with or without a domain. For example, 0000:02:00.0 uses a domain:bus:device.function syntax and 02:00.0 uses a bus:device.function syntax.

  3. List the contents of the /sys/bus/pci/drivers/driver directory to verify that there is a symbolic link to the device ID. Replace driver with the device directory name, such as e1000, of the currently bound PCI device.

  4. Write the device ID to the unbind file by entering the following command:

    echo -n device_ID > /sys/bus/pci/drivers/driver/unbind
    
  5. Enter modprobe pciback to load the pciback module and create the pciback directory.

  6. Enter the following command to assign the device to the pciback module:

    echo -n device_ID > /sys/bus/pci/drivers/pciback/new_slot
    

    The PCI device ID is written to the new_slot file so that the pciback module knows to control the device.

  7. Enter the following command to write the device ID to the bind file so the device is recognized and can be made available to a VM:

    echo -n device_ID > /sys/bus/pci/drivers/pciback/bind
    
  8. Make the PCI device available to the appropriate VM using one of the following methods:

    • Modify the VM configuration file to include the following python list entry specifying one or more device IDs.
      pci=['device_ID_1','device_ID_2']
      
    • Start the VM using the following command:
      xm create -c pci=device_ID VM_config_file
      

You can return the PCI device to general availability by writing the device ID back to the bind file and reversing the steps as outlined above.