Virtualization
Download
Report
Transcript Virtualization
Virtualization
B. Ramamurthy
References
• Practical Virtualization Solutions: Virtualization
from the Trenches by K. Hess and A. Newman,
Prentice-Hall Inc., 2009, ISBN 13: 978-0-13714297-2.
• P. Li. Selecting and using virtualization
solutions – our experiences with VMware and
Virtualbox, CCSC 2009, vol.25, no.3, Jan 2010,
pp.11-17.
Moore’s law
• Intel co-founder Gordon Moore is a visionary.
His prediction, popularly known as Moore's
Law, states that the number of transistors on a
chip will double about every two years. Intel and
other semiconductor companies kept that pace
for over 40 years.
• GPU’s performance and functionality have been
increasing at a faster pace than Moore’s law.
Recent Advances
• Multi-core: how to fully harness the power of
multi-core? Intel has been trying really hard to
make us all program for multi-core!!!
• Large scale data: How to manage large scale
data? Google, Yahoo, NSF and CRA have been
promoting their file systems and MapReduce!!
• Parallel processing of data: How to configure
clusters to process data in parallel?
• Answer: Virtualization?
Virtualization
• Virtualization is creation of an alternative to actual
version of something:
▫ virtual memory (more memory than physically available),
▫ virtual time (buffering provides virtual/effective download
time that less than the actual time),
▫ Virtual hardware, desktop, disk, appliances, scenes,
▫ Virtual worlds
• In our context it is realizing one or more complete
computer systems as guests on the base
machine/operating system.
• This offers an excellent conduit for delivering the vastly
underutilized power of the multi-core and other
resources such as storage and devices.
Early days of VM
• Technology was initially popularized in 1960’s by IBM.
• IBM 370 /VM
• 1990 VMware released its virtualization product: slow,
based on x86 platform (no multi-core), expensive
• Now, we have
▫
▫
▫
▫
▫
▫
▫
VMware suite;
MS virtual PC, Hypervisor;
QEMU (Quick Emulator): open source
XEN
OpenVZ
KVM
VirtualBox
Types of Virtualization
• Bare metal virtualization (Hypervisor?): A system is
installed directly on the hardware rather than on the
host operating system
▫ Difficult parts of the underlying hardware need not be
virtualized
• Paravirtualization: is a virtualization technique that
presents a software interface to virtual machines that is
similar but not identical to that of the underlying
hardware: VMware, XEN
▫ A hypervisor as a privileged level accessing the hardware
▫ On top of the hypervisor is the guest system
• Hardware-Assisted Virtualization (HVM): Zen-HVM
allows interaction between paravirtualized system and
the hypervisor
HostOS/GuestOS Products
• VMware server: introductory package for
small environments: limited use in large
environments
• Sun(now Oracle) xVM or Virtual Box: favorite
among academicians as well as the authors of
this text. Adjustable video memory, remote
device connectivity, RDP connectivity, snappy
performance, may be best hosted virtualization
package.
Hypervisor Products
• Hypervisor: Hypervisor is a bare metal approach;
is installed on the bare metal and then the operating
systems is installed (paravirtualized); the operating
system is designed as VM zero.
▫ Ex: VMware ESXi: 32MB footprint!
▫ Hardware is virtualization optimized
▫ VM management via Direct Console User Interface
(DCUI) at the physical console of the server system
▫ Vmkernel allows for remote mangement vis a set of
APIs and agents.
Hypervisor-based Products
• Citrix Xen: Earlier versions (<=3.0) were very
slow. >4.0 version is very fast and the speciality
is the template engine, high end virtualization
• VMware ESX/ESXi: enterprise virtualization
at its best. Free product
• Microsoft Hyper-V: above products are Linux
based and MS came up with Windows server
version of virtualization in this product.
Emulation-based Products
• Emulation refers to the capability to mimic a particular
type of hardware for an operating system regardless of
the underlying host operating systems.
• Ex: Sparc version of Solaris on a non-Sparc machine.
• Slow;
• Examples: Bochs, QEMU, MS Virtual PC and Virtual
Server
• Bochs is a free, open source Intel architecture x86b (32bit) emulator that runs on Unix, Linux, Windows, and
Mac OS
• QEMU is another free, open source emulation program
that runs on limited number of host archs.: x86, Sparcx,
MIPS, PowerPC, m68K guest OS.
Emulation Products (contd.)
• MS Virtual PC is a software package from
Microsoft.
• For windows env. These are good products.
Kernel-level Virtualization
• Multiple root systems
• VM uses its own kernel to boot the guest VM
(called root file system)
• Examples: KVM (Kernel Virtual Machine):
modified QEMU but uses virtualization
processor extension
• User Mode Linux (UML) uses an executable
kernel and a root file system to create a VM.
UML is a part of Linux after 2.6.x kernels!
Shared kernel
• Is also called Operating system virtualization or
system level virtualization, takes advantage of
the unique ability of Unix and Linux to share
kernel with other processes in the system.
• chroot is the command typically used
• Container-based virtualization
• Examples: Solaris container zones,
• OpenVZ
Recommendation
▫
▫
▫
▫
Xen
VMware ESX
MS Virtual PC (for Windows env.)
For us: VMware server and Sun’s Virtual box
Finally, there are other products besides these and
many more to appear esp. with the explosion of
cloud computing.