From Fedora Project Wiki

Outline for Getting Started

Current TOC

This TOC should be changed -please indicate what needs changing in a different color or with an arrow. Please put your name in the line that has the change so we can track it. Thanks!


   1. Document Conventions
       1.1. Typographic Conventions
       1.2. Pull-quote Conventions
       1.3. Notes and Warnings
   2. We Need Feedback!

1. Introduction

   1.1. Who should read this guide?
   1.2. Virtualization in Fedora Linux
   1.3. Virtualization resources

2. General Overview of Virtualization

   2.1. What is Virtualization?
   2.2. What are the costs of Virtualization
   2.3. Performance factors of Virtualization
   2.4. Flexibility options of Virtualization
   2.5. Disaster Recovery options and scenarios of Virtualization
   2.6. Security options and benefits of Virtualization
   2.7. Differences and commonalities of Virtualization for servers and individuals

3. Introduction to Fedora virtualization products

   3.1. KVM and virtualization in Fedora --> kirsti suggestion to just call it KVM? (since the fedora is mentioned in the main title  --> grundblom: I think we could use a chapter on how to make a vm in KVM like there is for boxes, and how to use libvirt tools.  --> Lnovich question / comment should we break this down into hypervisors  and other tools? 
   3.2. libvirt and libvirt tools
   3.3. Boxes
   3.4  Docker Containers --> grundblom: I have been using Docker containers as a virtualization tool, and while I dont think it is created for that purpose I would like to explore it here as an option since it works
   3.5. Storage
       3.5.1. Storage pools
       3.5.2. Storage volumes

4. Introduction to Boxes --> kirsti only a separate chapter for boxes, not for the other products? --> grundblom: I agree we should have sections for each product we mentioned in 4 I volunteer to write a section on how to make a vm in kvm.

   4.1. Features of Boxes
   4.2. How do I create a virtual machine in Boxes?
   4.3. How do I connect to other computers in Boxes?
   4.4. How do I change the settings of a machine in boxes?
   4.5. How do I delete a box?
   4.6. Boxes Tips and Tricks
   4.7. Advanced Commands in Boxes

5. Creating and Managing Guests with Virt-Manager --> smccann work toward common topic titles w/ Boxer chapter - should be covering same information

   5.1. System Requirements
   5.2. Installing Virtualization package groups
   5.3. Network Support
   5.4. Creating guests with virt-manager

A. Advanced Virtualization Concepts --> kirsti would this be a place to make a pointer to containers?

   A.1. Virtualized hardware devices
       A.1.1. Virtualized and emulated devices
       A.1.2. Para-virtualized devices
       A.1.3. Physical host devices
       A.1.4. CPU models
   A.2. guestfish
   A.3. Other useful tools
--> kirsti is it an idea to add a few dos and do nots, as in what would make good use cases for virtualization, and what not?  

B. Revision History

Changes to Content

Here you can list specific changes you would like to see made. In each instance please include some information that will help us find the location of the issue

Changes that are needed in the Getting Started Guide
Chapter/Section Link/URL Change Needed Who is requesting the Change Approved BZ Link
Ch 1 "The Fedora Virtualization Getting Started Guide introduces the basics of virtualization and assists with the navigation of other virtualization documentation and products that Fedora provides. This guide also explains the advantages of virtualization and dispels some common myths that exist regarding virtualization." leave out the second part (going with leaving out the misconceptions). First sentence could read "The Fedora Virtualization Getting Started Guide introduces the basics, and advantages of virtualization; and assists with the navigation of other virtualization documentation, and products that Fedora provides." (adding Oxford comma). Kirsti
ch2.1 Missing link in the note to Fedora Virtualization Deployment and Administration Guide Kirsti
ch2.2 under live migration is a reference to fedora 19."In Fedora 19, shared storage is not necessary for storing guest images to be migrated." Does this still apply to fed 22? Kirsti
ch 3 when we decide to go without the misconceptions, we need to rephrase the first two paragraphs, willing to make the attempt. The chapter as a whole, with all the explanations would make a poor business case, I would not be able to use it to convince a manager to go Virtual Kirsti
ch3.3 This chapter takes it from a misconception point of view. Searching the web I cannot come up easily with a good description, but is there a place in the admin manual where this subject is better explained? Could we work with something like: "While virtualization can speed processing up, it doesn't just magically make things better. Without the right architecture and tuning, virtualization will not deliver performance benefits." and then add a link to how to implement virtualization? Kirsti
ch3.4 Is this all we can say about flexibility? nothing about expanding or decreasing the number of machines in your network, easy test environment set-up without using up massive amounts of resources, easy to install when using images... Kirsti

Random thoughts and things I have been looking into. Is this going anywhere usefull? I left out the numbering of the chapters due to our decision to merge ch2 &3. Still reading up on a lot of things... (will be away from 2- 14 September 2015)

FAQ questions: Q: Is virtualization is expensive? A: 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.

  Examples are given in Ch x Virtualization costs

Q: Is a Virtual machine slower than hardware? A: No, because there are more options available to make sure the virtual guest has enough memory available and it can use multiple CPUs.

  Also see Ch x Performance

Q: Is virtualization always a better option? A: There are a few cases in which you would NOT use a VM:

  01. Anything with a dongle/required physical hardware
  02. Systems that require extreme performance
  03. Applications/operating systems with license/support agreements that don't permit virtualization

[list from and needs some rephrasing though...]

Ch x Virtualization costs Before you concider to virtualize your environment 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: [ continue ch as is, maybe add green footprint (usually big on the agenda of managers)] [@Ki look into => also used for Flexibility]

Ch x Uses for Virtualization [ie desktop vs server; test environment;... ] [@Ki look into]

Ch x Performance Modern servers are delivered with multiple CPU as a standard. This has significantly changed the posibilities with VMs. Depending on what you would like to use your VM for, and how many CPUs are available, you can now set up a VM with multiple CPUs. As discussed in the chapter about use cases for setting up a VM, all of these uses will have their own system requirements.

When you set up a server to support multiple VM machines, you will have to make an architechture design. This is not much different from a hard ware network design. In this case you have to keep in mind what the function of your VMs will be, how many resources they will be likely to use, and balance the available resources on a server. Several researches point out that setting up a virtual environment can increase speed by 2 to 6 %; when the configuration has been thought through carefully.

Ch x Flexibility Virtualization provides greater flexibility for managing systems. Virtual machines can be copied or moved to test software updates and validate configuration changes, without impacting other systems. Because each of the virtualized systems are completely separate to each other, one system's downtime will not affect any others.

  • Test and development flexibility is critical to effectively provide superior analytical capability. Thorough testing, unencumbered by system availability or usage restrictions, increases quality.
  • data center flexibility and the ability to recover from disruptive events
  • not stuck to one os - Reduce hardware vendor lock-in

Ch x Disaster Recovery [short write up of what is it] 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.[migration has been comented out in this Ch, repharese to cloning?] }

  • disaster recovery -By removing the dependency on a particular hardware vendor or server model, a disaster recovery site no longer needs to keep identical hardware on hand to match the production environment, [needs rephrasing is a quote from somewhere]
  • ease of installing (you can use images / clones / snapshots?)
  • [@Ki look into]

Ch x Security

Ch x Virtualization for desktops and servers [rephrasing suggestion for servers and individuals] [@Ki would like to look into a few use cases, also see]

General thoughts on how users could read documentation. Realizing this might come close to the personas that are being defined.

  • As an advisor or manager with no technical background, I would probalby only read the chapter Virtualization 101. Because here I can find the basis for a business case, to which company specific calculations and graphs can be added.

(decission makers love graphes!)

  • As a technical project manager I will go over all of the documentation, and might ask some specialists (about the security aspect for example)for further details. This is a good starting point to base a project plan on, in which a business case is included, but also the planning; what do we use it for? what is needed in hardware & software resources? what are the risks (and how do we solve this)? what does the architecture look like? how much time do I need? and how many people, with which skills? Looking at the guide as it is, I think all of that is covered.
  • As a sysadmin I might start with the Chapter on How to install a Virtual machine. Now here we have some of the personas already defined.

Each would look for their own usecase; server, network, application, desktop. By adding a short list of these cases, with normal hardware spec, and possible links to where these cases are explained; and a short explanation of why only a simple setup is explained in this chapter (I read this as a desktop setup, going with the choices for the use of one core and the amount of memory), this is a good stand alone chapter, very hands on.