summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDayle Parker <dayleparker@redhat.com>2012-07-18 18:34:04 +1000
committerDayle Parker <dayleparker@redhat.com>2012-07-18 18:34:04 +1000
commit9f529cbc47f6d367e032bd79b14cf77179d8cf78 (patch)
tree45b64b1aae9b48229e8694a8b9343cb1e99b1252
parent1a6b21daa0758ac34df7d06a03296277bfab79d2 (diff)
downloadvirtualization-getting-started-guide-9f529cbc47f6d367e032bd79b14cf77179d8cf78.tar.gz
virtualization-getting-started-guide-9f529cbc47f6d367e032bd79b14cf77179d8cf78.tar.xz
virtualization-getting-started-guide-9f529cbc47f6d367e032bd79b14cf77179d8cf78.zip
Changed RHEL references to Fedora- made follow-up notes
-rw-r--r--en-US/Advantages.xml~154
-rw-r--r--en-US/Book_Info.xml~34
-rw-r--r--en-US/Introduction.xml~86
-rw-r--r--en-US/Products.xml~618
-rw-r--r--en-US/Tools.xml~398
-rw-r--r--en-US/Virtualization_Getting_Started_Guide.ent8
-rw-r--r--en-US/Virtualization_Getting_Started_Guide.ent~4
-rw-r--r--en-US/What_Is_It.xml~117
8 files changed, 1415 insertions, 4 deletions
diff --git a/en-US/Advantages.xml~ b/en-US/Advantages.xml~
new file mode 100644
index 0000000..62046da
--- /dev/null
+++ b/en-US/Advantages.xml~
@@ -0,0 +1,154 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<chapter id="chap-Virtualization_Getting_Started-Advantages">
+ <title>Advantages and misconceptions of virtualization</title>
+
+ <para>
+ There are many advantages to virtualization and perhaps an equal amount of misconceptions surrounding it. This chapter will explore these points.
+ </para>
+
+ <section>
+ <title>Virtualization costs</title>
+
+ <para>
+ A common misconception is that virtualization is too expensive to justify the change.<!--The conversion? Reword- confusing sentence.--> Virtualization can be expensive to introduce but often it saves money in the long term. It is important to perform a Return on Investment (ROI) analysis to determine the best use of virtualization in your environment. Consider the following benefits:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Less power</term>
+ <listitem>
+ <para>
+ Using virtualization negates much of the need for multiple physical platforms. This equates to less power being drawn for machine operation and cooling, resulting in reduced energy costs. The initial cost of purchasing multiple physical platforms, combined with the machines' power consumption and required cooling, is drastically cut by using virtualization.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Less maintenance</term>
+ <listitem>
+ <para>
+ Provided adequate planning is performed before migrating physical systems to virtualized ones, less time is spent maintaining them. This means less money being spent on parts and labor.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Extended life for installed software</term>
+ <listitem>
+ <para>
+ Older versions of software may not run on newer, bare metal machines directly. However, by running the older software virtually on a larger, faster system, the life of the software may be extended while taking advantage of the performance from the newer system.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!--<varlistentry>
+ <term>Buying new hardware to store data</term>
+ <listitem>
+ <para>
+ There is no need to buy more hardware to expand on storage space because everything is virtualized and only needs one physical system.
+ </para>
+ </listitem>
+ </varlistentry>-->
+
+
+ <!--<varlistentry>
+ <term>Predictable costs</term>
+ <listitem>
+ <para>
+ A Red Hat Enterprise Linux subscription provides support for virtualization at the normal fixed rate, making it easy to predict costs.
+ </para>
+ </listitem>
+ </varlistentry>-->
+
+ <varlistentry>
+ <term>Less space</term>
+ <listitem>
+ <para>
+ Consolidating servers onto fewer machines means less physical space is required. This means the space normally occupied by server hardware can be used for other purposes.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </section>
+
+ <section>
+ <title>Virtualization learning curve</title>
+
+ <para>
+ A misconception exists that virtualization is difficult to learn. In truth, virtualization is no more difficult or easy to learn than any new process. The skills required for managing and supporting a physical environment are easily transferable to a virtual one. Virtual environments function similarly to their physical counterparts, ensuring the learning curve remains a slight one.
+ </para>
+
+ </section>
+
+ <section>
+ <title>Performance</title>
+
+ <para>
+ On older virtualization versions that supported only a single CPU, virtual machines experienced noticeable performance limitations. This created a long-lasting misconception that virtualization solutions are slow. This is no longer the case; advances in technology allow virtual machines to run at much faster speeds than previously.
+ </para>
+
+ </section>
+
+ <section>
+ <title>Disaster recovery</title>
+
+ <para>
+ Disaster recovery is quicker and easier when the systems are virtualized. On a physical system, if something serious goes wrong, a complete re-install of the operating system is usually required, resulting in hours of recovery time. However, if the systems are virtualized this is much faster due to migration ability. If the requirements for live migration are followed, virtual machines can be restarted on another host, and the longest possible delay would be in restoring guest data. Also, because each of the virtualized systems are completely separate to each other, one system's downtime will not affect any others.
+ </para>
+
+ </section>
+
+ <section>
+ <title>Security</title>
+
+ <para>
+ <!--While virtualized systems require a host for operations, this host is usually bare metal with few, if any network services. The host supporting virtualized machines requires few, if any, network services. This means that it is very secure and need only to set up Secure Shell (SSH) manually. This section will include an overview of the security available. -->
+ A virtual machine uses SELinux <!--and sVirt--> to improve security in virtualization. This section includes an overview of the security options available.
+ </para>
+
+ <section>
+ <title>Virtualization security features</title>
+ <formalpara>
+ <title>SELinux</title>
+ <para>SELinux was developed by the US National Security Agency and others to provide Mandatory Access Control (MAC) for Linux. Under control of SELinux, all processes and files are given what is known as a <emphasis>type</emphasis>, and access is limited by fine-grained controls. SELinux limits the abilities of an attacker and works to prevent many common security exploits such as buffer overflow attacks and privilege escalation.</para>
+ </formalpara>
+ <para>SELinux strengthens the security model of Red Hat Enterprise Linux hosts and virtualized Red Hat Enterprise Linux guests. SELinux is configured and tested to work, by default, with all virtualization tools shipped with Red Hat Enterprise Linux&nbsp;6.</para>
+
+ <!--<note> Ask mprpic - owner of F17 SELinux User Guide - what to refer to here?
+ <para>For more information on SELinux, refer to the SELinux documentation at <ulink url="http://docs.redhat.com/docs/" />. For more information on security within virtualization, refer to the <citetitle>Fedora Virtualization Security Guide</citetitle>.
+ </para>
+ </note>-->
+ <!-- IS SVIRT PART OF FEDORA? <formalpara>
+ <title>sVirt</title>
+ <para>sVirt is a technology included in Red Hat Enterprise Linux&nbsp;6 that integrates SELinux and virtualization. It applies Mandatory Access Control (MAC) to improve security when using virtual machines, and improves security and hardens the system against bugs in the hypervisor that might be used as an attack vector for the host or to another virtual machine.</para>
+ </formalpara>
+ <note><para>For more information on sVirt, refer to the <citetitle>Red Hat Enterprise Linux&nbsp;6 Virtualization Administration Guide</citetitle>.</para></note>-->
+ </section>
+
+ </section>
+
+ <section>
+ <title>Virtualization for servers and individuals</title>
+
+ <para>
+ Virtualization is not just for servers; it can be useful for individuals as well. Desktop virtualization offers centralized management, an improved desktop solution, and better disaster recovery. By using connection software, it is possible to connect to a desktop remotely.
+ </para>
+
+ <para>
+ For servers, virtualization is not only for larger networks, but for any situation with two or more servers. It provides live migration, high availability, fault tolerance, and streamlined backups.
+ </para>
+
+ </section>
+
+ <!--<section>
+ <title>Rackspace</title>
+
+ <para>
+ By consolidating servers onto fewer machines, less physical space is taken up. This can mean the space normally taken up with server hardware can be used for something else, be it new systems or even just storage space.
+ </para>
+ </section>-->
+
+</chapter>
diff --git a/en-US/Book_Info.xml~ b/en-US/Book_Info.xml~
new file mode 100644
index 0000000..1b7f02a
--- /dev/null
+++ b/en-US/Book_Info.xml~
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "en-US/Virtualization_Getting_Started_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<bookinfo id="book-Virtualization_Getting_Started_Guide-Virtualization_Getting_Started_Guide">
+ <title>Virtualization Getting Started Guide</title>
+ <subtitle>Virtualization Documentation</subtitle>
+ <productname>Fedora</productname>
+ <productnumber>18</productnumber>
+ <edition>1.0</edition>
+ <pubsnumber>1</pubsnumber>
+ <abstract>
+ <para>
+ The Fedora Virtualization Getting Started Guide
+describes the basics of virtualization and the virtualization products and
+technologies that are available with Fedora.
+ </para>
+
+ <para condition="beta">
+ Note: This document is under development, is subject to substantial change, and is provided only as a preview.
+The included information and instructions should not be considered complete, and should be used with caution.
+</para>
+ </abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="Common_Content/images/title_logo.svg" format="SVG" />
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</bookinfo>
diff --git a/en-US/Introduction.xml~ b/en-US/Introduction.xml~
new file mode 100644
index 0000000..9c1e030
--- /dev/null
+++ b/en-US/Introduction.xml~
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+ <chapter id="chap-Virtualization_Getting_Started-Introduction">
+ <title>Introduction</title>
+
+ <para>
+ The Virtualization Getting Started Guide introduces the basics of virtualization and assists with the navigation of other virtualization documentation and products that Fedora provides.
+ </para>
+
+ <para>
+ This guide also explains the advantages of virtualization and dispels some common myths that exist regarding virtualization.
+ </para>
+
+
+ <section>
+ <title>Who should read this guide?</title>
+
+ <para>This guide is designed for anyone wishing to understand the basics of virtualization, but may be of particular interest to:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Those who are new to virtualization and seeking knowledge about the benefits offered.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Those considering deployment of virtualized machines in their environment.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Those looking for an overview of the virtualization technologies that Fedora produces and supports.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </section>
+<!-- Should there be a description of RHEL Virt here? In both RHEL and Fedora guides? -->
+ <section> <!--Remove section? IS there a Fedora equivalent?
+ *REMOVED FOR NOW AND ADDED VIRTUALIZATION RESOURCES TITLE & PARA-->
+ <!-- <title>Red Hat Enterprise Virtualization (RHEV)</title>
+ <para>
+ Red Hat Enterprise Virtualization for Servers is an end-to-end virtualization solution that is designed to enable pervasive datacenter virtualization and significantly enhance capital and operational efficiency. Red Hat Enterprise Virtualization 3.0 introduces several new features, including desktop virtualization with the Red Hat Enterprise Virtualization for Desktop add-on subscription.
+ </para>
+
+ <para>
+ With Red Hat Enterprise Virtualization for Desktops, complete desktop environments are hosted as virtual desktops on servers located in a centralized datacenter.
+ </para>
+
+ <para>
+ Information on both these products can be found at <ulink url="http://www.redhat.com/products/virtualization/"/>.
+ </para>
+
+ <para>
+ The full collection of Red Hat Enterprise Virtualization (RHEV) documentation can be found at <ulink url="http://docs.redhat.com/"/>.
+ </para>
+ <para>
+ In addition to the documentation for Red Hat Enterprise Virtualization products and this guide, the following titles cover virtualization with Fedora:
+ </para>-->
+ <title>Virtualization Resources</title>
+ <para>
+ In addition to <!--the documentation for Red Hat Enterprise Virtualization products and--> this guide, the following titles cover virtualization with Fedora:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para> <!--Check desciptions are accurate for Fedora, with other authors-->
+ <citetitle>Virtualization Deployment Guide</citetitle>: This guide provides information on system requirements and restrictions, package details, host configuration and detailed instructions for installing different types of guests.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <citetitle>Virtualization Administration Guide</citetitle>: This guide provides information on best server practices, security, KVM, remote management of guests, KSM, administration tasks, storage, volumes, <application>virt-manager</application>, guest disk access with offline tools, virtual networking, and troubleshooting.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <citetitle>Virtualization Security Guide</citetitle>: This guide provides information on virtualization security technologies including sVirt, configuration and best practices for host and guest security, and network security.
+ <!--IS THIS A GOOD DESCRIPTION? get sradvan to review. .... best server practices, security, KVM, remote management of guests, KSM, administration tasks, storage, volumes, <application>virt-manager</application>, guest disk access with offline tools, virtual networking, and troubleshooting.-->
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </chapter>
diff --git a/en-US/Products.xml~ b/en-US/Products.xml~
new file mode 100644
index 0000000..79aa32c
--- /dev/null
+++ b/en-US/Products.xml~
@@ -0,0 +1,618 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<chapter id="chap-Virtualization_Getting_Started-Products">
+ <title>Introduction to Fedora virtualization products</title>
+ <para>This chapter introduces the various virtualization products available in Fedora.</para>
+<section id="sec-kvm_and_virt">
+ <title>KVM and virtualization in Fedora</title>
+ <variablelist>
+ <varlistentry>
+ <term>What is KVM?</term>
+ <listitem>
+ <para>
+ KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel&nbsp;64 hardware that is built into the standard Fedora kernel. It can run multiple, unmodified Windows and Linux guest operating systems. The KVM hypervisor in Fedora is managed with the <application>libvirt</application> API and tools built for <application>libvirt</application> (such as <command>virt-manager</command> and <command>virsh</command>). Virtual machines are executed and run as multi-threaded Linux processes controlled by these tools.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Overcommitting</term>
+ <listitem>
+ <para>
+ KVM hypervisor supports <firstterm>overcommitting</firstterm> of system resources. Overcommitting means allocating more virtualized CPUs or memory than the available resources on the system. Memory overcommitting allows hosts to utilize memory and virtual memory to increase guest densities.
+ </para>
+ <important>
+ <para>
+ Overcommitting involves possible risks to system stability. For more information on overcommitting with KVM, and the precautions that should be taken, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </important>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Thin provisioning</term>
+ <listitem>
+ <para>
+ Thin provisioning allows the allocation of flexible storage and optimizes the available space for every guest. It gives the appearance that there is more physical storage on the guest than is actually available. This is not the same as overcommitting as this only pertains to storage and not CPUs or memory allocations. However, like overcommitting, the same warning applies.
+ </para>
+ <important>
+ <para>
+ Thin provisioning involves possible risks to system stability. For more information on thin provisioning with KVM, and the precautions that should be taken, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </important>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>KSM</term>
+ <listitem>
+ <para>
+ <firstterm>Kernel SamePage Merging (KSM)</firstterm>, used by the KVM hypervisor, allows KVM guests to share identical memory pages. These shared pages are usually common libraries or other identical, high-use data. KSM allows for greater guest density of identical or similar guest operating systems by avoiding memory duplication.
+ </para>
+ <para>
+ For more information on KSM, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>KVM Guest VM Compatibility</term>
+ <listitem>
+ <para>
+ To verify whether your processor supports the virtualization extensions and for information on enabling the virtualization extensions if they are disabled, refer to the <citetitle>Fedora Virtualization Administration Guide.</citetitle>
+ </para>
+ <!--<para>
+ Fedora servers have certain support limits.
+ </para>
+ <para> Is there a corresponding matrix for Fedora?
+ The following URLs explain the processor and memory amount limitations for Red Hat Enterprise Linux:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>For host systems: <ulink url="http://www.redhat.com/products/enterprise-linux/server/compare.html">http://www.redhat.com/products/enterprise-linux/server/compare.html</ulink></para>
+ </listitem>
+ <listitem>
+ <para>For hypervisors: <ulink url="http://www.redhat.com/resourcelibrary/articles/virtualization-limits-rhel-hypervisors">http://www.redhat.com/resourcelibrary/articles/virtualization-limits-rhel-hypervisors</ulink></para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ For a complete chart of supported operating systems and host and guest combinations refer to<ulink url="http://www.redhat.com/resourcelibrary/articles/enterprise-linux-virtualization-support"> http://www.redhat.com/resourcelibrary/articles/enterprise-linux-virtualization-support</ulink>.
+ </para>-->
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</section>
+<section id="sec_libvirt-libvirt-tools">
+ <title>libvirt and libvirt tools</title>
+ <para>
+ The <package>libvirt</package> package is a hypervisor-independent virtualization API that is able to interact with the virtualization capabilities of a range of operating systems.
+ </para>
+ <para>
+ The <package>libvirt</package> package provides:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ A common, generic, and stable layer to securely manage virtual machines on a host.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A common interface for managing local systems and networked hosts.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ All of the APIs required to provision, create, modify, monitor, control, migrate, and stop virtual machines, but only if the hypervisor supports these operations. Although multiple hosts may be accessed with <application>libvirt</application> simultaneously, the APIs are limited to single node operations.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ The <package>libvirt</package> package is designed as a building block for higher level management tools and applications, for example, <command>virt-manager</command> and the <command>virsh</command> command line management tools. With the exception of migration capabilities, <application>libvirt</application> focuses on managing single hosts and provides APIs to enumerate, monitor and use the resources available on the managed node, including CPUs, memory, storage, networking and Non-Uniform Memory Access (NUMA) partitions. The management tools can be located on separate physical machines from the host using secure protocols.
+ </para>
+ <para>
+ Fedora supports <application>libvirt</application> and included <application>libvirt</application>-based tools as its default method for virtualization management<!-- (as in Red Hat Enterprise Virtualization Management)-->.
+ </para>
+ <para>
+ The <package>libvirt</package> package is available as free software under the GNU Lesser General Public License. The <package>libvirt</package> project aims to provide a long term stable C API to virtualization management tools, running on top of varying hypervisor technologies. <!--The <package>libvirt</package> package supports Xen on Red Hat Enterprise Linux&nbsp;5, and it supports KVM on both Red Hat Enterprise Linux&nbsp;5 and Red Hat Enterprise Linux&nbsp;6.-->
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>virsh</term>
+ <listitem>
+ <para>
+ The <command>virsh</command> command-line tool is built on the <application>libvirt</application> management API and operates as an alternative to the graphical <command>virt-manager</command> application. The <command>virsh</command> command can be used in read-only mode by unprivileged users or, with root access, full administration functionality. The <command>virsh</command> command is ideal for scripting virtualization administration.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>virt-manager</term>
+ <listitem>
+ <para>
+ <command>virt-manager</command> is a graphical desktop tool for managing virtual machines. It allows access to graphical guest consoles and can be used to perform virtualization administration, virtual machine creation, migration, and configuration tasks. The ability to view virtual machines, host statistics, device information and performance graphs is also provided. The local hypervisor and remote hypervisors can be managed through a single interface.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <note>
+ <para>
+ For more information on <command>virt-manager</command>, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </note>
+</section>
+<section id="sec-virtualized-hardware-devices">
+ <title>Virtualized hardware devices</title>
+ <para>
+ Virtualization on Fedora presents three distinct types of system devices to virtual machines. The three types include:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Virtualized and emulated software devices <!--(was: Emulated software devices - is this correct? hardware/software?)-->
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Para-virtualized devices
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Physically shared devices
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>These hardware devices all appear as being physically attached to the virtual machine but the device drivers work in different ways.</para>
+ <section id="sec-virt-emulated-devices">
+ <title>Virtualized and emulated devices</title>
+ <para>
+ KVM implements many core devices <!--devices and drivers?--> for virtual machines in software. These emulated hardware devices are crucial for virtualizing operating systems.
+ </para>
+ <para>
+ Emulated devices are virtual devices which exist entirely in software.
+ </para>
+ <para>
+ Emulated drivers may use either a physical device or a virtual software device. Emulated drivers are a translation layer between the virtual machine and the Linux kernel (which manages the source device). The device level instructions are completely translated by the KVM hypervisor. Any device, of the same type (storage, network, keyboard, and mouse) and recognized by the Linux kernel, may be used as the backing source device for the emulated drivers.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Virtual CPUs (vCPUs)</term>
+ <listitem>
+ <para>
+ A host system can have up to 160 virtual CPUs (vCPUs) that can be presented to guests for their use, regardless of the number of host CPUs.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Emulated graphics devices</term>
+ <listitem>
+ <para>
+ Two emulated graphics devices are provided. These devices can be connected to with the SPICE (Simple Protocol for Independent Computing Environments) protocol or with VNC:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>A Cirrus CLGD 5446 PCI VGA card (using the <emphasis>cirrus</emphasis> device)</para>
+ </listitem>
+ <listitem>
+ <para>A standard VGA graphics card with Bochs VESA extensions (hardware level, including all non-standard modes)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Emulated system components</term>
+ <listitem>
+ <para>
+ The following core system components are emulated to provide basic system functions:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>Intel i440FX host PCI bridge</para>
+ </listitem>
+ <listitem>
+ <para>PIIX3 PCI to ISA bridge</para>
+ </listitem>
+ <listitem>
+ <para>PS/2 mouse and keyboard</para>
+ </listitem>
+ <listitem>
+ <para>EvTouch USB Graphics Tablet</para>
+ </listitem>
+ <listitem>
+ <para>PCI UHCI USB controller and a virtualized USB hub</para>
+ </listitem>
+ <!-- removed to fix BZ798106 <listitem>
+ <para>PCI network adapters</para>
+ </listitem>-->
+ <listitem>
+ <para>Emulated serial ports</para>
+ </listitem>
+ <listitem>
+ <para>EHCI controller, virtualized USB storage and a USB mouse</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+<!-- <varlistentry> What is the Fedora equivalent for all of this?
+ <term>Emulated sound devices</term>
+ <listitem>
+ <para>
+ Red Hat Enterprise Linux&nbsp;6.1 and above provides an emulated (Intel) HDA sound device, <systemitem>intel-hda</systemitem>. This device is supported on the following guest operating systems:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Red Hat Enterprise Linux 6, for i386 and x86_64 architectures
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Red Hat Enterprise Linux 5, for i386 and x86_64 architectures
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Red Hat Enterprise Linux 4, for i386 and x86_64 architectures
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Windows 7, for i386 and x86_64 architectures
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Windows 2008 R2, for the x86_64 architecture
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ The following two emulated sound devices are also available, but are not recommended due to compatibility issues with certain guest operating systems:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para><systemitem>ac97</systemitem>, an emulated Intel 82801AA AC97 Audio compatible sound card</para>
+ </listitem>
+ <listitem>
+ <para><systemitem>es1370</systemitem>, an emulated ENSONIQ AudioPCI ES1370 sound card</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>-->
+ <!-- <varlistentry> What is the Fedora equivalent?
+ <term>Emulated watchdog devices</term>
+ <listitem>
+ <para>
+ Red Hat Enterprise Linux&nbsp;6.0 and above provides two emulated watchdog devices. A watchdog can be used to automatically reboot a virtual machine when it becomes overloaded or unresponsive.
+ </para>
+ <para>
+ The <package>watchdog</package> package must be installed on the guest.
+ </para>
+ <para>
+ The two devices available are:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <systemitem>i6300esb</systemitem>, an emulated Intel 6300 ESB PCI watchdog device. It is supported in guest operating system Red Hat Enterprise Linux versions 6.0 and above, and is the recommended device to use.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <systemitem>ib700</systemitem>, an emulated iBase 700 ISA watchdog device. The <systemitem>ib700</systemitem> watchdog device is only supported in guests using Red Hat Enterprise Linux&nbsp;6.2 and above.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Both watchdog devices are supported in i386 and x86_64 architectures for guest operating systems Red Hat Enterprise Linux&nbsp;6.2 and above.
+ </para>
+ </listitem>
+ </varlistentry>-->
+ <varlistentry>
+ <term>Emulated network devices</term>
+ <listitem>
+ <para>
+ There are two emulated network devices available:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>The <systemitem>e1000</systemitem> device emulates an Intel E1000 network adapter (Intel 82540EM, 82573L, 82544GC).</para>
+ </listitem>
+ <listitem>
+ <para>The <systemitem>rtl8139</systemitem> device emulates a Realtek 8139 network adapter. </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Emulated storage drivers</term>
+ <listitem>
+ <para>
+ Storage devices and storage pools can use these emulated devices to attach storage devices to virtual machines. The guest uses an emulated storage driver to access the storage pool.
+ </para>
+ <para>
+ Note that like all virtual devices, the storage drivers are not storage devices. The drivers are used to attach a backing storage device, file or storage pool volume to a virtual machine. The backing storage device can be any supported type of storage device, file, or storage pool volume.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>The emulated IDE driver</term>
+ <listitem>
+ <para>
+ KVM provides two emulated PCI IDE interfaces. An emulated IDE driver can be used to attach any combination of up to four virtualized IDE hard disks or virtualized IDE CD-ROM drives to each virtual machine. The emulated IDE driver is also used for virtualized CD-ROM and DVD-ROM drives.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>The emulated floppy disk drive driver</term>
+ <listitem>
+ <para>
+ The emulated floppy disk drive driver is used for creating virtualized floppy drives.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section id="para-virtdevices">
+ <title>Para-virtualized devices</title>
+ <para>
+ Para-virtualized devices are drivers for virtual devices that increase the I/O performance of virtual machines.
+ </para>
+ <para>
+ Para-virtualized devices decrease I/O latency and increase I/O throughput to near bare-metal levels. It is recommended to use the para-virtualized drivers for virtual machines running I/O intensive applications.
+ </para>
+ <para>
+ The para-virtualized devices must be installed on the guest operating system. <!--Fedora equivalent? By default, the para-virtualized drivers are included in Red Hat Enterprise Linux 4.7 and newer, Red Hat Enterprise Linux 5.4 and newer and Red Hat Enterprise Linux 6.0 and newer.--> The para-virtualized drivers must be manually installed on Windows guests.
+ </para>
+ <para>
+ For more information on using the para-virtualized drivers, refer to the <citetitle>Fedora Virtualization Deployment Guide</citetitle>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Para-virtualized network driver (virtio-net)</term>
+ <listitem>
+ <para>
+ The para-virtualized network driver <!--is a Red Hat branded virtual network device. It--> can be used as the driver for existing network devices or new network devices for virtual machines.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>Para-virtualized block driver (virtio-blk)</term>
+ <listitem>
+ <para>
+ The para-virtualized block driver is a driver for all storage devices, is supported by the hypervisor, and is attached to the virtual machine (except for floppy disk drives, which must be emulated).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>The para-virtualized clock</term>
+ <listitem>
+ <para>
+ Guests using the Time Stamp Counter (TSC) as a clock source may suffer timing issues. KVM works around hosts that do not have a constant Time Stamp Counter by providing guests with a para-virtualized clock.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>The para-virtualized serial driver (virtio-serial)</term>
+ <listitem>
+ <para>
+ The para-virtualized serial driver is a bytestream-oriented, character stream driver, and provides a simple communication interface between the host's user space and the guest's user space.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>The balloon driver (virtio-balloon)</term>
+ <listitem>
+ <para>
+ The balloon driver can designate part of a virtual machine's RAM as not being used (a process known as balloon <emphasis>inflation</emphasis>), so that the memory can be freed for the host (or for other virtual machines on that host) to use. When the virtual machine needs the memory again, the balloon can be <emphasis>deflated</emphasis> and the host can distribute the RAM back to the virtual machine.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section>
+ <title>Physical host devices</title>
+ <para>
+ Certain hardware platforms allow virtual machines to directly access various hardware devices and components. This process in virtualization is known as <firstterm>device assignment</firstterm>. Device assignment is also known as <firstterm>passthrough</firstterm>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>PCI device assignment</term>
+ <listitem>
+ <para>
+ The KVM hypervisor supports attaching PCI devices on the host system to virtual machines. PCI device assignment allows guests to have exclusive access to PCI devices for a range of tasks. It allows PCI devices to appear and behave as if they were physically attached to the guest operating system.
+ </para>
+ <para>
+ Device assignment is supported on PCI Express devices, with the exception of graphics cards. Parallel PCI devices may be supported as assigned devices, but they have severe limitations due to security and system configuration conflicts.
+ </para>
+ <note>
+ <para>
+ For more information on device assignment, refer to the <citetitle>Fedora Virtualization Deployment Guide</citetitle>.
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>USB passthrough</term>
+ <listitem>
+ <para>
+ The KVM hypervisor supports attaching USB devices on the host system to virtual machines. USB device assignment allows guests to have exclusive access to USB devices for a range of tasks. It allows USB devices to appear and behave as if they were physically attached to the virtual machine.
+ </para>
+ <note>
+ <para>
+ For more information on USB passthrough, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>SR-IOV</term>
+ <listitem>
+ <para>
+ SR-IOV (Single Root I/O Virtualization) is a PCI Express standard that extends a single physical PCI function to share its PCI resources as separate, virtual functions (VFs). Each function is capable of being used by a different virtual machine via PCI device assignment.
+ </para>
+ <para>
+ An SR-IOV capable PCI-e device, provides a Single Root Function (for example, a single Ethernet port) and presents multiple, separate virtual devices as unique PCI device functions. Each virtual device may have its own unique PCI configuration space, memory-mapped registers, and individual MSI-based interrupts.
+ </para>
+ <note>
+ <para>
+ For more information on SR-IOV, refer to the <citetitle>Fedora Virtualization Deployment Guide</citetitle>.
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>>NPIV</term>
+ <listitem>
+ <para>
+ N_Port ID Virtualization (NPIV) is a functionality available with some Fibre Channel devices. NPIV shares a single physical N_Port as multiple N_Port IDs. NPIV provides similar functionality for Fibre Channel Host Bus Adapters (HBAs) that SR-IOV provides for PCIe interfaces. With NPIV, virtual machines can be provided with a virtual Fibre Channel initiator to Storage Area Networks (SANs).
+ </para>
+ <para>
+ NPIV can provide high density virtualized environments with enterprise-level storage solutions.
+ </para>
+ <note>
+ <para>
+ For more information on NPIV, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+</section>
+<section id="para-CPU_Models">
+ <title>Guest CPU models</title>
+ <para>t
+ Historically, CPU model definitions were hard-coded in
+ <application>qemu</application>. This method of defining CPU models was
+ inflexible, and made it difficult to create virtual CPUs with feature sets
+ that matched existing physical CPUs. Typically, users modified a basic CPU
+ model definition with feature flags in order to provide the CPU
+ characteristics required by a virtual machine. Unless these feature sets were carefully
+ controlled, safe migration &mdash; which requires feature sets between current and
+ prospective hosts to match &mdash; was difficult to support.
+ </para>
+ <para>
+ <application>qemu-kvm</application> has now replaced most hard-wired definitions
+ with configuration file based CPU model definitions. Definitions for a number
+ of current processor models are now included by default, allowing users to specify
+ features more accurately and migrate more safely.
+ </para>
+
+ <para>
+ A list of supported CPU models can be viewed with the
+ <command>/usr/libexec/qemu-kvm -cpu ?model</command> command. This command outputs
+ the <parameter>name</parameter> used to select the CPU model at the command line,
+ and a model identifier that corresponds to a commercial instance of that processor
+ class. <!--The CPU models that Red Hat Enterprise Linux supports can be found in the <citetitle>qemu-kvm Whitelist</citetitle> chapter in the <citetitle>Virtualization Administration Guide</citetitle>.-->
+ </para>
+
+ <para>
+ Configuration details for all of these CPU models can be output with the
+ <command>/usr/libexec/qemu-kvm -cpu ?dump</command> command, but they are also stored in the
+ <filename>/usr/share/qemu-kvm/cpu-model/cpu-x86_64.conf</filename> file
+ by default. Each CPU model definition begins with <literal>[cpudef]</literal>, as shown:
+ </para>
+ <screen>[cpudef]
+ name = "Nehalem"
+ level = "2"
+ vendor = "GenuineIntel"
+ family = "6"
+ model = "26"
+ stepping = "3"
+ feature_edx = "sse2 sse fxsr mmx clflush pse36 pat cmov mca \
+ pge mtrr sep apic cx8 mce pae msr tsc pse de fpu"
+ feature_ecx = "popcnt x2apic sse4.2 sse4.1 cx16 ssse3 sse3"
+ extfeature_edx = "i64 syscall xd"
+ extfeature_ecx = "lahf_lm"
+ xlevel = "0x8000000A"
+ model_id = "Intel Core i7 9xx (Nehalem Class Core i7)"</screen>
+
+ <para>
+ The four CPUID fields, <literal>feature_edx</literal>, <literal>feature_ecx</literal>,
+ <literal>extfeature_edx</literal> and <literal>extfeature_ecx</literal>, accept
+ named flag values from the corresponding feature sets listed by the
+ <command>/usr/libexec/qemu-kvm -cpu ?cpuid</command> command, as shown:
+ </para>
+ <screen># /usr/libexec/qemu-kvm -cpu ?cpuid
+Recognized CPUID flags:
+ f_edx: pbe ia64 tm ht ss sse2 sse fxsr mmx acpi ds clflush pn \
+ pse36 pat cmov mca pge mtrr sep apic cx8 mce pae msr tsc \
+ pse de vme fpu
+ f_ecx: hypervisor avx osxsave xsave aes popcnt movbe x2apic \
+ sse4.2|sse4_2 sse4.1|sse4_1 dca pdcm xtpr cx16 fma cid \
+ ssse3 tm2 est smx vmx ds_cpl monitor dtes64 pclmuldq \
+ pni|sse3
+ extf_edx: 3dnow 3dnowext lm rdtscp pdpe1gb fxsr_opt fxsr mmx \
+ mmxext nx pse36 pat cmov mca pge mtrr syscall apic cx8 \
+ mce pae msr tsc pse de vme fpu
+ extf_ecx: nodeid_msr cvt16 fma4 wdt skinit xop ibs osvw \
+ 3dnowprefetch misalignsse sse4a abm cr8legacy extapic svm \
+ cmp_legacy lahf_lm</screen>
+ <para>
+ These feature sets are described in greater detail in the appropriate Intel
+ and AMD specifications.
+ </para>
+ <para>
+ It is important to use the <code>check</code> flag to verify that all
+ configured features are available.
+ </para>
+ <screen># /usr/libexec/qemu-kvm -cpu Nehalem,check
+warning: host cpuid 0000_0001 lacks requested flag 'sse4.2|sse4_2' [0x00100000]
+warning: host cpuid 0000_0001 lacks requested flag 'popcnt' [0x00800000]</screen>
+ <para>
+ If a defined feature is not available, those features will fail silently
+ by default.
+ </para>
+ <!--Use the <code>enforce</code> flag to force QEMU to exit in error
+ when an explicit or implicit feature flag is not supported:
+ </para>
+ <screen># /usr/libexec/qemu-kvm -cpu Nehalem,enforce
+warning: host cpuid 0000_0001 lacks requested flag 'sse4.2|sse4_2' [0x00100000]
+warning: host cpuid 0000_0001 lacks requested flag 'popcnt' [0x00800000]
+ Unable to support requested x86 CPU definition</screen>-->
+
+ </section>
+</section>
+<section>
+ <title>Storage</title>
+ <para>
+ Storage for virtual machines is abstracted from the physical storage used by the virtual machine. It is attached to the virtual machine using the para-virtualized or emulated block device drivers.
+ </para>
+ <section>
+ <title>Storage pools</title>
+ <para>
+ A <firstterm>storage pool</firstterm> is a file, directory, or storage device managed by <application>libvirt</application> for the purpose of providing storage to virtual machines. Storage pools are divided into storage <firstterm>volumes</firstterm> that store virtual machine images or are attached to virtual machines as additional storage. Multiple guests can share the same storage pool, allowing for better allocation of storage resources. Refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle> for more information.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Local storage pools</term>
+ <listitem>
+ <para>
+ Local storage pools are directly attached to the host server. They include local directories, directly attached disks, physical partitions, and LVM volume groups on local devices. Local storage pools are useful for development, testing and small deployments that do not require migration or large numbers of virtual machines. Local storage pools may not be suitable for many production environments as they do not support live migration.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Networked (shared) storage pools</term>
+ <listitem>
+ <para>
+ Networked storage pools include storage devices shared over a network using standard protocols. Networked storage is required for migrating virtual machines between hosts. Networked storage pools are managed by <application>libvirt</application>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section>
+ <title>Storage Volumes</title>
+ <para>
+ Storage pools are further divided into storage volumes. Storage volumes are an abstraction of physical partitions, LVM logical volumes, file-based disk images and other storage types handled by <application>libvirt</application>. Storage volumes are presented to virtualized guests as local storage devices regardless of the underlying hardware.
+ </para>
+
+ <note>
+ <para>
+ For more information on storage and virtualization, refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </note>
+ </section>
+</section>
+</chapter> \ No newline at end of file
diff --git a/en-US/Tools.xml~ b/en-US/Tools.xml~
new file mode 100644
index 0000000..961eec5
--- /dev/null
+++ b/en-US/Tools.xml~
@@ -0,0 +1,398 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Virtualization_Getting_Started_Guide.ent">
+%BOOK_ENTITIES;
+]>
+
+<chapter>
+ <title>Virtualization Tools</title>
+
+ <para>
+ This chapter provides an introduction to the many tools available to assist with virtualization.
+ </para>
+
+ <section>
+ <title><command>virsh</command></title>
+ <para>
+ <firstterm>virsh</firstterm> is a command line interface (CLI) tool for managing guests and the hypervisor. The <command>virsh</command> command line tool is built on the <application>libvirt</application> management API and operates as an alternative to the <command>qemu-kvm</command> command and the graphical <application>virt-manager</application> application. The <command>virsh</command> command can be used in read-only mode by unprivileged users or, with root access, full administration functionality. The <command>virsh</command> command is ideal for scripting virtualization administration. In addition the <command>virsh</command> tool is a main management interface for <command>virsh</command> guest domains and can be used to create, pause, and shut down domains, as well as list current domains. This tool is installed as part of the <package>libvirt-client</package> package.
+ </para>
+ <note>
+ <para>
+ Refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle> for more information about managing virtual machines with <command>virsh</command>.
+ </para>
+ </note>
+ </section>
+
+ <section>
+ <title><command>virt-manager</command></title>
+ <para>
+ <firstterm>virt-manager</firstterm> is a lightweight graphical tool for managing virtual machines. It provides the ability
+ to control the life cycle of existing machines, provision new machines,
+ manage virtual networks, access the graphical console of virtual
+ machines, and view performance statistics. This tool ships in its own
+ package called <package>virt-manager</package>.
+ </para>
+ <note>
+ <para>
+ Refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle> for more information about managing virtual machines with <command>virt-manager</command>.
+ </para>
+ </note>
+ </section>
+
+ <section>
+ <title><command>virt-install</command></title>
+ <para>
+ <firstterm>virt-install</firstterm> is a command line tool to provision new virtual machines. It supports both
+ text-based and graphical installations, using serial console, SDL, SPICE, or VNC client/server pair graphics. Installation media can be local,
+ or exist remotely on an NFS, HTTP, or FTP server. The tool can also be
+ configured to run unattended and kickstart the guest when installation is
+ complete, allowing for easy automation of installation. This tool is
+ installed as part of the <package>python-virtinst</package> package.
+ </para>
+ <note>
+ <para>
+ Refer to the <citetitle>Fedora Virtualization Deployment Guide</citetitle> for more information about <command>virt-install</command>.
+ </para>
+ </note>
+ </section>
+
+ <section>
+ <title><command>guestfish</command></title>
+ <para>
+ <firstterm>guestfish</firstterm> is a command line tool for examining and modifying the file systems of
+ the host. This tool uses <package>libguestfs</package> and
+ exposes all functionality provided by the <literal>guestfs</literal> API.
+ This tool ships in its own package entitled <package>guestfish</package>.
+ </para>
+ <para>
+ Refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle> for more information about <command>guestfish</command>.
+ </para>
+ <warning>
+ <para>
+ Using <command>guestfish</command> on running virtual machines can
+ cause disk-image corruption. Use the <command>guestfish</command> command with the <option>--ro</option> (read-only)
+ option if the disk image is being used by a running virtual machine.
+ </para>
+ </warning>
+ </section>
+
+
+ <section>
+ <title>Other useful tools</title>
+ <para>The following tools are used to access a virtual machine's disk via the host. The guest's disk is usually accessed directly via the <filename>disk-image</filename> file located on the host. However it is sometimes possible to gain access via the <application>libvirt</application> domain. The commands that follow are part of the <application>libvirt</application> domain and are used to gain access to the guest's disk image.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><command>guestmount</command></term>
+ <listitem>
+ <para>
+ A command line tool used to mount virtual machine file systems and disk
+ images on the host machine. This tool is installed as part of the <package>libguestfs-mount</package> package.
+ </para>
+ <warning>
+ <para>
+ Using <command>guestmount</command> in <option>--r/w</option> read/write mode to access a disk that is currently being used by a guest can cause the disk to become corrupted. Do not use <command>guestmount</command> in <option>--r/w</option> read/write mode on live virtual machines. Use the <command>guestmount</command> command with the <option>--ro</option> (read-only)
+ option if the disk image is being used.
+ </para>
+ </warning>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-cat</command></term>
+ <listitem>
+ <para>
+ A command line tool that can be used to quickly view the contents of
+ one or more files in a specified virtual machine's disk or disk image. This
+ tool is installed as part of the <package>libguestfs-tools</package>
+ package
+ </para>
+ <warning>
+ <para>
+ Using <command>virt-cat</command> on running virtual machines can
+ cause disk corruption in the virtual machine. Do not use
+ <command>virt-cat</command> command on a running virtual machine.
+ </para>
+ </warning>
+ </listitem>
+ </varlistentry>
+ <!-- All released versions problematic; being rewritten upstream.
+ <varlistentry>
+ <term><command>virt-clone</command></term>
+ <listitem>
+ <para>
+ Clone a VM.
+ </para>
+ </listitem>
+ </varlistentry>-->
+ <!-- This tool is obsolete and problematic. Use virt-v2v instead.
+ <varlistentry>
+ <term><command>virt-convert</command></term>
+ <listitem>
+ <para>
+ Convert a VM disk image.
+ </para>
+ </listitem>
+ </varlistentry>-->
+ <varlistentry>
+ <term><command>virt-df</command></term>
+ <listitem>
+ <para>
+ A command line tool used to show the actual physical disk usage of
+ virtual machines. Similar to the command line tool <command>df</command>.
+ Note that this tool does not work across remote connections. It is
+ installed as part of the <package>libguestfs-tools</package> package.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-edit</command></term>
+ <listitem>
+ <para>
+ A command line tool used to edit files that exist on a specified virtual
+ machine. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ <warning>
+ <para>
+ Using <command>virt-edit</command> on live virtual machines can
+ cause disk corruption in the virtual machine.
+ Although the <command>virt-edit</command> command will try to prevent users from editing
+ files on live virtual machines, it is not guaranteed to catch all instances.
+ Do not use <command>virt-edit</command> on a live virtual machine.
+ </para>
+ </warning>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-filesystems</command></term>
+ <listitem>
+ <para>
+ A command line tool used to discover file systems, partitions, logical
+ volumes and their sizes in a disk image or virtual machine. One common
+ use is in shell scripts, to iterate over all file systems in a disk
+ image. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ <para>
+ This tool replaces <command>virt-list-filesystems</command> and
+ <command>virt-list-partitions</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-inspector</command></term>
+ <listitem>
+ <para>
+ A command line tool that can examine a virtual machine or disk image to
+ determine the version of its operating system and other information.
+ It can also produce XML output, which can be piped into other programs.
+ Note that <command>virt-inspector</command> can only inspect one domain
+ at a time. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-inspector2</command></term>
+ <listitem>
+ <para>
+ An alternative tool to <command>virt-inspector</command>, written in C. This tool is installed as part of the <package>libguestfs-tools</package> package.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-ls</command></term>
+ <listitem>
+ <para>
+ A command line tool that lists files and directories inside a virtual
+ machine. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-make-fs</command></term>
+ <listitem>
+ <para>
+ A command line tool for creating a file system based on a tar archive
+ or files in a directory. It is similar to tools like
+ <command>mkisofs</command> and <command>mksquashfs</command>, but it
+ can create common file system types such as ext2, ext3 and NTFS, and
+ the size of the file system created can be equal to or greater than the
+ size of the files it is based on. This tool is provided as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ </listitem>
+ </varlistentry>
+ <!-- wont make 6.2
+ <varlistentry>
+ <term><command>virt-p2v</command></term>
+ <listitem>
+ <para>
+ A graphical tool to convert physical machines into virtual machines.
+ This tool is installed as part of the <package>virt-v2v</package> package
+ in Red Hat Enterprise Linux 6.2 and later.
+ </para>
+ </listitem>
+ </varlistentry>-->
+ <varlistentry>
+ <term><command>virt-rescue</command></term>
+ <listitem>
+ <para>
+ A command line tool that provides a rescue shell and some simple
+ recovery tools for unbootable virtual machines and disk images. It can
+ be run on any virtual machine known to <application>libvirt</application>, or directly on disk
+ images. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ <warning>
+ <para>
+ Using <command>virt-rescue</command> on running virtual machines can
+ cause disk corruption in the virtual machine.
+ <command>virt-rescue</command> attempts to prevent its own use on
+ running virtual machines, but cannot catch all cases.
+ </para>
+ <para>
+ Using the command with the <option>--ro</option> (read-only) option
+ will not cause disk corruption, but may give strange or inconsistent
+ results. It is better to avoid using <command>virt-rescue</command>
+ on a running virtual machine.
+ </para>
+ </warning>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-resize</command></term>
+ <listitem>
+ <para>
+ A command line tool to resize virtual machine disks, and resize or
+ delete any partitions on a virtual machine disk. It works by copying the guest image and leaving the original disk image untouched. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ <important>
+ <para>
+ Using <command>virt-resize</command> on running virtual machines can
+ give inconsistent results. It is best to shut down virtual machines
+ before attempting to resize them.
+ </para>
+ </important>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-tar</command></term>
+ <listitem>
+ <!--This is obsolete upstream, but we haven't shipped the replacement tools
+ in RHEL yet. Probably we will obsolete it in and ship replacements in
+ RHEL 6.3.-->
+ <para>
+ A command line archive tool for downloading and uploading parts of a
+ virtual machine's file system. This tool is commonly used for making backups,
+ uploading data, reviewing guest activity, and fixing or customizing
+ guests. This tool is installed as part of the
+ <package>libguestfs-tools</package> package.
+ </para>
+ <warning>
+ <para>
+ Using <command>virt-tar</command> with the <option>-u</option>
+ (upload) option on running virtual machines can cause disk corruption
+ in the virtual machine. <command>virt-tar</command> attempts to
+ prevent its own use on running virtual machines, but cannot catch
+ all cases.
+ </para>
+ <para>
+ Using <command>virt-tar</command> with the <option>-x</option>
+ (extract) option on running virtual machines will not cause disk
+ corruption, but may give strange or inconsistent results. It is best
+ to shut down virtual machines before attempting to extract files from
+ them.
+ </para>
+ </warning>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-top</command></term>
+ <listitem>
+ <para>
+ A command line utility similar to <command>top</command>, which shows
+ stats related to virtualized domains. This tool ships in its own package:
+ <package>virt-top</package>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-v2v</command></term>
+ <listitem>
+ <para>
+ A graphical tool to convert virtual machines from Xen and VMware hypervisors
+ to run on KVM. This tool ships in its own package:
+ <package>virt-v2v</package>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-viewer</command></term>
+ <listitem>
+ <para>
+ A minimal tool for displaying the graphical console of a virtual machine via
+ the VNC and SPICE protocols. This tool ships in its own package:
+ <package>virt-viewer</package>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-what</command></term>
+ <listitem>
+ <para>
+ A shell script that detects whether a program is running in a virtual machine.
+ This tool ships in its own package: <package>virt-what</package>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-who</command></term>
+ <listitem>
+ <para>
+ The <package>virt-who</package> package is a Red Hat Enterprise Linux host agent that queries <application>libvirt</application> for guest UUIDs. It then passes that data to the local entitlement server for the purposes of issuing certificates. This tool ships in its own package: <package>virt-who</package>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-win-reg</command></term>
+ <listitem>
+ <para>
+ A command line tool to export and merge Windows Registry entries from a
+ Windows guest, and perform simple Registry operations. This tool is installed
+ as part of the <package>libguestfs-tools</package> package.
+ </para>
+ <warning>
+ <para>
+ Using <command>virt-win-reg</command> on running virtual machines will
+ cause irreversible disk corruption in the virtual machine.
+ <command>virt-win-reg</command> attempts to prevent its own use on
+ running virtual machines, but cannot catch all cases.
+ </para>
+ </warning>
+ <warning>
+ <para><!-- REWORD!-->
+ Modifying the Windows Registry is an inherently risky operation, as the
+ format is deliberately obscure and undocumented. Changes to the registry
+ can leave the system unbootable, so ensure you have a reliable backup
+ before you use the <option>--merge</option> option.
+ </para>
+ </warning>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>virt-xml-validate</command></term>
+ <listitem>
+ <para>
+ A command line tool to validate <application>libvirt</application> XML files for compliance with the
+ published schema. This tool is installed as part of the
+ <package>libvirt-client</package> package.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</section>
+
+</chapter>
diff --git a/en-US/Virtualization_Getting_Started_Guide.ent b/en-US/Virtualization_Getting_Started_Guide.ent
index 1fa555c..3de4653 100644
--- a/en-US/Virtualization_Getting_Started_Guide.ent
+++ b/en-US/Virtualization_Getting_Started_Guide.ent
@@ -1,4 +1,4 @@
-<!ENTITY PRODUCT "Red Hat Enterprise Linux 6">
-<!ENTITY BOOKID "doc-Virtualization_Getting_Started_Guide">
-<!ENTITY YEAR "2011-2012">
-<!ENTITY HOLDER "Red Hat, Inc">
+<!ENTITY PRODUCT "Fedora 18">
+<!ENTITY BOOKID "virtualization-getting-started-guide">
+<!ENTITY YEAR "2012">
+<!ENTITY HOLDER "Red Hat, Inc. and others.">
diff --git a/en-US/Virtualization_Getting_Started_Guide.ent~ b/en-US/Virtualization_Getting_Started_Guide.ent~
new file mode 100644
index 0000000..3de4653
--- /dev/null
+++ b/en-US/Virtualization_Getting_Started_Guide.ent~
@@ -0,0 +1,4 @@
+<!ENTITY PRODUCT "Fedora 18">
+<!ENTITY BOOKID "virtualization-getting-started-guide">
+<!ENTITY YEAR "2012">
+<!ENTITY HOLDER "Red Hat, Inc. and others.">
diff --git a/en-US/What_Is_It.xml~ b/en-US/What_Is_It.xml~
new file mode 100644
index 0000000..743e799
--- /dev/null
+++ b/en-US/What_Is_It.xml~
@@ -0,0 +1,117 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<chapter id="chap-Virtualization_Getting_Started-What_Is_It">
+ <title>What is virtualization and migration?</title>
+ <para>This chapter discusses terms related to virtualization and migration.</para>
+ <section id="sec-what_is_virtualization">
+ <title>What is virtualization?</title>
+ <para>
+ Virtualization is a broad computing term used for running software, usually multiple operating systems, concurrently and in isolation from other programs on a single system. Most existing implementations of virtualization use a <firstterm>hypervisor</firstterm>, a software layer or subsystem that controls hardware and provides <firstterm>guest</firstterm> operating systems with access to underlying hardware. The hypervisor allows multiple operating systems, called <firstterm>guests</firstterm>, to run on the same physical system by offering virtualized hardware to the guest operating system. There are various methods for virtualizing operating systems:
+ </para>
+ <variablelist>
+ <varlistentry><term><emphasis role="strong">Full virtualization</emphasis></term>
+ <listitem>
+ <para>
+ Full virtualization uses the hardware features of the processor to provide guests with total abstraction of the underlying physical system. This creates a new virtual system, called a <firstterm>virtual machine</firstterm>, that allows guest operating systems to run without modifications. The guest operating system and any applications on the guest are unaware of their virtualized environment and run normally. Hardware-assisted virtualization is the technique used for full virtualization with KVM (Kernel-based Virtual Machine) in Fedora.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><emphasis role="strong">Para-virtualization</emphasis></term>
+ <listitem>
+ <para>
+ Para-virtualization employs a collection of software and data structures that are presented to the virtualized guest, requiring software modifications in the guest to use the para-virtualized environment. Para-virtualization can encompass the entire kernel, as is the case for Xen para-virtualized guests, or drivers that virtualize I/O devices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><emphasis role="strong">Software virtualization (or emulation)</emphasis></term>
+ <listitem>
+ <para>
+ Software virtualization uses slower binary translation and other emulation techniques to run unmodified operating systems. Software virtualization is unsupported by Fedora. <!--Is this true for Fedora?-->
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ For more information and detailed instructions on guest installation, refer to the <citetitle>Fedora Virtualization Deployment Guide</citetitle>.
+ </para>
+ </section>
+ <section id="sec-migration">
+ <title>Migration</title>
+ <para>
+ <firstterm>Migration</firstterm> describes the process of moving a virtual machine from one host to another. This is possible because guests are running in a virtualized environment instead of directly on the hardware. There are two ways to migrate a virtual machine: live and offline.
+ </para>
+ <variablelist>
+ <title>Migration Types</title>
+ <varlistentry>
+ <term><emphasis role="strong">Offline migration</emphasis></term>
+ <listitem>
+ <para>
+ An offline migration suspends the guest, and then moves an image of the guest's memory to the destination host. The guest is then resumed on the destination host and the memory used by the guest on the source host is freed.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis role="strong">Live migration</emphasis></term>
+ <listitem>
+ <para>
+ Live migration is the process of migrating an active guest from one physical host to another.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <section id="sec-benefits_of_migrating">
+ <title>Benefits of migrating virtual machines</title>
+ <para>Migration is useful for:</para>
+ <variablelist>
+ <varlistentry>
+ <term><emphasis role="strong">Load balancing</emphasis></term>
+ <listitem>
+ <para>
+ When a host machine is overloaded, one or many of its virtual machines could be migrated to other hosts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><emphasis role="strong">Upgrading or making changes to the host</emphasis></term>
+ <listitem>
+ <para>
+ When the need arises to upgrade, add, or remove hardware devices on one host, virtual machines can be safely relocated to other hosts. This means that guests do not experience any downtime due to changes that are made to any of the hosts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><emphasis role="strong">Energy saving</emphasis></term>
+ <listitem>
+ <para>
+ Virtual machines can be redistributed to other hosts and the unloaded host systems can be powered off to save energy and cut costs in low usage periods.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><emphasis role="strong">Geographic migration</emphasis></term>
+ <listitem>
+ <para>
+ Virtual machines can be moved to another physical location for lower latency or for other special circumstances.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <!-- <para> VERIFY: from Fedora 17? does this work the same way? Is Live Block Migration still in the Fedora Virt Admin Guide? Ask Laura N.
+ It is important to understand that the migration process moves the virtual machine's memory, and from Red Hat Enterprise Linux&nbsp;6.3, the disk volume associated with the virtual machine is also migrated. This process is done using Live Block Migration &mdash; information about this can be found in the <citetitle>Red Hat Enterprise Linux&nbsp;6 Virtualization Administration Guide</citetitle>.
+ </para>-->
+ <para>
+ Shared, networked storage must be used for storing guest images to be migrated. Without shared storage, migration is not possible. It is recommended to use <application>libvirt</application>-managed storage pools for shared storage.
+ </para>
+ <para>
+ For more information on migration refer to the <citetitle>Fedora Virtualization Administration Guide</citetitle>.
+ </para>
+ </section>
+ </section>
+<!-- <section id="Virtualized_to_virtualized">
+ <title>Virtualized to virtualized migration (V2V)</title>
+ <para>
+ Fedora provides tools for converting virtual machines from other types of hypervisors to KVM. The <command>virt-v2v</command> tool converts and imports virtual machines from Xen, other versions of KVM, and VMware ESX.
+ </para>-->
+ <!--<para> IS THERE A V2V Guide for Fedora? Does virt v2v work in Fedora?
+ For more information on V2V, refer to the <citetitle>Red Hat Enterprise Linux&nbsp;6 V2V Guide</citetitle>.
+ </para>
+ </section>-->
+</chapter> \ No newline at end of file