From Fedora Project Wiki

(→‎Virtualization: make further details links consistent)
Line 18: Line 18:
This feature is leveraged by KVM to allow multiple, similar, guest virtual machines to have a reduced memory footprint. Because memory is shared, the combined memory usage of the guests is reduced.  
This feature is leveraged by KVM to allow multiple, similar, guest virtual machines to have a reduced memory footprint. Because memory is shared, the combined memory usage of the guests is reduced.  


* [[Features/KSM|KSM]]
For further details refer to:
* [[Features/KSM|KSM]] wiki page.
* http://lwn.net/Articles/306704/
* http://lwn.net/Articles/306704/


===  KVM Huge Page Backed Memory ===
===  KVM Huge Page Backed Memory ===
* [[Features/KVM_Huge_Page_Backed_Memory | KVM Huge Page Backed Memory]] -
Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU cache pressure.
Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU cache pressure.
Users of KVM guests using huge page backed memory should experience improved performance with some savings in host memory consumption. The performance benefit is workload dependent.Using huge pages for guest memory does have a downside, however - you can no longer swap nor balloon guest memory.
Users of KVM guests using huge page backed memory should experience improved performance with some savings in host memory consumption. The performance benefit is workload dependent.Using huge pages for guest memory does have a downside, however - you can no longer swap nor balloon guest memory.
For further details refer to:
* [[Features/KVM_Huge_Page_Backed_Memory | KVM Huge Page Backed Memory]] wiki page.


=== KVM NIC Hotplug ===
=== KVM NIC Hotplug ===
* [[Features/KVM_NIC_Hotplug|KVM NIC Hotplug]] - Allow the addition of a guest network interface (NIC) a guest virtual machine without needing to restart the guest.
Allow the addition of a guest network interface (NIC) a guest virtual machine without needing to restart the guest.
 
For further details refer to:
* [[Features/KVM_NIC_Hotplug|KVM NIC Hotplug]]


=== KVM qcow2 Performance ===
=== KVM qcow2 Performance ===
* [[Features/KVM qcow2 Performance | KVM qcow2 Performance]] - Improve the I/O performance of virtual machines using disk images in the qcow2 image format.
Improve the I/O performance of virtual machines using disk images in the qcow2 image format.
 
For further details refer to:
* [[Features/KVM qcow2 Performance | KVM qcow2 Performance]]


===KVM Stable Guest ABI ===
===KVM Stable Guest ABI ===
* [[Features/KVM_Stable_Guest_ABI|KVM Stable Guest ABI]] - Allow guest virtual machines to be presented with the same application binary interface across QEMU upgrades.
Allow guest virtual machines to be presented with the same application binary interface across QEMU upgrades.
 
For further details refer to:
* [[Features/KVM_Stable_Guest_ABI|KVM Stable Guest ABI]]


=== libguestfs library for accessing and modifying virtual machines ===
=== libguestfs library for accessing and modifying virtual machines ===
* [[Features/libguestfs | libguestfs ]] - A library for accessing and modifying virtual machine disk images.  guestfish is an interactive shell tool for editing virtual machine disk images. Technically, this actually launched in F11, but not as a "Feature"<ref>http://docs.fedoraproject.org/release-notes/f11/en-US/sect-Release_Notes-Virtualization.html</ref>.
A library for accessing and modifying virtual machine disk images.  guestfish is an interactive shell tool for editing virtual machine disk images. Technically, this actually launched in F11, but not as a "Feature"<ref>http://docs.fedoraproject.org/release-notes/f11/en-US/sect-Release_Notes-Virtualization.html</ref>.
 
For further details refer to:
* [[Features/libguestfs | libguestfs ]]
 
=== Network Interface Management ===
=== Network Interface Management ===
* [[Features/Network_Interface_Management|Network Interface Management]] - Provide tools to easily set up commonly used network configurations, like bridges, bonds, vlan's and sensible combinations thereof, in particular for virtualized hosts.  
Provide tools to easily set up commonly used network configurations, like bridges, bonds, vlan's and sensible combinations thereof, in particular for virtualized hosts.  
 
For further details refer to:
* [[Features/Network_Interface_Management|Network Interface Management]]
 
===  Single Root I/O Virtualization ===
===  Single Root I/O Virtualization ===
* [[Features/SR-IOV | SR-IOV]] - Single Root I/O Virtualization (SR-IOV) is a PCI feature which allows virtual functions (VF) to be created that share the resources of a physical function (PF).  
Single Root I/O Virtualization (SR-IOV) is a PCI feature which allows virtual functions (VF) to be created that share the resources of a physical function (PF).  
 
For further details refer to:
* [[Features/SR-IOV | SR-IOV]]
 
=== VirtgPXE ===
=== VirtgPXE ===
* [[Features/VirtgPXE | VirtgPXE]] - Replace the deprecated etherboot pxe booting infrastructure with the more modern and currently upstream supported gpxe.  
Replace the deprecated etherboot pxe booting infrastructure with the more modern and currently upstream supported gpxe.  
 
For further details refer to:
* [[Features/VirtgPXE | VirtgPXE]]
 
