Xen: Critical considerations when updating from SLES 10 SP1 to SLES 10 SP2

This document (7000608) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 10 SP2
SUSE Linux Enterprise Server 10 SP1
Xen virtualization
Virtual Machine Driver Pack (VMDP)

Situation

Question

What are some important Xen considerations when updating SLES 10 SP1 to SLES 10 SP2?

Symptoms

ERROR:
Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')

Resolution

With the introduction of SLES 10 SP2 there are some incompatibilities that may need to be addressed when updating from SLES 10 SP1, relating to the following:
  • Dom0 environment has been updated prior to updating DomUs.
  • Move to the PAE kernel as the only Xen kernel for 32-bit systems.
  • Incompatibility of older Virtual Machine Driver Pack versions with SP2's Xen 3.2
  • Changes in bridge names in Xen networking setup
  • Known issues with virt-manager
These issues and their remedies are described in detail below.
 

Additional Information


Update domU's first for 32-bit Dom0 and Hypervisor

As of SLES 10 SP2, the default Xen hypervisor and kernel are the PAE ones. This brings consistency with other Linux distributions - SuSE was the only distribution to build 32 bit -xen versions of the kernel and hypervisor. The -xen kernel is still available for compatability. When updating, it is suggested to make sure that the -xen kernel is installed and not the -pae.

When an update from SP1 to SP2 is performed without updating the configuration in this regard, the xc_dom_compat_check: message listed above may be encountered.

There are three known rescue methods to make this change at this point. SUSE recommends the first method, or "rescue by installing legacy -xen kernel."This issue does NOT affect 64-bit installations.

Rescue by installing legacy -xen kernel

The easiest rescue method is to install from the installation media the -xen kernel and boot from it. SUSE recommends this method as it is the easiest. If change control policies prohibt a reboot, please follow one of the other methods.
  1. Install the -xen kernel
  2. Reboot the server. Make sure that you chose the Xen option not Xenpae
  3. Your DomU's should load up normally. If you want to use the -xen kernel on Dom0, modify the boot loader in YaST to load the Xen kernel.
  4. Update your DomU's to the -xenpae kernel
  5. Reboot to -xenpae kernel and test your DomU's

Rescue using the legacy files
  1. Find the configuration file in /etc/xen/vm
  2. Backup the file
  3. Open the backup file for editing
  4. Comment out the bootloader and boot_args lines:
    bootloader="/usr/lib/xen/boot/domUloader.py"
    bootargs="--entry=xvda1:/boot/vmlinuz-xen,/boot/initrd-xen"
  5. Add the following lines. These lines will load the kernel and ramdisk located in /boot on Dom0 to boot the DomU. (In this step you will need make sure the extra directive contains the right root= device. If /dev/xvda3 is not the correct root device, you will need to change it so that root= is followed by the correct LVM or device for root. In most cases /dev/xvda3 should work)
    kernel="/boot/vmlinuz-xenpae"
    extra=" console=xvc0 root=/dev/xvda3"
    ramdisk="/boot/initrd-xenpae"
  6. Save and close the file
  7. Use the temporary file to start the DomU. If you want to attach to the console, use the "-c" flag. During the boot of the DomU there will be many errors about not being able to find modules. These can be safely ignored.
    xm create <name of file>
  8. Update the Virtual Machine to SLES 10 SP2
  9. Shut down the DomU
  10. The DomU can now be loaded normally
Rescue using managed domain information
  1. Export the configuration database for the DomU. Replace DOMU with the name of your DomU
    xm list -l DOMU> file
  2. Backup the file
  3. Open the file for editing
  4. Remove the following arguments
    (bootloader_args '--entry=xvda1:/boot/vmlinuz-xen,/boot/initrd-xen')
    (bootloader /usr/lib/xen/boot/domUloader.py)
  5. Locate the following, your's may be different
    (kernel )
    (args ' console=xvc0')
  6. Change it too: (In this step you will need make sure that /dev/xvda3 is the name of your root partition. If it is not, you will need to change it so that root= is followed by the correct LVM or device for root. In most cases /dev/xvda3 should work)
    (kernel /boot/vmlinuz-xenpae)
    (ramdisk /boot/initrd-xenpae)
    (args ' console=xvc0 root=/dev/xvda3')
  7. Save the file and close it
  8. Reimport the file into the xenstore. Replace FILE with the name of the configuration
    xm new -f FILE
  9. Start up the DomU normally
  10. Update the DomU to SLES 10 SP2, or install the -xenpae kernel
  11. Shutdown the DomU
  12. Restore the backup file. Replace FILE.backup with the file from step 1
    xm new -f FILE.backup
  13. Start up the DomU normally
 

Updating Dom0 and DomU at the same time

