Title: Virtualization Basics, VMware
1VirtualizationBasics, VMware KVM
- Lecturer Erez Melcer
- Course Advanced topics in OS
- Hebrew University in Jerusalem Israel
2Agenda
- Virtualization basics.
- CPU virtualization architectures.
- Memory virtualization architectures.
- VMware architecture products.
- VMware demo.
- KVM architecture products.
- KVM demo.
- Comparison KVM vs. VMware.
- Summary.
3Basics definition
- Wikipedia a technique for hiding the physical
characteristics of computing resources from the
way in which other systems, applications, or end
users interact with those resources. - In this presentationthe abstraction of
physical resources in order to run multiple
operating systems on the same underlying
hardware
4Basics history
- Started in the 1960s IBM M44/44X.
- Abandoned in the 1980s and 1990s, due to
cheiper x86 machines being the mainstream. - VMware startedx86 virtualizationin 1999.
5Basics why virtualize?
- Consolidate Servers (less hardware, IT power)
- Run legacy software (that is not fit for new
hardware) - Sandbox un-trusted software.
- Multiple different OSes on same hardware
simultaneously. - Debug and performance monitoring.
- Fault containment (OS fault allows other OSes and
their apps to continue) - Migrating OSes (allows more up time)
6Basics acronyms
- PI privileged instruction.
- VM virtual machine.
- BT binary translation.
7CPU virtualization architectures
- Regular (non-virtualized) systemOS has full
control over computer recourses and is free to
issue PI. - NoteUser-space alwaysruns directly on
CPU.Only kernel has PIThat need to behandled
differently invirtualized environment.
8CPU virtualization architectures
- Full virtualizationVirtualization layer uses BT
to replace PI with instructions that have the
same affect on the VM. - Unmodified guest.
- Software overhead.
9CPU virtualization architectures
- Para-virtualizationGuest OS is modified to call
functions insteadof issuing PI. - Good performance
- Modified Kernel(Only Linux)(management
overhead)
10CPU virtualization architectures
- Hardware assistCPU support of virtualization
that eliminates the need for BT. - Unmodified guest.
- Good performance(not yet).
11Memory virtualization architectures
- Hardware supports virtual to physical
translation. - For virtualization another layer is neededguest
physical to host physical. - This is done with shadow page tables, that hold
guest virtual to host physical translation and
are loaded to the hardware for direct translation.
12Memory virtualization architectures
13VMware
14VMware virtualization layer
- Full virtualization (first BT for x86).
- 2 architectures
- Hosted virtualization layer runs as an
application on a hosting OS. supports more
hardware. - Hypervisor virtualization layer runs as the main
OS (on bare wires). better performance. - Virtualization layer manages the VMMs
15VMware VMM
- Virtual machine manager implements the
abstraction of the hardware runs the guest OS
on it. - In charge of
- The binary translation of privileged
instructions. - Switching the MMU tables for 1 level translation
of virtual memory. - Connecting virtual I/O devices to real ones via
routing multiplexing.
16VMware I/O virtualization
- software emulated devices rather than direct
pass-through, in order to get a rich set of
features - Live migration.
- Software network switch.
17VMware desktop products
- VMware VDI Centralize PC in data centers.Saves
costs on hardware and IT, while maintaining known
look fell of the Desktop PC. - VMware ACE Controlling virtual desktops.Allows
IT to deploy, maintain control all desktop
environments, from managed company-owned PCs to
difficult to reach employee-owned. - VMware Workstation Create and use virtual
machines on a PC.Allows creation usage of
virtual machines on the PC.
18VMware desktop products
- VMware Fusion Virtual machines for the
Mac.Allows Mac OS to be the host OS. Also
supports running Windows applications in the Mac
environment. - VMware Player Run virtual machines.Free, but
allows only running of pre-created virtual
machines.
19VMware server products
20VMware server products
- VMware ESX Server VM-ware's Hypervisor.Runs as
the host OS and is the base of Infrastructure 3. - VMware ESX Server 3i A new hardware-integrated
version of the ESX Server. It is only 32MB and
has all the functionality. - VMware Virtual SMP Runs virtual machines on up
to 4 physical CPUs. - VMware High Availability (HA) Keep virtualized
apps running.Allows the automatic restart of
virtual machines on different physical machines. - VMware DRS Workload and power optimizing.Locates
virtual machines on physical ones to optimize
balance load and priorities. Low recourse
requests cause virtual machine consolidation on
physical ones and putting empty machines on
stand-by. - VMware VMotion Live migration of virtual
machines.This is used in HA DRS.
21VMware server products
- VMware VMFS A cluster file system that
leverages shared storage to allow multiple
instances of ESX Server to read and write to the
same storage, concurrently. - VMware Server Free server version.Allows
creation of virtual machines, but has less
features than the Workstation. - And more
22VMware demo
23KVM architecture
- Hardware assisted architecture.
- Linux Kernel as the Virtualization layer.
- Loadable Linux kernel modules.
- Supports Intel-VT AMD-V
- Only hosted, due to part of Linux.
- Main concept reuse of code
- Linux kernel abilities.
- QEMU project.
24KVM CPU virtualization
- Built in a triply-nested loop
- Modified QEMU process calls kernel to enter guest
mode handles virtual motherboard. - Kernel causes CPU to enter guest mode.Checks
reason of exit. Interrupts and page faults are
handles by kernel, I/O is forwarded to QEMU. - CPU runs in guest mode until an instruction that
needs assistance, a fault, or an external
interrupt.
25(No Transcript)
26KVM memory virtualization
- Works with shadow page tables that map guest
virtual to host physical. - First version trapped special TLB update
instructions and did them on shadow page as well. - Easy to implement.
- Bad performance, due to many context switches
that flush the TLB. Shadow page rebuild is very
expensive.
27KVM memory virtualization
- Enhanced version trapped memory writes to page
tables by write-protecting the page tables. - Harder to implement
- Write protecting memory regions.
- Reverse mapping of guest page tables.
- Parsing the caught x86 write instruction.
- Checking if pages are still used for page tables.
- Good performance, due to page table caching
instead of rebuilding.
28KVM I/O virtualization
- I/O is forwarded to QEMU in user-space.There
its fed into the motherboard model. - Interrupts can be inserted from QEMU into the
virtual machine.
29KVM demo
- KVM is currently run from Linux shell
30KVM demo
31KVM demo
- In Ubuntu 8.04 (Hardy Heron) KVM will be the
supported virtualization package. - It will use Red Hats Virtual Machine Manager
GUI
32(No Transcript)
33(No Transcript)
34(No Transcript)
35(No Transcript)
36(No Transcript)
37Comparison KVM vs. VMware.
- CPU virtualization
- VM-wareFull-virtualization solution, with use
of para-virtualization drivers. - KVMHardware assist solution, with
para-virtualization drivers. - My insightAs hardware assistance becomes more
useful, it will be the major (and correct) way to
implement virtualization.VM-ware is aware of
this fact and is preparing for the age of
hardware assist. It will be interesting to see
how they keep ahead in this market when their
major advantage, good binary translation, is not
relevant.
38Comparison KVM vs. VMware.
- Memory virtualization Memory is virtualized
very similarly in both KVM and VM-ware.This is
the major overhead in virtualization and will be
improved in nested TLB support in feature CPUs.
39Comparison KVM vs. VMware.
- I/O virtualizationAlso I/O virtualization is
similar in both VM-ware and KVM.It is forwarded
to user-space, QEMU in KVM and VM-ware user-space
layer in VM-ware. This allows both of them to
support advanced features in software, such as
live migration.
40Comparison KVM vs. VMware.
- Cost
- VM-Ware
- VM-ware gives basic virtualization solutions for
free. - VM-ware Workstation costs about 190.
- VM-ware ESX server costs about 500 for the basic
suite and up to 5,750 for the full enterprise
suite. - KVMKVM is an open-source project under the GPL
license, so it is free to use and improve.KVM
offers today features that are in VM-ware's
enterprise suite for free, such as live
migration. - My insightIf KVM continues on its course, gains
more community support, and hardware support is
improved than their product will be very
appealing and will win a major segment share in
the low to middle market.VM-ware will keep its
lead in the high end market due to being far
ahead (though they rely on binary translation
that will soon be obsolete).
41Comparison KVM vs. VMware.
- Patriotism
- VM-ware is an American company.
- KVM is funded by Qumranet that has offices in
Raanana and California. It is managed by Avi
Kivity.
42Summary
- VM-ware were first to market and have a major
lead on everyone else. They have a fuller more
mature product line and support. For this reason
hardware vendors work with them and they might
have a look ahead on next generation hardware
support before KVM. - KVM is an open-source project that re-uses the
Linux Kernel feature for virtualization. This
re-use gives them continuous updates and
improvements just from gaining the Kernel
scheduling and memory handling updates. As
open-source solutions gain more use and support
all the time, and Ubuntu has chosen them as their
virtualization solution, they are a rising power
in the virtualization world.