From Fedora Project Wiki

m (Docs/Beats/Virtualization moved to Documentation Virtualization Beat: Natural language name change.)
No edit summary
(139 intermediate revisions by 17 users not shown)
Line 1: Line 1:
== Virtualization ==
[[Category:Docs Project]]
[[Category:Draft documentation]]
[[Category:Documentation beats]]


Virtualization in Fedora 10 includes major changes, and new features, that continue to support KVM, Xen, and many other virtual machine platforms.
== AArch64 QEMU/KVM VM installation with libvirt and virt-manager support ==
 
You may now use '''libvirt''' and '''virt-manager''' to install a virtual machine on the AArch64 architecture with the KVM hypervisor.  
=== 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> 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.  
Instructions are available here:
* https://fedoraproject.org/wiki/Architectures/AArch64/Install_with_QEMU
* https://fedoraproject.org/wiki/QA:Testcase_Virt_AArch64_on_x86


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.  
== UEFI VMs installation with libvirt and virt-manager support ==
UEFI install options are now automatically available if UEFI/OVMF binaries are installed.  


{{Admon/important | KVM requires hardware virtualization features in the host system.| Systems lacking hardware virtualization do not support Xen guests at this time. }}
Instructions are available here:


For more information refer to:  
* https://fedoraproject.org/wiki/QA:Testcase_Virtualization_UEFI
* https://fedoraproject.org/wiki/Using_UEFI_with_QEMU


* http://sourceforge.net/projects/kvm
== RBD and Gluster support with virt-install and virt-manager ==
* http://kraxel.fedorapeople.org/xenner/
* http://fedoraproject.org/wiki/Features/XenPvops
* http://fedoraproject.org/wiki/Features/XenPvopsDom0


=== Virtualization Storage Management ===
'''virt-manager''' and '''virt-install''' is now supported for RBD and Gluster storage. Both tools can now
 
easily use pre-configured gluster and rbd storage volumes.
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'''
* 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
* 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 (<code>virt_image_t</code>) to all volumes when associating with a guest.
 
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 ===
 
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.
 
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 ===
 
Fedora also includes the following virtualization improvements:
 
* 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. | Only 32 bit guests are supported at this time. }}
* 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
* The new experimental <code>xenwatch</code> package provides utilities for interacting with <code>xenstore</code> on Xen-based virtualization hosts. http://kraxel.fedorapeople.org/xenwatch/
 
==== 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). 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 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 <code>virt-manager</code> package provides a GUI implementation of <code>virtinst</code> and <code>libvirt</code> functionality.
 
'''New features and improvements since 0.5.4:'''
* Remote storage management and provisioning: view, add, remove, and provision <code>libvirt</code> 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 <code>libvirtd</code> instances on network.
* Hypervisor Autoconnect: Option to connect to hypervisor at <code>virt-manager</code> 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 <code>python-virtinst</code> package contains tools for installing and manipulating multiple VM guest image formats.
 
'''New features and improvements since 0.300.3:'''
* New tool <code>virt-convert</code>: Allows converting between different types of virt configuration files. Currently only supports ''vmx'' to ''virt-image''.
* New tool <code>virt-pack</code>: Converts ''virt-image'' xml format to ''vmx'' and packs in a tar.gz. (Note this will likely be merged with <code>virt-convert</code> in the future).
* <code>virt-install</code> 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 <code>--cpuset=auto</code> option
** New options:
: <code>--wait</code> allows putting a hard time limit on installs
: <code>--sound</code> create VM with soundcard emulation
: <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>.
: <code>--prompt</code>  Input prompting is no longer the default, this option turns it back on.
* <code>virt-image</code> improvements:
** <code>--replace</code> option to overwrite existing VM image file
** 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)
 
For further details refer to:
 
* http://virt-manager.et.redhat.com/
 
==== 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 <code>pv_ops</code> 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:
 
* http://www.xen.org/download/roadmap.html -- Xen roadmap
* http://xenbits.xen.org/paravirt_ops/patches.hg/ -- paravirt_ops patch queue

Revision as of 06:56, 17 May 2015


AArch64 QEMU/KVM VM installation with libvirt and virt-manager support

You may now use libvirt and virt-manager to install a virtual machine on the AArch64 architecture with the KVM hypervisor.

Instructions are available here:

UEFI VMs installation with libvirt and virt-manager support

UEFI install options are now automatically available if UEFI/OVMF binaries are installed.

Instructions are available here:

RBD and Gluster support with virt-install and virt-manager

virt-manager and virt-install is now supported for RBD and Gluster storage. Both tools can now easily use pre-configured gluster and rbd storage volumes.