In the event that a situation arises where both a para-virtual DomU and a Dom0 are required to be updated first, the following procedure can help you to update both at the same time. This update conflict will most likely arise when OES 2 is installed as a 32-bit DomU on a 32-bit Dom0.
  1. Update the DomU first, however DO NOT reboot.
  2. When the DomU starts to reboot or present the reboot dialog, hit the "Shutdown" button or type in a terminal "xm shutdown DOMU-NAME"
  3. Repeat steps 1 and 2 for EACH para-virtual DomU where this conflict condition applies.
  4. Update Dom0 to completion (such as any YaST prompts and reboots)
  5. Start up the DomU and finish the update process for each DomU.


VMDP incompatibility

Fully virtual DomU's running under Xen 3.0 are incompatible with Xen 3.2 shipped in SLES 10 SP2 if they have an older virtual machine driver pack (VMDP) prior to May 2008. Before updating any Dom0's to SLES 10 SP2, it is essential to update the VMDP to the latest patch level.

Recovery for domU's on non-shared disks
  1. Boot the DomU into safe mode
  2. Uninstall the VMDP
  3. Reboot the DomU
  4. Install the latest VMDP
Recovery for domU's on shared disks

If the DomU is located on shared medium  with at least one host that is capable of boot a fully-virtual DomU and has NOT been update to SLES 10 SP2, simply boot the DomU's on that host and update to the latest VMDP.
 

Bridges use different names

With SLES 10 SP2 the bridges have been renamed from xenbrX to ethX. DomU's that have been configured to use static bridges may not start. This has been observed for custom named-bridges that did not use the "xenbr" names i.e. xenempty, myBridge0, etc, but may affect all virtual machines.

When configuring new DomU's and assigning them to bridges, use ethX instead of xenbr0.

Change network bridge using virt-manager

With the release of SLES 10 SP2, Virt-Manager now has the capability to edit networks for DomU's. The DomU will need to be stopped in order for this to work. If this step fails you may need to choose another method.
  1. Open up virt-manager
  2. Double click or select open after selecting "localhost"
  3. Select the DomU
  4. Click on the details button
  5. Click on the hardware tab
  6. On the left pane a listing of hardware is present. Select the NIC device
  7. Copy the MAC address
  8. Click remove
  9. Click add
  10. Select "Network Card" for Hardware Type
  11. Click forward
  12. Make sure that the radio button for "Shared Physical Device" is selected
  13. Under Shared Physical Device select the appropriate NIC
  14. Click "Set Fixed MAC address for this NIC"
  15. Enter the MAC address saved in step 7
  16. Click Forward
  17. Click Finish

Change network bridge using legacy files
  1. Find the configuration file in /etc/xen/vm
  2. Backup the file
  3. Open the backup file for editing
  4. Find the line reading vif=, e.g.
    vif=['mac:00:16:3e:5f:ef:f2,bridge=myBridge0', ]
  5. Replace the bridge name with the correct device.  Replace myBridge0 with the correct name of the bridge.
    vif=['mac:00:16:3e:5f:ef:f2,bridge=eth0', ]
  6. Save and close the file
  7. Reload the virtual machines configuration file
    xm new -f <name of file>
  8. Start up the DomU normally
Change network bridge using managed domain information
  1. Export the configuration database for the DomU. Replace DOMU with the name of your DomU
    xm list -l DOMU> file
  2. Backup the file
  3. Open the file for editing
  4. Locate the (vif section. It may be similiar to the following
            (vif
                (bridge xenbr1)
                (mac 00:16:3e:1f:2c:c1)
                (uuid ca517802-ac1e-65c8-e46f-fd18b95944ab)
            )
  5. Replace the name of the bridge with the correct bridge, remove (bridge...) if you would like to use the default bridge.
        (vif
            (bridge eth1)
            (mac 00:16:3e:1f:2c:c1)
            (uuid ca517802-ac1e-65c8-e46f-fd18b95944ab)
        )
  6. Save the file and close it
  7. Reimport the file into the xenstore. Replace FILE with the name of the configuration
    xm new -f FILE
  8. Start up the DomU normally
 
virt-manager known issues

The GUI tool to manage virtual machines has several new features enabled that may or may not work. The basic functionality of Virt-Manager is still there and the features are sufficient to manage the basic functions of a DomU. 

The following are known bugs and issues with virt-manager
  • Adding or removing disks using the GUI for para-virtual DomU's does not work.
  • Adding or removing NIC cards may or may not work
  • Closing virt-manager in the middle of an installation of a DomU will cause the DomU to not boot normally.
  • Adding, removing or changing virtual CD-Rom's for para-virtual DomU's is inconsistent and may or may not work
  • Remote connections using SSH form Virt-Manager to other DomU's are known to fail
All of these issues can be mitigated by using command line utilities.

Note: command line Xen management

The Command Line management tools for Xen are described in the SUSE Product Documentation .

The Virtual Machine Driver Pack can be found at https://www.suse.com/products/vmdriverpack/

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7000608
  • Creation Date: 05-Jun-2008
  • Modified Date:21-Dec-2021
    • SUSE Linux Enterprise Server
    • SUSE Linux Enterprise Virtual Machine Driver Pack

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center