=== Virt Privileges ===
=== Virt Privileges ===
* [[Features/VirtPrivileges|Virt Privileges]] - Improve security by adjusting the privileges of QEMU processes managed by libvirt. Also, allow KVM to be used by unprivileged users.
Improve security by adjusting the privileges of QEMU processes managed by libvirt. Also, allow KVM to be used by unprivileged users.
 
For further details refer to:
* [[Features/VirtPrivileges|Virt Privileges]]
 
=== Virt Storage Management ===
=== Virt Storage Management ===
* [[Features/VirtStorageManagement|Virt Storage Management]] - Enable VM hosts to discover new SAN storage and issue NPIV operations.  
Enable VM hosts to discover new SAN storage and issue NPIV operations.  
 
For further details refer to:
* [[Features/VirtStorageManagement|Virt Storage Management]]


=== Other Improvements ===
=== Other Improvements ===
==== Libvirt Technology Compatibility Kit ====
==== Libvirt Technology Compatibility Kit ====
* [[Features/VirtTCK|Libvirt Technology Compatibility Kit]] - Provides a functional test suite for virtualization and report on hypervisor compatability.
Provides a functional test suite for virtualization and report on hypervisor compatability.
 
For further details refer to:
* [[Features/VirtTCK|Libvirt Technology Compatibility Kit]]


=== Xen Kernel Support ===
=== Xen Kernel Support ===
Line 62: Line 100:




For more information refer to:  
For further details refer to:
 
* http://sourceforge.net/projects/kvm
* http://sourceforge.net/projects/kvm
* http://kraxel.fedorapeople.org/xenner/
* http://kraxel.fedorapeople.org/xenner/

Revision as of 19:11, 30 August 2009


Under Construction
Work to update this page for F12 has only just begun. You can see a copy of the F11 page here.

Virtualization

Virtualization in Fedora 12 includes major changes, and new features, that continue to support KVM, Xen, and many other virtual machine platforms.

KVM and qemu have gained a number of new features in this release. KVM guest memory usage and performance is improved by the addition of KSM and KVM Huge Page Backed Memory. The performance of the qcow2 image format is greatly improved. Support for both SR-IOV and NIC hotplug has been added. Finally, gPXE is now used in place of etherboot for guest PXE booting.

On the libvirt side, APIs have been added for storage management and network interface management. libvirt now also runs qemu processes unprivileged.

A new library (libguestfs) and an interactive tool (guestfish) is now available for accessing and modifying virtual machine disk images.

Kernel SamePage Merging and Reduced Guest Memory Usage

KSM (Kernel SamePage Merging) allows identical memory pages to be merged by the kernel into a single page shared between one or more processes. This feature is leveraged by KVM to allow multiple, similar, guest virtual machines to have a reduced memory footprint. Because memory is shared, the combined memory usage of the guests is reduced.

For further details refer to:

KVM Huge Page Backed Memory

Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU cache pressure. Users of KVM guests using huge page backed memory should experience improved performance with some savings in host memory consumption. The performance benefit is workload dependent.Using huge pages for guest memory does have a downside, however - you can no longer swap nor balloon guest memory.

For further details refer to:

KVM NIC Hotplug

Allow the addition of a guest network interface (NIC) a guest virtual machine without needing to restart the guest.

For further details refer to:

KVM qcow2 Performance

Improve the I/O performance of virtual machines using disk images in the qcow2 image format.

For further details refer to:

KVM Stable Guest ABI

Allow guest virtual machines to be presented with the same application binary interface across QEMU upgrades.

For further details refer to:

libguestfs library for accessing and modifying virtual machines

A library for accessing and modifying virtual machine disk images. guestfish is an interactive shell tool for editing virtual machine disk images. Technically, this actually launched in F11, but not as a "Feature"[1].

For further details refer to:

Network Interface Management

Provide tools to easily set up commonly used network configurations, like bridges, bonds, vlan's and sensible combinations thereof, in particular for virtualized hosts.

For further details refer to:

Single Root I/O Virtualization

Single Root I/O Virtualization (SR-IOV) is a PCI feature which allows virtual functions (VF) to be created that share the resources of a physical function (PF).

For further details refer to:

VirtgPXE

Replace the deprecated etherboot pxe booting infrastructure with the more modern and currently upstream supported gpxe.

For further details refer to:

Virt Privileges

Improve security by adjusting the privileges of QEMU processes managed by libvirt. Also, allow KVM to be used by unprivileged users.

For further details refer to:

Virt Storage Management

Enable VM hosts to discover new SAN storage and issue NPIV operations.

For further details refer to:

Other Improvements

Libvirt Technology Compatibility Kit

Provides a functional test suite for virtualization and report on hypervisor compatability.

For further details refer to:

Xen Kernel Support

The kernel package in Fedora 12 supports booting as a guest domU, but will not function as a dom0 until such support is provided upstream. Work is ongoing and hopes are high that support will be included in kernel 2.6.30 and Fedora 12.

The most recent Fedora release with dom0 support is Fedora 8.

Booting a Xen domU guest within a Fedora 12 host requires the KVM based xenner. Xenner runs the guest kernel and a small Xen emulator together as a KVM guest.

KVM requires hardware virtualization features in the host system.
Systems lacking hardware virtualization do not support Xen guests at this time.


For further details refer to: