From Fedora Project Wiki

m (→‎Virtualization: change 'further details' links to full URLs per guidelines)
Line 56: Line 56:
* http://fedoraproject.org/wiki/KVM_Stable_Guest_ABI_Design_Notes
* http://fedoraproject.org/wiki/KVM_Stable_Guest_ABI_Design_Notes


=== libguestfs library for accessing and modifying virtual machines ===
=== libguestfs Library for Manipulation of 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"<ref>http://docs.fedoraproject.org/release-notes/f11/en-US/sect-Release_Notes-Virtualization.html</ref>.
Added very late in the Fedora 11 development cycle, {{package|libguestfs}} is now an official feature in Fedora 12. 
<code>libguestfs</code> is a library for accessing and modifying guest disk images. Using Linux <code>kernel</code> and <code>QEMU</code> code, <code>libguestfs</code> can access any type of guest filesystem that Linux and <code>QEMU</code> can.
 
The following tools are provided or augmented by <code>libguestfs</code>:
* Bindings for OCaml, Perl, Python, Ruby, and Java programming languages.
* {{package|guestfish}} - Provides an interactive shell for editing virtual machine filesystems and executing commands in the context of the guest.
* {{package|virt-df}} - Displays free space on virtual machine filesystems
* {{package|virt-inspector}} - Displays OS version, kernel, drivers, mount points, applications, etc. in a virtual machine.


For further details refer to:
For further details refer to:
* http://fedoraproject.org/wiki/Features/libguestfs
* http://fedoraproject.org/wiki/Features/libguestfs
* http://libguestfs.org/


=== Network Interface Management ===
=== Network Interface Management ===

Revision as of 23:00, 31 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

Network interfaces may now be added to a running KVM guest using libvirt/virt-manager without the need to restart the guest.

For further details refer to:

KVM qcow2 Performance

The native disk image file format of qemu is qcow2. Qcow2 provides enhanced features over raw images, including: base images, snapshots, compression, and encryption.

Users wishing to protect guest machine data from host crashes commonly disable write caching on the host. Previously, this led to very poor performance for guests in qcow2 images.

The I/O performance of qcow2 disk images has been greatly improved. Users who did not use qcow2 because of the poor performance may consider to switch and take advantage of the additional features the format provides over raw disk images.

For further details refer to:

KVM Stable Guest ABI

KVM guests are presented with an emulated hardware platform or application binary interface that includes (e.g. a CPU model, APIC, PIT, ACPI tables, IDE/USB/VGA controllers, NICs etc.). When QEMU is updated to a new version, some aspects of this platform may change as new hardware capabilities are added. This is problematic for Windows guests where a guest ABI change may require a installation to be reactivated.

Guest virtual machines will now be presented with the same ABI across QEMU upgrades.

For further details refer to:

libguestfs Library for Manipulation of Virtual Machines

Added very late in the Fedora 11 development cycle, libguestfs is now an official feature in Fedora 12. libguestfs is a library for accessing and modifying guest disk images. Using Linux kernel and QEMU code, libguestfs can access any type of guest filesystem that Linux and QEMU can.

The following tools are provided or augmented by libguestfs:

  • Bindings for OCaml, Perl, Python, Ruby, and Java programming languages.
  • guestfish - Provides an interactive shell for editing virtual machine filesystems and executing commands in the context of the guest.
  • virt-df - Displays free space on virtual machine filesystems
  • virt-inspector - Displays OS version, kernel, drivers, mount points, applications, etc. in a virtual machine.

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: