Virtualization Guide 5.
Virtualization Guide This Guide contains information on configuring, creating and monitoring guest operating systems on Red Hat Enterprise Linux 5.1, using virsh, vmm, and xend.If you find an error in the Red Hat Enterprise Linux Virtualization Guide, or if you have thought of a way to make this manual better, we would like to hear from you! Submit a report in Bugzilla (http://bugzilla.redhat.com/bugzilla/) against the product Red Hat Enterprise Linux and the component Virtualization_Guide.
Virtualization Guide: Red Hat Enterprise Linux Copyright © 2008 Red Hat, Inc. Copyright © 2008 Red Hat, Inc. This material may only be distributed subject to the terms and conditions set forth in the Open Publication License, V1.0 or later with the restrictions noted below (the latest version of the OPL is presently available at http://www.opencontent.org/openpub/). Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.
Virtualization Guide
1. Red Hat Virtualization System Architecture .............................................................. 1 2. Operating System Support ...................................................................................... 3 3. Hardware Support .................................................................................................. 5 4. Red Hat Virtualization System Requirements ........................................................... 7 5. Booting the System .................................
Virtualization Guide 8. Restoring A Saved Machine ...........................................................................54 9. Displaying Virtual Machine Details .................................................................56 10. Configuring Status Monitoring ......................................................................61 11. Displaying Domain ID ..................................................................................62 12. Displaying Virtual Machine Status ......................
Chapter 1. Red Hat Virtualization System Architecture A functional Red Hat Virtualization system is multi-layered and is driven by the privileged Red Hat Virtualization component. Red Hat Virtualization can host multiple guest operating systems. Each guest operating system runs in its own domain, Red Hat Virtualization schedules virtual CPUs within the virtual machines to make the best use of the available physical CPUs. Each guest operating systems handles its own applications.
Chapter 1. Red Hat Virtualization System Architecture virtual ethernet internet cards (VNICs). These network interfaces are configured with a persistent virtual media access control (MAC) address. The default installation of a new guest installs the VNIC with a MAC address selected at random from a reserved pool of over 16 million addresses, so it is unlikely that any two guests will receive the same MAC address.
Chapter 2. Operating System Support Red Hat Virtualization's paravirtualization mode allows you to utilize high performance virtualization on architectures that are potentially difficult to virtualize such as x86 based systems. To deploy para-virtualization across your operating system(s), you need access to the paravirtual guest kernels that are available from a respective Red Hat distro (for example, RHEL 4.0, RHEL 5.0, etc.).
Chapter 2. Operating System Support The output displays: flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dt acpi mmx fxsr sse sse2 ss ht tm syscall nx mmtext fxsr_opt rdtscp lm 3dnowext pni cx16 lahf_lm cmp_legacy svm cr8_legacy If an svm flag appears then you have AMD support. note In addition to checking the CPU flags, you should enable full virtualization within your system BIOS.
Chapter 3. Hardware Support Red Hat Virtualization supports multiprocessor systems and allows you to run Red Hat Virtualization on x86 architectured systems with a P6 class (or earlier) processors like: • Celeron • Pentium II • Pentium III • Pentium IV • Xeon • AMD Athlon • AMD Duron With Red Hat Virtualization, 32-bit hosts runs only 32-bit paravirtual guests. 64-bit hosts runs only 64-bit paravirtual guests. And a 64-bit full virtualization host runs 32-bit, 32-bit PAE, or 64-bit guests.
Chapter 3. Hardware Support The following output displays: flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 mmx fxsr sse syscall mmtext 3dnowext 3dnow up ts If your output matches (or is similar to) the above, then your CPU supports PAE. If the command prompt displays nothing, then your CPU does not support PAE.
Chapter 4. Red Hat Virtualization System Requirements The items listed below are required by the Red Hat Virtualization system: • A working Red Hat RHEL 5 Linux distribution • A working GRUB bootloader • Root access • A P6 class (or earlier) processor • The Linux bridge-utils • The Linux hotplug systems • zlib development installation • Python 2.2 runtime • initscripts The dependencies are configured automatically during the installation process.
8
Chapter 5. Booting the System After installing the Red Hat Virtualization components, you must reboot the system. When the boot completes, you must log into your system as usual. Then before you start Red Hat Virtualization you must log in a root. The xend control daemon should already be initiated by initscripts, but to start the xend manually, enter: service xend start You can also use chkconfig xend when installing to enable xend at boot time.
10
Chapter 6. Configuring GRUB GNU Grand Unified Boot Loader (or GRUB) is a program which enables the user to select which installed operating system or kernel to load at system boot time. It also allows the user to pass arguments to the kernel. The GRUB configuration file (located in /boot/grub/grub.conf) is used to create a list of operating systems to boot in GRUB's menu interface. When you install the kernel-xen RPM, a post script adds kernel-xen entries to the GRUB configuration file.
Chapter 6. Configuring GRUB dom0_mem This limits the amount of memory that is available for domain0. dom0_max_vcpus This limits the amount of CPUs visible to domain0. acpi This switches the ACPI hypervisor to the hypervisor and domain0. The ACPI parameter options include: /* /* /* /* /* /* **** Linux config options: propagated to domain0 ****/ "acpi=off": Disables both ACPI table parsing and interpreter. "acpi=force": Overrides the disable blacklist. "acpi=strict": Disables out-of-spec workarounds.
Chapter 7. Booting a Guest Domain You can boot guest domains by using the xm application. You can also use virsh and the Virtual Machine Manager to boot the guests. A prerequisite for booting a guest domain is to install a guest host first. This example uses the xm create subcommand: # xm create -c guestdomain1 The guestdomain1 is the configuration file for the domain you are booting. The -c option connects to the actual console after booting.
14
Chapter 8. Starting/Stopping a Domain at Boot Time You can start or stop running domains at any time. Domain0 waits for all running domains to shutdown before restarting. You must place the configuration files of the domains you wish to shut down in the /etc/xen/ directory. All the domains that you want to start at boot time must be symlinked to /etc/xen/auto.
16
Chapter 9. Configuration Files Red Hat Virtualization configuration files contain the following standard variables. Configuration items within these files must be enclosed in quotes ("). These configuration files reside in the /etc/xen directory. Item Description pae Specifies the physical address extention configuration data. apic Specifies the advanced programmable interrupt controller configuration data. memory Specifies the memory size in megabytes. vcpus Specifies the numbers of virtual CPUs.
18
Chapter 10. Managing CPUs Red Hat Virtualization allows a domain's virtual CPUs to associate with one or more host CPUs. This can be used to allocate real resources among one or more guests. This approach allows Red Hat Virtualization to make optimal use of processor resources when employing dual-core, hyperthreading, or other advanced CPU technologies. If you are running I/O intensive tasks, its typically better to dedicate either a hyperthread or entire core to run domain0.
20
Chapter 11. Migrating a Domain Migration is the transferal of a running virtual domain from one physical host to another. Red Hat Virtualization supports two varieties of migration — offline and live. Offline migration moves a virtual machine from one host to another by pausing it, transferring its memory, and then resuming it on the host destination. Live migration does the same thing, but does not directly affect the domain.
22
Chapter 12. Configuring for Use on a Network Integrating Red Hat Virtualization into your network architecture is a complicated process and depending upon your infrastructure, may require custom configuration to deploy multiple ethernet interfaces and setup bridging. Each domain network interface is connected to a virtual network interface in dom0 by a point to point link. These devices are vif and . vif1.0 for the first interface in domain 1; vif3.1 for the second interface in domain 3.
24
Chapter 13. Securing Domain0 When deploying Red Hat Virtualization on your corporate infrastructure, you must ensure that domain0 cannot be compromised. Domain0 is the privileged domain that handles system management. If domain0 is insecure, all other domains in the system are vulnerable. There are several ways to implement security you should know about when integrating Red Hat Virtualization into your systems.
26
Chapter 14. Storage There are several ways to manage virtual machine storage. You can export a domain0 physical block device (hard drive or partition) to a guest domain as a virtual block device (VBD). You can also export directly from a partitioned image as a file-backed VBD. Red Hat Virtualization enables LVM and blktap by default during installation. You can also employ standard network protocols such as NFS, CLVM, or iSCSI to provide storage for virtual machines.
28
Chapter 15. Managing Virtual Machines with virsh You can use the virsh application to manage virtual machines. This utility is built around the libvirt management API and operates as an alternative to the xm tool or the graphical Virtual Machine Manager. Unprivileged users can employ this utility for read-only operations. If you plan on running xend/qemu, you should enable xend/qemu to run as a service.
Chapter 15. Managing Virtual Machines with virsh virsh suspend [domain-id | domain-name |domain-uuid] When a domain is in a suspended state, it still consumes system RAM. There will also be no disk or network I/O when suspended. This operation is immediate and the virtual machine must be restarted with the resume option . 5.
Rebooting a Virtual Machine You can control the behavior of the rebooting virtual machine by modifying the on_shutdown parameter of the xmdomain.cfg file. 9. Rebooting a Virtual Machine You can use virsh to reboot a virtual machine: virsh reboot [domain-id | domain-name | domain-uuid] You can control the behavior of the rebooting virtual machine by modifying the on_reboot parameter of the xmdomain.cfg file. 10.
Chapter 15. Managing Virtual Machines with virsh You can use virsh to convert a domain name to a UUID: virsh domuuid [domain-id | domain-uuid] 14. Displaying Virtual Machine Information You can use virsh to display information for a given virtual machine identified by its domain ID, domain name, or UUID: virsh dominfo [domain-id | domain-name | domain-uuid] 15.
Displaying Virtual CPU Information ID ———————————————— 0 1 2 3 Name Domain0 Domain202 Domain010 Domain9600 State running paused inactive crashed Here are the six domain states: running lists domains currently active on the CPU blocked lists domains that are blocked paused lists domains that are suspended shutdown lists domains that are in process of shutting down shutoff lists domains that are completely down. crashed lists domains that are crashed 17.
Chapter 15. Managing Virtual Machines with virsh Note that the new count cannot exceed the amount you specified when you created the Virtual Machine. 20. Configuring Memory Allocation You can use virsh to modify a domain's memory allocation: virsh setmem [domain-id | domain-name] [count] You must specify the [count] in kilobytes. Note that the new count cannot exceed the amount you specified when you created the Virtual Machine. Values lower than 64 MB probably won't work.
Managing Virtual Networks virsh net-dumpxml [vnet name] This displays information about a specified virtual network in XML format: [root@domain ~]# virsh net-dumpxml vnet1 vnet1 98361b46-1581-acb7-1643-85a412626e70
40
Chapter 17. Managing Virtual Machines with Virtual Machine Manager This section describes the Red Hat Virtualization Virtual Machine Manager (VMM) windows, dialog boxes, and various GUI controls. 1. Virtual Machine Manager Architecture Red Hat Virtualization is a collection of software components that work together to host and manage virtual machines. The Virtual Machine Manager (VMM) gives you a graphical view of the virtual machines on your system.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.1. Virtual Machine Manager Connection window 3. Virtual Machine Manager Window This main window displays all the running virtual machines and resources currently allocated to them (including domain0). You can decide which fields to display. Double-clicking on the desired virtual machine brings up the respective console for that particular machine.
Virtual Machine Graphical Console 4. Virtual Machine Details Window This window displays graphs and statistics of a guest's live resource utilization data available from the Red Hat Virtualization Virtual Machine Manager. The UUID field displays the globally unique identifier for the virtual machines(s). Figure 17.3. Virtual Machine Manager Details window 5. Virtual Machine Graphical Console This window displays a virtual machine's graphical console.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.4. Graphical Console window Your local desktop can intercept key combinations (for example, Ctrl+Alt+F11) to prevent them from being sent to the guest machine. You can use the Virtual Machine Manager's 'sticky key' capability to send these sequences. You must press any modifier key (like Ctrl or Alt) 3 times and the key you specify gets treated as active until the next non-modifier key is pressed.
Creating a New Virtual Machine Figure 17.5. Starting the Virtual Machine Manager 7. Creating a New Virtual Machine The Virtual Machine Manager (virt-manager) is the desktop application that manages virtual machines. You can use Red Hat's Virtual Machine Manager to: • Create new domains. • Configure or adjust a domain's resource allocation and virtual hardware. • Summarize running domains with live performance and resource utilization statistics.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Procedure 17.1. Creating a Guest Operating System 1. From the Applications menu, select System Tools and then Virtual Machine Manager. The Virtual Machine Manager main window appears. Figure 17.6. Virtual Machine Manager window 2. 46 From the File menu, select New machine.
Creating a New Virtual Machine Figure 17.7. Selecting a New Machine The Creating a new virtual system wizard appears. 3. Click Forward. Figure 17.8.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager 4. Enter the name of the new virtual system and then click Forward. Figure 17.9. Naming the Virtual System 5. 48 Enter the location of your install media. Location of the kickstart file is optional. Then click Forward .
Creating a New Virtual Machine Figure 17.10. Locating the Installation Media 6. Install either to a physical disk partition or install to a virtual file system within a file. Note This example installs a virtual system within a file. SELinux policy only allows xen disk images to reside in /var/lib/xen/images. Open a terminal and create the /xen directory and set the SELinux policy with the command restorecon -v /xen. Specify your location and the size of the virtual disk, then click Forward.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.11. Assigning the Storage Space 7. 50 Select memory to allocate the guest and the number of virtual CPUs then click Forward.
Creating a New Virtual Machine Figure 17.12. Allocating Memory and CPU 8. Select Forward to open a console and the files start to install.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.13. Allocating Memory and CPU 9. 52 Complete your installation in the window provided.
Creating a New Virtual Machine Figure 17.14. Installation Begins... Warning When installing Red Hat Enterprise Linux 5.1 on a fully virtualized guest, do not use the kernel-xen kernel. Using this kernel on fully virtualized guests can cause your system to hang. If you are using an Installation Number when installing Red Hat Enterprise Linux 5.1 on a fully virtualized guest, be sure to deselect the Virtualization package group during the installation.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager on the guest in the Virtual Machine Manager and choose Open to open a virtual console. Figure 17.15. Red Hat Enterprise Linux 5.1 (guest) 11. Enter user name and password to continue using the Virtual Machine Manager. 8. Restoring A Saved Machine After you start the Virtual Machine Manager, all virtual machines on your system are displayed in the main window. Domain0 is your host system.
Restoring A Saved Machine Figure 17.16. Restoring a Virtual Machine 2. The Restore Virtual Machine main window appears. Figure 17.17.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager 3. Navigate to correct directory and select the saved session file. 4. Click Open. The saved virtual system appears in the Virtual Machine Manager main window. Figure 17.18. The Restored Virtual Machine Manager Session 9. Displaying Virtual Machine Details You can use the Virtual Machine Monitor to view activity data information for any virtual machines on your system. To view a virtual system's details: 1.
Displaying Virtual Machine Details Figure 17.19. Selecting Virtual Machine to Display 2. From the Virtual Machine Manager Edit menu, select Machine Details (or click the Details button on the bottom of the Virtual Machine Manager main window). Figure 17.20. Displaying Virtual Machine Details Menu The Virtual Machine Details Overview window appears. This window summarizes CPU and memory usage for the domain(s) you specified.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.21. Displaying Virtual Machine Details Overview 3. On the Virtual Machine Details window, click the Hardware tab. The Virtual Machine Details Hardware window appears.
Displaying Virtual Machine Details Figure 17.22. Displaying Virtual Machine Details Hardware 4. On the Hardware tab, click on Processor to view or change the current processor memory allocation. Figure 17.23. Displaying Processor Allocation 5. On the Hardware tab, click on Memory to view or change the current RAM memory allocation.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.24. Displaying Memory Allocation 6. On the Hardware tab, click on Disk to view or change the current hard disk configuration. Figure 17.25. Displaying Disk Configuration 7. 60 On the Hardware tab, click on Network to view or change the current network configuration.
Configuring Status Monitoring Figure 17.26. Displaying Network Configuration 10. Configuring Status Monitoring You can use the Virtual Machine Manager to modify the virtual system Status monitoring. To configure Status monitoring, and enable Consoles: 1. From the Edit menu, select Preferences. Figure 17.27. Modifying Virtual Machine Preferences The Virtual Machine Manager Preferences window appears. 2.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.28. Configuring Status Monitoring 3. From the Consoles area, specify how to open a console and specify an input device. 11. Displaying Domain ID To view the domain IDs for all virtual machines on your system: 1. 62 From the View menu, select the Domain ID check box.
Displaying Domain ID Figure 17.29. Displaying Domain-IDs 2. The Virtual Machine Manager lists the Domain ID's for all domains on your system.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.30. Displaying Domain-IDs 12. Displaying Virtual Machine Status To view the status of all virtual machines on your system: 1. From the View menu, select the Status check box. Figure 17.31. Displaying Virtual Machine Status 2. 64 The Virtual Machine Manager lists the status of all virtual machines on your system.
Displaying Virtual CPUs Figure 17.32. Displaying Virtual Machine Status 13. Displaying Virtual CPUs To view the amount of virtual CPUs for all virtual machines on your system: 1. From the View menu, select the Virtual CPUs check box.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.33. Displaying Virtual CPUs 2. 66 The Virtual Machine Manager lists the Virtual CPUs for all virtual machines on your system.
Displaying CPU Usage Figure 17.34. Displaying Virtual CPUs 14. Displaying CPU Usage To view the CPU usage for all virtual machines on your system: 1. From the View menu, select the CPU Usage check box. Figure 17.35. Displaying CPU Usage 2. The Virtual Machine Manager lists the percentage of CPU in use for all virtual machines on your system.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.36. Displaying CPU Usage 15. Displaying Memory Usage To view the memory usage for all virtual machines on your system: 1. 68 From the View menu, select the Memory Usage check box.
Displaying Memory Usage Figure 17.37. Displaying Memory Usage 2. The Virtual Machine Manager lists the percentage of memory in use (in megabytes) for all virtual machines on your system.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.38. Displaying Memory Usage 16. Managing a Virtual Network To configure a virtual network on your system: 1. From the Edit menu, select Host Details. Figure 17.39. Selecting Host Details 2. 70 This will open the Host Details menu. Click the Virtual Networks tab.
Creating a Virtual Network Figure 17.40. Virtual Network Configuration 3. All available virtual networks are listed on the left-hand box of the menu. You can edit the configuration of a virtual network by selecting it from this box and editing as you see fit. 17. Creating a Virtual Network To create a virtual network on your system: 1. Open the Host Details menu (refer to Section 16, “Managing a Virtual Network”) and click the Add button.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.41. Virtual Network Configuration This will open the Create a new virtual network menu. Click Forward to continue.
Creating a Virtual Network Figure 17.42. Creating a new virtual network 2. Enter an appropriate name for your virtual network and click Forward.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.43. Naming your virtual network 3. 74 Enter an IPv4 address space for your virtual network and click Forward.
Creating a Virtual Network Figure 17.44. Choosing an IPv4 address space 4. Define the DHCP range for your virtual network by specifying a Start and End range of IP addresses. Click Forward to continue.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.45. Selecting the DHCP range 5. 76 Select how the virtual network should connect to the physical network.
Creating a Virtual Network Figure 17.46. Connecting to physical network If you select Forwarding to physical network, choose whether the Destination should be NAT to any physical device or NAT to physical device eth0. Click Forward to continue. 6. You are now ready to create the network. Check the configuration of your network and click Finish.
Chapter 17. Managing Virtual Machines with Virtual Machine Manager Figure 17.47. Ready to create network 7. 78 The new virtual network is now available in the Virtual Network tab of the Host Details menu.
Creating a Virtual Network Figure 17.48.
80
Chapter 18. Red Hat Virtualization Troubleshooting This section covers potential issues you may experience in the installation, management, and general day-to-day operations of your Red Hat Virtualization system(s). This troubleshooting section covers the error messages, log file locations, system tools, and general approaches to research data and analyze problems. 1. Logfile Overview and Locations When deploying Red Hat Enterprise Linux 5.
Chapter 18. Red Hat Virtualization Troubleshooting • xen-hotplug-log is the logfile that contains data from hotplug events. If a device or a network script does not come online, the event appears here. • qemu-dm.[PID].log is the logfile created by the qemu-dm process for each fully virtualized guest. When using this logfile, you must retrieve the given qemu-dm process PID, by using the ps command to examine process arguments to isolate the qemu-dm process on the virtual machine.
Troubleshooting Tools This section summarizes the System Administrator applications, the networking utilities, and the Advanced Debugging Tools (for more information on using these tools to configure the Red Hat Virtualization services, see the respective configuration documentation).
Chapter 18. Red Hat Virtualization Troubleshooting xenbr0 xenbr1 xenbr2 8000.feffffff 8000.ffffefff 8000.ffffffef no yes no vif13.0 pddummy0 vif0.0 # brctl showmacs xenbr0 port-no mac-addr local? 1 2 fe:ff:ff:ff:ff: fe:ff:ff:fe:ff: yes yes ageing timer 0.00 0.00 # brctl showstp xenbr0 xenbr0 bridge-id 8000.fefffffffff designated-root 8000.fefffffffff root-port 0 path-cost 0 max-age 20.00 bridge-max-age 20.00 hello-time 2.00 bridge-hello-time 2.00 forward-delay 0.
Troubleshooting with the Serial Console The other log file, xend-debug.log , is very useful to system administrators since it contains even more detailed information than xend.log . Here is the same error data for the same kernel domain creation problem: ERROR: Will only load images built for Xen v3.0 ERROR: Actually saw: GUEST_OS=netbsd, GUEST_VER=2.0, XEN_VER=2.
Chapter 18. Red Hat Virtualization Troubleshooting xm console [domain name or number] Where domain100 represents a running name or number. You can also use the Virtual Machine Manager to display the virtual text console. On the Virtual Machine Details window, select Serial Console from the View menu. 8. Full Virtualization Guest Console Access Full Virtualized guest operating systems automatically has a text console configured for use, but the difference is the kernel guest is not configured.
Implementing Lun Persistence The output should resemble the following: [root@devices] # scsi_id -g -s /block/sdc *3600a0b80001327510000015427b625e* This long string of characters is the UUID. To get the device names to key off the UUID, check each device path to ensure that the UUID number is the same for each device. The UUIDs do not change when you add a new device to your system. Once you have checked the device paths, you must create rules for the device naming.
Chapter 18. Red Hat Virtualization Troubleshooting } multipath } multipath alias oramp2 wwid alias 3600a0b80001327510000015427b625e oramp3 wwid alias 3600a0b80001327510000015427b625e oramp4 { { } This defines 4 luns: /dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3, and dev/mpath/oramp4. The devices will reside in the /dev/mpath directory. These lun names are persistent over reboots as it creates the alias names on the wwid of the luns. 10.
Common Troubleshooting Situations # kpartx -a /dev/xen/guest1 #vgscan Reading all physical volumes . This may take a while... Found volume group "VolGroup00" using metadata type 1vm2 # vgchange -ay VolGroup00 2 logical volume(s) in volume group VolGroup00 now active. # lvs LV VG Attr Lsize Origin Snap% Move Log Copy% LogVol00 VolGroup00 -wi-a- 5.06G LogVol01 VolGroup00 -wi-a- 800.00M # mount /dev/VolGroup00/LogVol00 /mnt/ ....
Chapter 18. Red Hat Virtualization Troubleshooting File "/usr/lib/python2.4/site-packages/xen/xend/image.py" , line30, in ? xc = xen.lowlevel.xc.xc () RuntimeError: (2, 'No such file or directory' ) What is most likely happened here is that you rebooted your host into a kernel that is not a xen-hypervisor kernel. To correct this, you must select the xen-hypervisor kernel at boot time (or set the xen-hypervisor kernel to default in your grub.conf file. 13.
Network Bridge Errors serial --unit=1 --speed=115200 title RHEL5 i386 Xen (2.6.18-1.2910.el5xen) root (hd0, 8) kernel /boot/xen.gz-2.6.18-1.2910.el5 com2=115200, 8n1 module /boot/vmlinuz-2.6.18-1.2910.el5xen to root=LABEL=RHEL5_i386 console=tty console=ttyS1115200 module /boot/initrd-2.8.6.18-12910.el5xen.img title RHEL5 i386 xen (2.6.18.-1.2910.el5xen root (hd0, 8) kernel /boot/xen.gz-2.6.18-1.2910.el5 com2=115200 console=com2l module /boot/vmlinuz2.6.18-1.2910.
Chapter 18. Red Hat Virtualization Troubleshooting network-script network-xen-multi-bridge Make sure to uncomment the line that states: network-script network-bridge If you want to create multiple Xen bridges, you must create a custom script. This example below creates two Xen bridges (called xenbr0 and xenbr1 ) and attaches them to eth1 and eth0 , respectively: # !/bin/sh # network-xen-multi-bridge # Exit if anything goes wrong set -e # First arg is operation.
Laptop Configurations use by Red Hat Virtualization. WiFi cards are not the ideal network connection method since Red Hat Virtualization uses the default network interface. The idea here is to create a 'dummy' network interface for Red Hat Virtualization to use. This technique allows you to use a hidden IP address space for your guests and Virtual Machines. To do this operation successfully, you must use static IP addresses as DHCP does not listen for IP addresses on the dummy network.
Chapter 18. Red Hat Virtualization Troubleshooting It is a good idea to enable NAT in domain0 so that domU can access the public net. This way, even wireless users can work around the Red Hat Virtualization wireless limitations. To do this, you must modify the S99XenLaptopNAT file that resides in the /etc/rc3.
Modifying Domain0 must modify the symbolic links that resides in /etc/xen/auto . This file points to the guest configuration files that you need to start automatically. The startup process is serialized, meaning that the higher the number of guests, the longer the boot process will take. This example shows you how to use symbolic links for the guest rhel5vm01 : [root@python [root@python [root@python [root@python [root@python xen]# cd /etc/xen xen]# cd auto auto]# ls auto]# ln -s ../rhel5vm01 .
Chapter 18. Red Hat Virtualization Troubleshooting serial --unit=0 --speed =115200 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console title Red Hat Enterprise Linux Server (2.6.17-1.2519.4.21. el5xen) root (hd0,0) kernel /xen.gz-2.6.17-1.2519.4.21.el5 com1=115200, 8n1 dom0_mem=256MB module /vmlinuz-2.6.17-1.2519.4.21.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.17-1.2519.4.21.el5xen.img 20.
Cloning the Guest Configuration Files 21. Cloning the Guest Configuration Files You can copy (or clone) an existing configuration file to create an all new guest. You must modify the name parameter of the guests' configuration file. The new, unique name then appears in the hypervisor and is viewable by the management utilities. You must generate an all new UUID as well (using the uuidgen(1) command).
Chapter 18. Red Hat Virtualization Troubleshooting However there are some additional modifications that you must do to the xend-config configuration file. This example identifies the entries that you must modify to ensure a successful migration: (xend-relocation-server yes) The default for this parameter is 'no', which keeps the relocation/migration server deactivated (unless on a trusted network) and the domain virtual memory is exchanged in raw form without encryption.
Interpreting Error Messages Domain-0 NewMemSize" to check memory. You receive the following error: wrong kernel image: non-PAE kernel on a PAE This message indicates that you are trying to run an unsupported guest kernel image on your Hypervisor. This happens when you try to boot a non-PAE paravirtual guest kernel on a RHEL 5.1 hypervisor. Red Hat Virtualization only supports guest kernels with PAE and 64bit architectures.
Chapter 18. Red Hat Virtualization Troubleshooting This happens when the virt-manager application fails to launch. This error occurs when there is no localhost entry in the /etc/hosts configuration file. Check the file and verify if the localhost entry is enabled. Here is an example of an incorrect localhost entry: # Do not remove the following line, or various programs # that require network functionality will fail. localhost.
Online Troubleshooting Resources [2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1449) XendDomainInfo.destroy: domid=2 [2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1457) XendDomainInfo.destroyDomain(2) [2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback /local/domain/0/backend/vif/2/0/hotplug-status To resolve this problem, you must edit your guest configuration file, and modify the vif entry.
Chapter 18. Red Hat Virtualization Troubleshooting http://www.libvirt.org [http://www.libvirt.org/] • virt-manager Project Home Page http://virt-manager.et.redhat.com [http://virt-manager.et.redhat.com/] • Xen Community Center http://www.xensource.com/xen/xen/ • Virtualization Technologies Overview http://virt.kernelnewbies.org [http://virt.kernelnewbies.org/] • Emerging Technologies Projects http://et.redhat.com [http://et.redhat.
Chapter 19. Additional Resources To learn more about Red Hat Virtualization, refer to the following resources. 1. Useful Websites • http://www.cl.cam.ac.uk/research/srg/netos/xen/ — The project website of the Xen™ para-virtualization machine manager from which Red Hat Virtualization is derived. The site maintains the upstream Xen project binaries and sourcecode and also contains information, architecture overviews, documentation, and related links regarding Xen and its associated technologies.
104
Appendix A. Lab 1 Xen Guest Installation Goal: To install RHEL 3, 4, or 5 and Windows XP Xen guests. Prerequisites: A workstation installed with Red Hat Enterprise Linux 5.0 with Virtualization component. For this lab, you will configure and install RHEL 3, 4, or 5 and Win XP Xen guests using various virtualization tools. Lab Sequence 1: Checking for PAE support You must determine whether your system has PAE support.
Appendix A. Lab 1 3. Type rhel5b2-pv1 for your virtual machine name. 4. Type 500 for your RAM allocation. 5. Type /xen/rhel5b2-pv1.img for your disk (guest image). 6. Type 6 for the size of your disk (guest image). 7. Type yes to enable graphics support. 8. Type nfs:server:/path/to/rhel5b2 for your install location. 9. The installation begins. Proceed as normal with the installation. 10.After the installation completes, type /etc/xen/rhel5b2-pv1, and make the following changes: #vnc=1#vncunused=1sdl=1 11.
For this lab, you must determine if your system supports Intel-VT or AMD-V hardware. Your system must support Intel-VT or AMD-V enabled CPUs to successfully install the fully virtualized guest operating systems. Red Hat Virtualization incorporates a generic HVM layer to support these CPU vendors. 1. To determine if your CPU has Intel-VT or AMD-V support, type the following command: egrep -e 'vmx|svm' /proc/cpuinfo 2. The following output shows a CPU that supports Intel-VT: .
Appendix A. Lab 1 5. Type /xen/rhel5b2-fv1.img for your disk (guest image). 6. Type 6 for the size of your disk (guest image). 7. Type yes to enable graphics support. 8. Type /dev/cdrom for the virtual CD image. 9. The VNC viewer appears within the installation window. If there is an error message that says “main: Unable to connect to host: Connection refused (111)”, then type the following command to proceed: vncviewer localhost:5900. VNC port 5900 refers to the first Xen guest that is running on VNC.
1. The same instructions for Lab Sequence 6 applies here. Lab Sequence 8: Installing RHEL4 Xen fully virtualized guest using virt-manager For this lab, you will install a Red Hat Enterprise Linux 4 Xen guest using virt-manager : 1. The same instructions for Lab Sequence 6 applies here. Lab Sequence 9: Installing Windows XP Xen fully virtualized guest using virt-manager. For this lab, you will install a Windows XP Xen fully virtualized guest using virt-manager: 1.
Appendix A. Lab 1 15.In the Virtual Machine Manager window, select the winxp Xen guest and click Open. 16.The Virtual Machine Console window appears. Proceed as normal and finish up with the installation. 17.Whenever a 'Files Needed' dialog box appears, change the path GLOBALROOT\DEVICE\CDROM0\I386 to C:\I386. Depending on your installation, you may or may not see this problem. You may be prompted for missing files during the installation. Changing the path to C:\I386 should compensate for this problem.
Appendix B. Lab 2 Live Migration Goal: To configure and perform a live migration between two hosts. Prerequisite: Two workstations installed with Red Hat Enterprise Linux 5.0 Beta 2 with Virtualization Platform, and a Fedora Core 6 Xen guest on one of the two workstations. For this lab, you will configure the migration and execute a live migration between two hosts. Introduction: Before you begin For this lab, you will need two Virtualization hosts: a Xen guest and a shared storage.
Appendix B. Lab 2 3. Restart xend:service and xend restart. Sequence 2: Exporting a shared storage via NFS For this lab procedure, you will configure NFS and use it to export a shared storage. 1. Edit /etc/exports and include the line: /xen *(rw,sync,no_root_squash)/ 2. Save /etc/exports and restart the NFS server. Make sure that the NFS server starts by default:service nfs startchkconfig nfs on. 3. After starting the NFS server on host1, we can then mount it on host2:mount host1:/xen . 4.
5. Click Movie, then Open Location. Enter http://guest:8888/TruthHappens.ogg. Sequence 4: Performing live migration 1. Run the TruthHappens.ogg file on one of the two Xen hosts. 2. Perform the live migration from host1 to host2: xm migrate –live fc6-pv1 host2 3. Open multiple window terminals on both Xen hosts with the following command: watch -n1 xm list 4. Observe as the live migration beginss. Note how long it takes for migration to complete.
114