A Brief Introduction To Virtualization Technologies

Download Report

Transcript A Brief Introduction To Virtualization Technologies

A Brief Introduction To Virtualization
Technologies
Yin Yunqiao
[email protected]
2007-08-31
HP
Virtualization

In computing, virtualization is a broad term that
refers to the abstraction of computer resources.

Platform virtualization

Resource virtualization
Platform Virtualization
Emulation or simulation
Native virtualization and full virtualization
Hardware enabled virtualization
Partial virtualization
Paravirtualization
Operating system-level virtualization
Application Virtualization
Emulation or simulation


allowing an unmodified "guest" OS for a
completely different CPU to be run.
Examples:

Bochs

PearPC

VirtualPC

QEMU(without acceleration)
Native and Full Virtualization


the virtual machine simulates enough hardware to
allow an unmodified "guest" OS (one designed
for the same CPU) to be run in isolation.
Examples:

VirtualBox

Virtual PC

Vmware

QEMU

Win4Lin

XEN/Virtual Iron
Hardware enabled virtualization

the virtual machine has its own hardware and
allows a guest OS to be run in isolation.

Intel VT (IVT)

AMD virtualization (AMD-V)

Examples:

VMware Fusion

Parallels Desktop for Mac

Parallels Workstation
Partial virtualization

the virtual machine simulates multiple instances
of much (but not all) of an underlying hardware
environment, particularly address spaces.
Paravirtualization



the virtual machine does not necessarily simulate
hardware, but instead (or in addition) offers a
special API that can only be used by modifying
the "guest" OS.
Terminologies

Hypervisor, hypercall

Enomalism
Examples:

XEN, KVM, Win4Lin 9x
Operating system-level virtualization


virtualizing a physical server at the operating
system level, enabling multiple isolated and
secure virtualized servers to run on a single
physical server.
Examples:

Parallels Workstation

Linux-VServer, Virtuozzo

OpenVZ, Solaris Containers

FreeBSD Jails

Chroot ?
Application Virtualization



typically for the purpose allowing application
binaries to be portably run on many different
computer architectures and operating systems.
http://en.wikipedia.org/wiki/Comparison_of_Appl
ication_Virtual_Machines
Examples:

.NET CLR

JVM

Script Languages:Python,Ruby,Javascript...
Resource Virtualization
RAID
SAN
Channel bondings
VPN/NAT
Multiprocessor and multi-core
Cluster and Grid computing
Partitioning
Virtualization Under Linux(1)
UML (User Mode Linux)
http://user-mode-linux.sourceforge.net/
KVM (Kernal-based Virtual Machine)

From Linux-2.6.20
 http://kvm.qumranet.com/kvmwiki
XEN

http://xen.xensource.com/
Virtualization Under Linux(2)

QEMU


http://fabrice.bellard.free.fr/qemu/
QEMU Accelerators

KQEMU

QVM86

VirtualBox (released in January 2007)

KVM with QEMU
Virtualization Under Linux(3)


Bochs (GPLed, very slow)

A portable x86 and AMD64 PCs emulator mostly
written in C++ and distributed as free software under
GPL.

http://bochs.sourceforge.net/
VirtualBox(commercial&open source, fast)


http://www.virtualbox.org/
VMWare (Workstation,Server,Player)
Virtualization Under Linux(4)


SWSOFT Virtualizations

http://www.swsoft.com

http://www.parallels.com/

http://openvz.org/
Linux-VServer


http://linux-vserver.org/
Compare with:

FreeBSD Jail

Solaris Containers (Zones)
Linux Virtualization in Windows(1)

VMWare

Virtual PC

VirtualBox

Bochs

QEMU
Linux Virtualization in Windows(2)


CoLinux Cooperative Linux
http://www.colinux.org/
Topologilinux
http://www.topologilinux.com
Linux Virtualization in Windows(3)

MinGW Minimalist GNU for Windows

Cygwin

GNUWIN32

GNUWINII

UnxUtils

UWIN

SFU
Microsoft Windows Services for UNIX,aka Interix
Comparison of virtual machines

http://en.wikipedia.org/wiki/Comparison_of_virtu
al_machines
History of virtualization development
 1965 IBM M44/44X paging system
2005 Intel VT
 1965 IBM System/360-67 virtual memory hardware
2006 AMD VT
 1967 IBM CP-40 (January) and CP-67 (April) time-sharing
2005 XEN
 1972 IBM VM/370 run VM under VM
2006 VMWare Server
 1997 Connectix First version of Virtual PC
2006 Virtual PC 2006
 1998 VMWare U.S. Patent 6,397,242
2006 HP IVM Version 2.0
 1999 VMware Virtual Platform for the Intel IA-32
2006 Virtual Iron 3.1
architecture
 2000 IBM z/VM
 2001 Connectix Virtual PC for Windows
 2003 Microsoft acquired Connectix
 2003 EMC acquired Vmware
 2003 VERITAS acquired Ejascent
 2005 HP Integrity Virtual Machines
2007 InnoTek VirtualBox
2007 KVM in Linux Kernel
2007 XEN in Linux Kernel
References

Wikipedia for any virtualization Terminologies

Virtual Linux:An overview of virtualization methods, architectures, and implementations
http://www-128.ibm.com/developerworks/linux/library/l-linuxvirt/
Questions
Q&A