From Fedora Project Wiki

(→‎Other Improvements: clarify virt-mem for 32 bit guests only)
(linking style changed to match release notes requirements; a few changes to more active tense; well written beat!)
Line 1: Line 1:
==Virtualization==
+
== Virtualization ==
  
 
Virtualization in Fedora 10 includes major changes, and new features, that continue to support KVM, Xen, and many other virtual machine platforms.
 
Virtualization in Fedora 10 includes major changes, and new features, that continue to support KVM, Xen, and many other virtual machine platforms.
 
    
 
    
 
=== Unified Kernel Image ===
 
=== Unified Kernel Image ===
The <code>kernel-xen</code> package has been obsoleted by the integration of paravirtualization operations in the upstream kernel. The <code>kernel</code> in Fedora 10 supports booting as a guest domU, but will not function as a dom0 until such support is provided upstream. The most recent Fedora release with dom0 support is Fedora 8.
 
  
Booting a Xen domU guest within a Fedora 10 host requires the [http://sourceforge.net/projects/kvm KVM] based <code>[http://kraxel.fedorapeople.org/xenner/ xenner]</code>. Xenner runs the guest kernel and a small Xen emulator together as a KVM guest.  
+
The <code>kernel-xen</code> package has been obsoleted by the integration of paravirtualization operations in the upstream kernel. The <code>kernel</code> package in Fedora 10 supports booting as a guest domU, but will not function as a dom0 until such support is provided upstream. The most recent Fedora release with dom0 support is Fedora 8.  
  
{{Admon/important | KVM requires hardware virtualization features in the host system. Systems lacking hardware virtualization will not support Xen guests at this time. }}
+
Booting a Xen domU guest within a Fedora 10 host requires the KVM based <code>xenner</code>. Xenner runs the guest kernel and a small Xen emulator together as a KVM guest.  
  
For more information refer to: [[Features/XenPvops]] and [[Features/XenPvopsDom0]].
+
{{Admon/important | KVM requires hardware virtualization features in the host system.| Systems lacking hardware virtualization do not support Xen guests at this time. }}
 +
 
 +
For more information refer to:  
 +
 
 +
* http://sourceforge.net/projects/kvm
 +
* http://kraxel.fedorapeople.org/xenner/
 +
* http://fedoraproject.org/wiki/Features/XenPvops
 +
* http://fedoraproject.org/wiki/Features/XenPvopsDom0
  
 
=== Virtualization Storage Management ===
 
=== Virtualization Storage Management ===
Advances in <code>libvirt</code> now provide the ability to list, create, and delete storage volumes on remote hosts. This includes the ability to create raw sparse & non-sparse files in a directory, allocate LVM logical volumes, partition physical disks, and attach to iSCSI targets.
 
  
This enables the <code>virt-manager</code> tool to remote provision new guest domains, and manage the storage associated with them. It provides improved SELinux integration, since the APIs will be able to ensure that all storage volumes have the correct SELinux security context when being assigned to a guest.
+
Advances in <code>libvirt</code> now provide the ability to list, create, and delete storage volumes on remote hosts. This includes the ability to create raw sparse and non-sparse files in a directory, allocate LVM logical volumes, partition physical disks, and attach to iSCSI targets.
 +
 
 +
This enables the <code>virt-manager</code> tool to remotely provision new guest domains, and manage the storage associated with them. It provides improved SELinux integration, since the APIs ensure that all storage volumes have the correct SELinux security context when being assigned to a guest.
  
 
'''Features'''
 
'''Features'''
* List storage volumes in a directory, and allocate new volumes, raw files both sparse and non-sparse, and formats supported by qemu-img (cow, qcow, qcow2, vmdk, etc)
+
* List storage volumes in a directory, and allocate new volumes, raw files both sparse and non-sparse, and formats supported by <code>qemu-img</code> (cow, qcow, qcow2, vmdk, etc)
 
* List partitions in a disk, and allocate new partitions from free space
 
* List partitions in a disk, and allocate new partitions from free space
 
* Connect to an iSCSI server and list volumes associated with an exported target
 
* Connect to an iSCSI server and list volumes associated with an exported target
 
* List logical volumes in an LVM volume group, and allocate new LVM logical volumes
 
* List logical volumes in an LVM volume group, and allocate new LVM logical volumes
* Automatically assign correct SELinux security context label to all volumes when associating with a guest (ie, virt_image_t)
+
* Automatically assign correct SELinux security context label (<code>virt_image_t<code>) to all volumes when associating with a guest.
  
For further details see [[Features/VirtStorage]], [http://libvirt.org/storage.html libvirt Storage Management], [http://virt-manager.et.redhat.com/page/StorageManagement virt-manager Storage Management], [http://kvm.qumranet.com/kvmwiki/Virtio Virtio]
+
For further details refer to:
 +
 
 +
* http://fedoraproject.org/wiki/Features/VirtStorage
 +
* http://libvirt.org/storage.html -- libvirt Storage Management
 +
* http://virt-manager.et.redhat.com/page/StorageManagement -- virt-manager Storage Management
 +
* http://kvm.qumranet.com/kvmwiki/Virtio
  
 
=== Remote Installation of Virtual Machines ===
 
=== Remote Installation of Virtual Machines ===
 +
 
Improvements in Virtualization Storage Management have enabled the creation of guests on remote host systems. By leveraging Avahi, systems supporting <code>libvirt</code> can be automatically detected by <code>virt-manager</code>. Upon detection guests can be provisioned on the remote system.
 
Improvements in Virtualization Storage Management have enabled the creation of guests on remote host systems. By leveraging Avahi, systems supporting <code>libvirt</code> can be automatically detected by <code>virt-manager</code>. Upon detection guests can be provisioned on the remote system.
  
 
Installations can be automated with the help of <code>cobbler</code> and <code>koan</code>. Cobbler is a Linux installation server that allows for rapid setup of network installation environments. Network installs can be configured for PXE boot, reinstallations, media-based net-installs, and virtualized guest installs. Cobbler uses a helper program, <code>koan</code>, for reinstallation and virtualization support.  
 
Installations can be automated with the help of <code>cobbler</code> and <code>koan</code>. Cobbler is a Linux installation server that allows for rapid setup of network installation environments. Network installs can be configured for PXE boot, reinstallations, media-based net-installs, and virtualized guest installs. Cobbler uses a helper program, <code>koan</code>, for reinstallation and virtualization support.  
  
For further details see: [[Features/VirtRemoteInstall]], [http://virt-manager.et.redhat.com/page/LibvirtDiscovery virt-manager Discovery], [http://avahi.org/ Avahi], [http://fedorahosted.org/cobbler Cobbler]
+
For further details refer to:
 +
 
 +
* http://fedoraproject.org/wiki/Features/VirtRemoteInstall
 +
* http://virt-manager.et.redhat.com/page/LibvirtDiscovery -- virt-manager Discovery
 +
* http://avahi.org/
 +
* http://fedorahosted.org/cobbler
  
 
=== Other Improvements ===
 
=== Other Improvements ===
 +
 
Fedora also includes the following virtualization improvements:
 
Fedora also includes the following virtualization improvements:
* Utilities in the new <code>[http://et.redhat.com/~rjones/virt-mem/ virt-mem]</code> package provide access to process tables, interface information, dmesg, and uname of QEmu and KVM guests from the host system.
+
 
{{Admon/note | <code>virt-mem</code> is experimental, and only functions on 32 bit guests at this time. }}
+
* Utilities in the new <code>virt-mem</code> package provide access to process tables, interface information, dmesg, and uname of QEmu and KVM guests from the host system. http://et.redhat.com/~rjones/virt-mem/ {{Admon/note | <code>virt-mem</code> is experimental, and only functions on 32 bit guests at this time. }}
* The new <code>[http://et.redhat.com/~rjones/virt-df/ virt-df]</code> tool provides information on the disk usage of guests from the host system.
+
* The new <code>virt-df</code> tool provides information on the disk usage of guests from the host system. http://et.redhat.com/~rjones/virt-df
  
 
==== libvirt Updated to 0.4.6 ====
 
==== libvirt Updated to 0.4.6 ====
The <code>libvirt</code> package provides an API and tools to interact with the virtualization capabilities of recent versions of Linux (and other OSes). <code>libvirt</code> is designed to be a common denominator among all virtualization technologies with support for the following:
+
 
 +
The <code>libvirt</code> package provides an API and tools to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The <code>libvirt</code> software is designed to be a common denominator among all virtualization technologies with support for the following:
 +
 
 
* The Xen hypervisor on Linux and Solaris hosts.
 
* The Xen hypervisor on Linux and Solaris hosts.
 
* The QEMU emulator
 
* The QEMU emulator
Line 53: Line 74:
 
* Storage pools API
 
* Storage pools API
 
* Improved iSCSI support
 
* Improved iSCSI support
* USB device passthrough for QEmu and KVM
+
* USB device passthrough for QEMU and KVM
* Sound, serial, and parallel device support for QEmu and Xen
+
* Sound, serial, and parallel device support for QEMU and Xen
* Support for NUMA and vCPU pinning in QEmu
+
* Support for NUMA and vCPU pinning in QEMU
 
* Unified XML domain and network parsing for all virtualization drivers
 
* Unified XML domain and network parsing for all virtualization drivers
  
For further details see: http://www.libvirt.org/news.html
+
For further details refer to:
 +
 
 +
http://www.libvirt.org/news.html
  
 
==== virt-manager Updated to 0.6.0 ====
 
==== virt-manager Updated to 0.6.0 ====
Line 76: Line 99:
 
* Allow limiting the amount of stored stats history.
 
* Allow limiting the amount of stored stats history.
  
For further details see: [http://virt-manager.et.redhat.com/ Virtual Machine Manager]
+
For further details refer to:
 +
 
 +
http://virt-manager.et.redhat.com/
  
 
==== virtinst Updated to 0.400.0 ====
 
==== virtinst Updated to 0.400.0 ====
Line 87: Line 112:
 
** Support for remote VM installation. Can use install media and disk images on remote host if shared via libvirt. Allows provisioning storage on remote pools.
 
** Support for remote VM installation. Can use install media and disk images on remote host if shared via libvirt. Allows provisioning storage on remote pools.
 
** Support setting CPU pinning information for QEmu/KVM VMs
 
** Support setting CPU pinning information for QEmu/KVM VMs
** NUMA support via ''--cpuset=auto'' option
+
** NUMA support via <code>--cpuset=auto</code> option
 
** New options:
 
** New options:
: ''--wait'' allows putting a hard time limit on installs
+
: <code>--wait</code> allows putting a hard time limit on installs
: ''--sound'' create VM with soundcard emulation
+
: <code>--sound</code> create VM with soundcard emulation
: ''--disk'' allows specifying media as a path, storage volume, or a pool to provision storage on, device type, and several other options.  Deprecates ''--file'', ''--size'', ''--nonsparse''.
+
: <code>--disk</code> allows specifying media as a path, storage volume, or a pool to provision storage on, device type, and several other options.  Deprecates <code>--file</code>, <code>--size</code>, <code>--nonsparse</code>.
: ''--prompt'' Input prompting is no longer the default, this option turns it back on.
+
: <code>--prompt</code> Input prompting is no longer the default, this option turns it back on.
 
* <code>virt-image</code> improvements:
 
* <code>virt-image</code> improvements:
** ''--replace'' option to overwrite existing VM image file
+
** <code>--replace</code> option to overwrite existing VM image file
** Support multiple network interfaces in ''virt-image'' format
+
** Support multiple network interfaces in <code>virt-image</code> format
 
* Use virtio disk/net drivers if chosen guest OS entry supports it (Fedora 9 and 10)
 
* Use virtio disk/net drivers if chosen guest OS entry supports it (Fedora 9 and 10)
  
For further details see: [http://virt-manager.et.redhat.com/ Virtual Machine Manager]
+
For further details refer to:
 +
 
 +
* http://virt-manager.et.redhat.com/
  
 
==== Xen Updated to 3.3.0 ====
 
==== Xen Updated to 3.3.0 ====
Fedora 10 supports booting as a guest domU, but will not function as a dom0 until such support is provided in the upstream kernel. Support for a pv_ops dom0 is targeted for Xen 3.4.
+
Fedora 10 supports booting as a guest domU, but will not function as a dom0 until such support is provided in the upstream kernel. Support for a <code>pv_ops</code> dom0 is targeted for Xen 3.4.
  
 
'''Changes since 3.2.0:'''
 
'''Changes since 3.2.0:'''
 
* Power management (P & C states) in the hypervisor
 
* Power management (P & C states) in the hypervisor
* HVM emulation domains ('qemu-on-minios') for better scalability, performance, and security
+
* HVM emulation domains (''qemu-on-minios'') for better scalability, performance, and security
 
* PVGrub: boot PV kernels using real GRUB inside the PV domain
 
* PVGrub: boot PV kernels using real GRUB inside the PV domain
 
* Better PV performance: domain lock removed from pagetable-update paths
 
* Better PV performance: domain lock removed from pagetable-update paths
Line 118: Line 145:
 
* Many other changes in both x86 and IA64 ports
 
* Many other changes in both x86 and IA64 ports
  
For further details see: [http://www.xen.org/download/roadmap.html Xen Roadmap],
+
For further details refer to:
[http://xenbits.xen.org/paravirt_ops/patches.hg/ paravirt_ops patch queue]
+
 
 +
* http://www.xen.org/download/roadmap.html -- Xen roadmap
 +
* http://xenbits.xen.org/paravirt_ops/patches.hg/ -- paravirt_ops patch queue

Revision as of 22:53, 12 October 2008

Virtualization

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

Unified Kernel Image

The kernel-xen package has been obsoleted by the integration of paravirtualization operations in the upstream kernel. The kernel package in Fedora 10 supports booting as a guest domU, but will not function as a dom0 until such support is provided upstream. The most recent Fedora release with dom0 support is Fedora 8.

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

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

For more information refer to:

Virtualization Storage Management

Advances in libvirt now provide the ability to list, create, and delete storage volumes on remote hosts. This includes the ability to create raw sparse and non-sparse files in a directory, allocate LVM logical volumes, partition physical disks, and attach to iSCSI targets.

This enables the virt-manager tool to remotely provision new guest domains, and manage the storage associated with them. It provides improved SELinux integration, since the APIs ensure that all storage volumes have the correct SELinux security context when being assigned to a guest.

Features

  • List storage volumes in a directory, and allocate new volumes, raw files both sparse and non-sparse, and formats supported by qemu-img (cow, qcow, qcow2, vmdk, etc)
  • List partitions in a disk, and allocate new partitions from free space
  • Connect to an iSCSI server and list volumes associated with an exported target
  • List logical volumes in an LVM volume group, and allocate new LVM logical volumes
  • Automatically assign correct SELinux security context label (virt_image_t) to all volumes when associating with a guest.

For further details refer to:

Remote Installation of Virtual Machines

Improvements in Virtualization Storage Management have enabled the creation of guests on remote host systems. By leveraging Avahi, systems supporting libvirt can be automatically detected by virt-manager. Upon detection guests can be provisioned on the remote system.

Installations can be automated with the help of cobbler and koan. Cobbler is a Linux installation server that allows for rapid setup of network installation environments. Network installs can be configured for PXE boot, reinstallations, media-based net-installs, and virtualized guest installs. Cobbler uses a helper program, koan, for reinstallation and virtualization support.

For further details refer to:

Other Improvements

Fedora also includes the following virtualization improvements:

  • Utilities in the new virt-mem package provide access to process tables, interface information, dmesg, and uname of QEmu and KVM guests from the host system. http://et.redhat.com/~rjones/virt-mem/
Note.png
virt-mem is experimental, and only functions on 32 bit guests at this time.

libvirt Updated to 0.4.6

The libvirt package provides an API and tools to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The libvirt software is designed to be a common denominator among all virtualization technologies with support for the following:

  • The Xen hypervisor on Linux and Solaris hosts.
  • The QEMU emulator
  • The KVM Linux hypervisor
  • The LXC Linux container system
  • The OpenVZ Linux container system
  • Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, and NFS

New features and improvements since 0.4.2:

  • Enhanced OpenVZ support
  • Enhanced Linux containers (LXC) support
  • Storage pools API
  • Improved iSCSI support
  • USB device passthrough for QEMU and KVM
  • Sound, serial, and parallel device support for QEMU and Xen
  • Support for NUMA and vCPU pinning in QEMU
  • Unified XML domain and network parsing for all virtualization drivers

For further details refer to:

http://www.libvirt.org/news.html

virt-manager Updated to 0.6.0

The virt-manager package provides a GUI implementation of virtinst and libvirt functionality.

New features and improvements since 0.5.4:

  • Remote storage management and provisioning: view, add, remove, and provision libvirt managed storage. Attach managed storage to a remote VM.
  • Remote VM installation support: Install from managed media (CDROM) or PXE. Simple install time storage provisioning.
  • VM details and console windows merged: each VM is now represented by a single tabbed window.
  • Use Avahi to list libvirtd instances on network.
  • Hypervisor Autoconnect: Option to connect to hypervisor at virt-manager start up.
  • Option to add sound device emulation when creating new guests.
  • Virtio and USB options when adding a disk device.
  • Allow viewing and removing VM sound, serial, parallel, and console devices.
  • Allow specifying a keymap when adding display device.
  • Keep app running if manager window is closed but VM window is still open.
  • Allow limiting the amount of stored stats history.

For further details refer to:

http://virt-manager.et.redhat.com/

virtinst Updated to 0.400.0

The python-virtinst package contains tools for installing and manipulating multiple VM guest image formats.

New features and improvements since 0.300.3:

  • New tool virt-convert: Allows converting between different types of virt configuration files. Currently only supports vmx to virt-image.
  • New tool virt-pack: Converts virt-image xml format to vmx and packs in a tar.gz. (Note this will likely be merged with virt-convert in the future).
  • virt-install improvements:
    • Support for remote VM installation. Can use install media and disk images on remote host if shared via libvirt. Allows provisioning storage on remote pools.
    • Support setting CPU pinning information for QEmu/KVM VMs
    • NUMA support via --cpuset=auto option
    • New options:
--wait allows putting a hard time limit on installs
--sound create VM with soundcard emulation
--disk allows specifying media as a path, storage volume, or a pool to provision storage on, device type, and several other options. Deprecates --file, --size, --nonsparse.
--prompt Input prompting is no longer the default, this option turns it back on.
  • virt-image improvements:
    • --replace option to overwrite existing VM image file
    • Support multiple network interfaces in virt-image format
  • Use virtio disk/net drivers if chosen guest OS entry supports it (Fedora 9 and 10)

For further details refer to:

Xen Updated to 3.3.0

Fedora 10 supports booting as a guest domU, but will not function as a dom0 until such support is provided in the upstream kernel. Support for a pv_ops dom0 is targeted for Xen 3.4.

Changes since 3.2.0:

  • Power management (P & C states) in the hypervisor
  • HVM emulation domains (qemu-on-minios) for better scalability, performance, and security
  • PVGrub: boot PV kernels using real GRUB inside the PV domain
  • Better PV performance: domain lock removed from pagetable-update paths
  • Shadow3: optimisations to make this the best shadow pagetable algorithm yet, making HVM performance better than ever
  • Hardware Assisted Paging enhancements: 2MB page support for better TLB locality
  • CPUID feature levelling: allows safe domain migration across systems with different CPU models
  • PVSCSI drivers for SCSI access direct into PV guests
  • HVM framebuffer optimisations: scan for framebuffer updates more efficiently
  • Device passthrough enhancements
  • Full x86 real-mode emulation for HVM guests on Intel VT: supports a much wider range of legacy guest OSes
  • New qemu merge with upstream development
  • Many other changes in both x86 and IA64 ports

For further details refer to: