Virtualization
Presentation by Greg Bosch
April 7, 2008
Outline
I. Introduction to Virtualization
II. Virtual Appliances
III. Benefits to Virtualization
IV. Virtualization Products
An Introduction to Virtualization
What is ‘Virtualization’?
Technique for hiding the physical characterizes of computing
resources from the way other systems, applications or end users
interact with them
Two common functions:
- Making multiple physical resources
appear to function as a single
logical resource
We’ve see this before…
- Making a single physical resource
appear to function as multiple
logical resources
We’ll talk about this today…
http://en.wikipedia.org/wiki/Virtualization
An Introduction to Virtualization
What is a ‘Virtual Machine (VM)’?
Implementation of a machine that executes programs as if it were
a real machine
Separated into two categories:
- Process Virtual Machine
Runs as a normal application inside an operating system
to abstract away the details of the underlying hardware
- System Virtual Machine
Allows multiplexing (time sharing) of the underlying
hardware between different operating systems
http://en.wikipedia.org/wiki/Virtual_machine
Virtual Machines
Process Virtual Machines
Designed to provide a platform-independent environment to a
single process (i.e., program)
The environment is created when its associated process is started
and destroyed when that process exits
Allows program to execute in the same way regardless of the
physical platform it is running on; “Write once, run anywhere”
Source code compiled into Java Byte code
Byte code executed by Java Virtual Machine (JVM)
http://en.wikipedia.org/wiki/Virtual_machine
Virtual Machines
System Virtual Machines
Designed to provide a complete platform which can support the
execution of multiple, and different, operating systems
Allows for time-sharing of underlying hardware between virtual
machines
Think of a scheduler that works on operating systems rather than
processes
Operating Systems remain isolated from one another
The Instruction Set Architecture (ISA) provided by the virtual
machine can be different from that of the real machine
http://en.wikipedia.org/wiki/Virtual_machine
Virtual Machines
System Virtual Machines
Implemented through the use of a Virtual Machine Monitor
(VMM) also-known-as a Hypervisor
Two classifications of Hypervisors:
- Native (Hardware-Level): software runs
directly on top of a given hardware
platform as a control program for
operating systems
- Hosted (OS-Level): software runs
within an operating system environment
as a control program for other
operating systems
http://en.wikipedia.org/wiki/Virtualization
Virtual Machines
Native System Virtual Machines
Is where virtualization began… In the time of the mainframe
IBM developed the first Native Hypervisor in the 1960s although
‘hypervisor’ hadn’t entered the lexicon yet…
They called it CP/CMS and it consisted of two main components
- Control Program (CP)
Which served to create the virtual
machine environment for
instances of
- Cambridge Monitor System (CMS)
A lightweight single-user
operating system
http://en.wikipedia.org/wiki/Hypervisor
Virtual Machines
Hosted System Virtual Machines
- Virtual Machine Monitor layer is moved one level higher as
compared to Native VM’s
- Runs within a Host operating system environment
- An operating system is installed first; as usual, on top of Hardware
- A Virtual Machine Monitor is then installed within the Host OS
- Guest operating systems can
be installed on top of the VMM layer
- Host OS sees the VMM as a process
- VMM controls the allocation of time
between Guest OSs
- Guest is segregated from the rest
of the environment
http://en.wikipedia.org/wiki/Virtualization
Virtual Machines
Emulation or Simulation in Hosted System Virtual Machines
Virtual Machine provides a “guest” operating software the
hardware environment it expects
Advantage: Guest Software need not be modified
Disadvantage: Must pay Performance Penalty
Software is unaware that it is really talking to a virtualized device
Each interaction between Guest device driver with the emulated
device hardware requires transaction with VMM
The real hardware does its job as usual
But the VMM must now translate the result
back to the guest
http://www.intel.com/technology/itj/2006/v10i3/2-io/4-virtualization-techniques.htm
Virtual Machines
Paravirtualization
Application Programming Interface (API) is provided to the
Guest OS by the VMM so the Guest may utilize the hardware
Advantage: Better Performance
Disadvantage: Guest software must be modified to use API
Guest interacts with VMM at a higher level of abstraction
Instead of supplying the specifics of how to use the hardware,
software provides general requests to the VMM
Decreases the number of interactions between
Guest and VMM for a specific operation
http://www.intel.com/technology/itj/2006/v10i3/2-io/4-virtualization-techniques.htm
Virtual Machines
Performance: Emulation vs. Paravirtualization
VMware publishes “A Performance Comparison of
Hypervisors” January 31, 2007
XenSource retaliates with “A Performance Comparison
of Commercial Hypervisors” two months later
“Independents” cite issues with both reports but note VMware didn’t fight fair
Interestingly, VMware allows XenSource to publish performance results
pertaining to VMware products in its report (atypical of VMware policy & EULA)
Benchmarks Run:
- SPECcpu2000 (CPU Intensive)
- Passmark (Memory Intensive)
- Netperf (Network specific)
- SPECjbb2005 (Java application server workload)
http://www.cmg.org/measureit/issues/mit41/m_41_1.html
Virtual Machines
SPECcpu2006 (CPU Intensive)
http://blogs.xensource.com/rogerk/wp-content/uploads/2007/03/hypervisor_performance_comparison_1_0_5_with_esx-data.pdf
Virtual Machines
Passmark (Memory Intensive)
http://blogs.xensource.com/rogerk/wp-content/uploads/2007/03/hypervisor_performance_comparison_1_0_5_with_esx-data.pdf
Virtual Machines
Netperf (Network Specific)
http://blogs.xensource.com/rogerk/wp-content/uploads/2007/03/hypervisor_performance_comparison_1_0_5_with_esx-data.pdf
Virtual Machines
SPECjbb2005 (Java Application Server Workload)
http://blogs.xensource.com/rogerk/wp-content/uploads/2007/03/hypervisor_performance_comparison_1_0_5_with_esx-data.pdf
Outline
I. Introduction to Virtualization
II. Virtual Appliances
III. Benefits to Virtualization
IV. Virtualization Products
Virtual Appliance
Virtual Appliance is a virtual machine prepackaged with the
necessary components to serve its intended purpose
Aimed to eliminate the installation, configuration and maintenance
costs associated with complex stacks of software
For instance
LAMP Appliances (Linux + Apache + MySQL + PHP)
Traditional Environment VM Environment
http://www.vmware.com/appliances/directory/465
Virtual Appliance
MediaWiki
Software that runs wikipedia.org
Freely available to organizations
Packaged as a Virtual Appliance by www.rPath.com
Uses a Just Enough Operating System (JeOS) that installs within
supported VMM
And includes all other necessary software packages
TRULY a Turn-Key system
Lets take a quick look if we aren’t behind schedule:
http://www.vmware.com/appliances/
http://www.vmware.com/appliances/directory/465
Virtual Appliance
Step 1: Install VMware’s Player available from vmware.com and open the
MediaWiki Virtual Machine available from rpath.com
Virtual Appliance
Step 2: Opening the Virtual Appliance
Virtual Appliance
Step 3: Just enough Operating System Loading (Red Hat variant) booting
Virtual Appliance
Step 3: Configuration of MediaWiki through web interface
Virtual Appliance
More configuration
Virtual Appliance
Having some fun
This may seem off topic, but isn’t that one of the
points of a virtual appliance?
Using your time to manage the application and not the system software
Outline
I. Introduction to Virtualization
II. Virtual Appliances
III. Benefits to Virtualization
IV. Virtualization Products
Benefits to Virtualization
Cost Benefit
Traditional production servers (physical box) run a single application
Utilization of hardware by that appliance estimated at 5-10%
Reduction of physical assets reduces substantial expenses
- Cost of hardware,
- Data center footprint,
- Electricity, and
- others
Virtualization allows for consolidation of appliances at ratios
between 10:1 and 20:1
Meaning an operation requiring 800 physical servers can be
reduced to approximately 60 physical machines
http://youtube.com/watch?v=MnNX13yBzAU&feature=related
Benefits to Virtualization
Cost Benefit continued…
Man Hour Reduction too:
Instantiation of new virtual machine requires just minutes
(Many YouTube videos if you’re interested)
As compared to the “old fashioned way” involving
- Sourcing of new hardware (purchasing and installation)
- Installation of Operating System, Patching
- Installation of relevant Applications
- Testing
Benefits to Virtualization
Operational Benefits
Automation of Installation process from OS to Applications
(i.e., Appliances)
Isolation (Sandboxing)
- Program Development and Testing
- Beneficial for running un-trusted Operating Systems or
- Un-trusted Applications
Provide legacy system support without allocating physical resources
Teaching environment for classes such as these
Check-pointing
The state of the machine can be saved, paused, restarted, even
migrated to another machine
Outline
I. Introduction to Virtualization
II. Virtual Appliances
III. Benefits to Virtualization
IV. Virtualization Products
Xen
Originated as a University of Cambridge Project
Project lead to founding of XenSource, Inc.
Recently acquired by Citrix in October 2007 for $500 Million
Products include:
Express Edition
A free starter package for bringing virtualization to every server
Standard Edition
High-performance rich-featured server virtualization with multi-
server management
Enterprise Edition
A powerful platform management virtualization as a flexible
aggregated pool of compute and storage resources
http://en.wikipedia.org/wiki/Xen
Xen
Requires modification to Kernel of pre-installed OS
Modification installs Xen VMM just above the hardware (Native System
Virtual Machine)
Xen boots from boot-loader (GRUB) and then loads the modified Host OS
into the privileged domain (Dom0)
Administrator can use Host OS to install and then start guest OSs in the
unprivileged domain (DomU)
http://en.wikipedia.org/wiki/Xen
Xen
Scary moment during installation of Guest OS
However, taking a closer look Xen is doing it’s job
Xen
Sandbox Machine
running Xen Linux
Kernel
Virtualized CentOS
environment within
original Operating
System
VMware
Proprietary virtualization software developer
x86-compatible architectures only
Both Desktop and Server space software packages:
Desktop:
VMware Workstation (orig. 1999) allowed users to run multiple
x86 operating systems
VMware Fusion is the Mac-Intel platform product
VMware Player allows users to run but not create VMs
Server:
VMware ESX Server is an Enterprise marketed product
VMware Server is the less optimized, freeware version
http://en.wikipedia.org/wiki/vmware
VMware Player
VMware Server
Other Technologies
Mac-on-Linux
Boot Camp (std. on Leopard)
Works Cited
Kevin Kettler, CTO Dell on virtualization [Highly Recommended]
http://youtube.com/watch?v=nDiM19KShAA (10 minutes)
Dan Chu, Sr. Dir of Products VMware on cost/benefit of Virtualization
http://youtube.com/watch?v=MnNX13yBzAU&feature=related (4 minutes)
Dell Tech Center: Removes Blade from server and watches VMware recover
http://youtube.com/watch?v=ZUtmogrGnTQ&feature=related (2 minutes)
Associated White Paper: http://www.dell.com/downloads/global/vectors/dell_and_vmware_drs_ha_solutions.pdf
Wikipedia: Virtualization, Virtual Machine and Virtual Appliance
www.wikipedia.org
The Complete Reference, FRHEL Chapter 33
XenSource
www.xensource.com
VMware
www.vmware.com
Works Cited (a little less serious)
VMware Advertisement, Mac vs. PC style
http://youtube.com/watch?v=EBsw5y5sDKQ&feature=related
VMware music video?!
http://www.youtube.com/watch?v=Dm8r45jeAzM&NR=1
Smart-Guy, Dumb-Guy style infomercial for VMware
http://www.youtube.com/watch?v=qWf_WiaFedc&feature=related
Sun xVM presentation and Live-Demo
http://www.youtube.com/watch?v=ojn5YEQhrDk&feature=related