Product SiteDocumentation Site

Fedora 13

Virtualization Guide

The definitive guide for virtualization on Fedora

Edition 0

Fedora Documentation Team

Christopher Curran

Red Hat Engineering Content Services

Legal Notice

Copyright © 2008,2009,2010 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
For guidelines on the permitted uses of the Fedora trademarks, refer to
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
All other trademarks are the property of their respective owners.
The Fedora Virtualization Guide contains information on installation, configuring, administering, and troubleshooting virtualization technologies included with Fedora.
Please note: This document is still under development, is subject to heavy change, and is provided here as a preview. The content and instructions contained within should not be considered complete, and should be used with caution.

1. About this book
2. Document Conventions
2.1. Typographic Conventions
2.2. Pull-quote Conventions
2.3. Notes and Warnings
3. We Need Feedback!
I. Requirements and limitations
1. System requirements
2. KVM compatibility
3. Virtualization limitations
3.1. General limitations for virtualization
3.2. KVM limitations
3.3. Application limitations
II. Installation
4. Installing the virtualization packages
4.1. Installing KVM with a new Fedora installation
4.2. Installing KVM packages on an existing Fedora system
5. Virtualized guest installation overview
5.1. Virtualized guest prerequesites and considerations
5.2. Creating guests with virt-install
5.3. Creating guests with virt-manager
5.4. Installing guests with PXE
6. Installing Red Hat Enterprise Linux 5 as a fully virtualized guest
7. Installing Windows XP as a fully virtualized guest
8. Installing Windows Server 2003 as a fully virtualized guest
9. Installing Windows Server 2008 as a fully virtualized guest
III. Configuration
10. Virtualized storage devices
10.1. Creating a virtualized floppy disk controller
10.2. Adding storage devices to guests
10.3. Configuring persistent storage in Fedora
10.4. Add a virtualized CD-ROM or DVD device to a guest
11. Network Configuration
11.1. Network address translation (NAT) with libvirt
11.2. Bridged networking with libvirt
12. KVM Para-virtualized Drivers
12.1. Installing the KVM Windows para-virtualized drivers
12.2. Installing drivers with a virtualized floppy disk
12.3. Using KVM para-virtualized drivers for existing devices
12.4. Using KVM para-virtualized drivers for new devices
13. PCI passthrough
13.1. Adding a PCI device with virsh
13.2. Adding a PCI device with virt-manager
13.3. PCI passthrough with virt-install
14. SR-IOV
14.1. Introduction
14.2. Using SR-IOV
14.3. Troubleshooting SR-IOV
15. USB device passthrough
16. N_Port ID Virtualization (NPIV)
17. KVM guest timing management
IV. Administration
18. Server best practices
19. Security for virtualization
19.1. Storage security issues
19.2. SELinux and virtualization
19.3. SELinux
19.4. Virtualization firewall information
20. KVM live migration
20.1. Live migration requirements
20.2. Share storage example: NFS for a simple migration
20.3. Live KVM migration with virsh
20.4. Migrating with virt-manager
21. Remote management of virtualized guests
21.1. Remote management with SSH
21.2. Remote management over TLS and SSL
21.3. Transport modes
22. KSM
23. Advanced virtualization administration
23.1. Guest scheduling
23.2. Advanced memory management
23.3. Guest block I/O throttling
23.4. Guest network I/O throttling
24. Xen to KVM migration
24.1. Xen to KVM
24.2. Older versions of KVM to KVM
25. Miscellaneous administration tasks
25.1. Automatically starting guests
25.2. Using qemu-img
25.3. Overcommitting with KVM
25.4. Verifying virtualization extensions
25.5. Accessing data from a guest disk image
25.6. Setting KVM processor affinities
25.7. Generating a new unique MAC address
25.8. Very Secure ftpd
25.9. Configuring LUN Persistence
25.10. Disable SMART disk monitoring for guests
25.11. Configuring a VNC Server
V. Virtualization storage topics
26. Using shared storage with virtual disk images
26.1. Using iSCSI for storing virtual disk images
26.2. Using NFS for storing virtual disk images
26.3. Using GFS2 for storing virtual disk images
26.4. Storage Pools
26.4.1. Configuring storage devices for pools
26.4.2. Mapping virtualized guests to storage pools
VI. Virtualization reference guide
27. Virtualization tools
28. Managing guests with virsh
29. Managing guests with the Virtual Machine Manager (virt-manager)
29.1. The Add Connection window
29.2. The Virtual Machine Manager main window
29.3. The guest Overview tab
29.4. Virtual Machine graphical console
29.5. Starting virt-manager
29.6. Restoring a saved machine
29.7. Displaying guest details
29.8. Status monitoring
29.9. Displaying guest identifiers
29.10. Displaying a guest's status
29.11. Displaying virtual CPUs
29.12. Displaying CPU usage
29.13. Displaying memory usage
29.14. Managing a virtual network
29.15. Creating a virtual network
30. libvirt configuration reference
31. Creating custom libvirt scripts
31.1. Using XML configuration files with virsh
VII. Troubleshooting
32. Troubleshooting
32.1. Debugging and troubleshooting tools
32.2. Log files
32.3. Troubleshooting with serial consoles
32.4. Virtualization log files
32.5. Loop device errors
32.6. Enabling Intel VT and AMD-V virtualization hardware extensions in BIOS
32.7. KVM networking performance
A. Additional resources
A.1. Online resources
A.2. Installed documentation
B. Revision History
C. Colophon