a brief introduction to virtualization technologies

22
A Brief Introduction To Virtualization Technologies Yin Yunqiao [email protected] 2007-08-31 HP

Upload: shelley-madden

Post on 30-Dec-2015

37 views

Category:

Documents


0 download

DESCRIPTION

Yin Yunqiao [email protected] 2007-08-31 HP. A Brief Introduction To Virtualization Technologies. Virtualization. In computing, virtualization is a broad term that refers to the abstraction of computer resources. Platform virtualization Resource virtualization. Platform Virtualization. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Brief Introduction To Virtualization Technologies

A Brief Introduction To Virtualization Technologies

Yin [email protected]

2007-08-31

HP

Page 2: A Brief Introduction To Virtualization Technologies

Virtualization

In computing, virtualization is a broad term that refers to the abstraction of computer resources.

Platform virtualization Resource virtualization

Page 3: A Brief Introduction To Virtualization Technologies

Platform Virtualization

Emulation or simulation

Native virtualization and full virtualization

Hardware enabled virtualization

Partial virtualization

Paravirtualization

Operating system-level virtualization

Application Virtualization

Page 4: A Brief Introduction To Virtualization Technologies

Emulation or simulation

allowing an unmodified "guest" OS for a completely different CPU to be run.

Examples: Bochs PearPC VirtualPC QEMU(without acceleration)

Page 5: A Brief Introduction To Virtualization Technologies

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

Page 6: A Brief Introduction To Virtualization Technologies

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

Page 7: A Brief Introduction To Virtualization Technologies

Partial virtualization

the virtual machine simulates multiple instances of much (but not all) of an underlying hardware environment, particularly address spaces.

Page 8: A Brief Introduction To Virtualization Technologies

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

Page 9: A Brief Introduction To Virtualization Technologies

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 ?

Page 10: A Brief Introduction To Virtualization Technologies

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_Application_Virtual_Machines

Examples: .NET CLR JVM Script Languages:Python,Ruby,Javascript...

Page 11: A Brief Introduction To Virtualization Technologies

Resource Virtualization

RAID

SAN

Channel bondings

VPN/NAT

Multiprocessor and multi-core

Cluster and Grid computing

Partitioning

Page 12: A Brief Introduction To Virtualization Technologies

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/

Page 13: A Brief Introduction To Virtualization Technologies

Virtualization Under Linux(2)

QEMU http://fabrice.bellard.free.fr/qemu/

QEMU Accelerators KQEMU QVM86 VirtualBox (released in January 2007) KVM with QEMU

Page 14: A Brief Introduction To Virtualization Technologies

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)

Page 15: A Brief Introduction To Virtualization Technologies

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)

Page 16: A Brief Introduction To Virtualization Technologies

VMWare Virtual PC VirtualBox Bochs QEMU

Linux Virtualization in Windows(1)

Page 17: A Brief Introduction To Virtualization Technologies

Linux Virtualization in Windows(2)

CoLinux Cooperative Linuxhttp://www.colinux.org/

Topologilinux http://www.topologilinux.com

Page 18: A Brief Introduction To Virtualization Technologies

Linux Virtualization in Windows(3)

MinGW Minimalist GNU for Windows Cygwin GNUWIN32 GNUWINII UnxUtils UWIN SFU

Microsoft Windows Services for UNIX,aka Interix

Page 19: A Brief Introduction To Virtualization Technologies

Comparison of virtual machines

http://en.wikipedia.org/wiki/Comparison_of_virtual_machines

Page 20: A Brief Introduction To Virtualization Technologies

History of virtualization development 1965 IBM M44/44X paging system

1965 IBM System/360-67 virtual memory hardware

1967 IBM CP-40 (January) and CP-67 (April) time-sharing

1972 IBM VM/370 run VM under VM

1997 Connectix First version of Virtual PC

1998 VMWare U.S. Patent 6,397,242

1999 VMware Virtual Platform for the Intel IA-32 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

2005 Intel VT

2006 AMD VT

2005 XEN

2006 VMWare Server

2006 Virtual PC 2006

2006 HP IVM Version 2.0

2006 Virtual Iron 3.1

2007 InnoTek VirtualBox

2007 KVM in Linux Kernel

2007 XEN in Linux Kernel

Page 21: A Brief Introduction To Virtualization Technologies

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/

Page 22: A Brief Introduction To Virtualization Technologies

Questions

Q&A