pac097 vmware workstation and gsx server architecture and...

43
PAC097 VMware Workstation and GSX Server Architecture and Internals: The Evolution Scott Devine Founder, Principal Engineer VMware

Upload: others

Post on 03-Jun-2020

41 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

PAC097

VMware Workstation and GSX Server Architecture and

Internals: The Evolution

Scott Devine

Founder, Principal Engineer

VMware

Page 2: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

This presentation may contain VMware confidential information.

Copyright © 2005 VMware, Inc. All rights reserved. All other marks and names mentioned herein may be trademarks of their respective

companies.

Page 3: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Outline

�Basic Architecture

�Virtual Machine State

�Networking

Page 4: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Conventional Computer System

�Operating Systems provide

� Hardware management / device drivers

� Application programmers interface (APIs)

Hardware

Operating System

Application Application Application

Page 5: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Traditional Virtual Machine Monitor

� Virtual machines provide

� Encapsulation

� Isolation

� Hardware Independence

Hardware

Virtual Machine Monitor

Virtual Machine

Operating System

Application Application

Virtual Machine

Operating System

Application Application

Page 6: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

VMware Workstation Goals

�Provide the traditional benefits of virtual machines

�Virtualize x86 PCs

�Run like an application

�Run with good performance

Page 7: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

VMware as an Application

� Installs like an application on an existing computer system

�All virtual machine data stored on existing file system

�No disk partitioning

�Native applications can run simultaneously to virtual machines

�Use existing device drivers

Page 8: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

VMware as an Application

Hardware

Host OS

NativeApplication VMware Workstation

Virtual Machine

Guest OS

App App

Page 9: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

VMware Virtual Machine Monitor�Virtualization techniques require

� Access to privileged CPU state

� Complete control of the Memory Management Unit (MMU)

�The Host OS gets in our way

Need to both run as an application and

as a privileged virtual machine monitor

Page 10: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

3-Component Model

�Switch to privileged VMM to run virtual machine

� VMM takes complete control of CPU and MMU

� Host OS state is saved / restored on “World” switch

Hardware

Host OS

NativeApplication Virtual Machine

Guest OS

App App

VMware Workstation

VMM

Page 11: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Resources�The application only switches to the VMM when it’s running

� VMM switches back on interrupts

� Host OS sees the application as running during this time

�The application allocates all memory used by the virtual machine

�All resources used by the virtual machine are charged to the application

Page 12: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Devices

�Device I/O is routed through the application

�Use standard OS system call interfaces

Hardware

Host OS

NativeApplication Virtual Machine

Guest OS

App App

VMware Workstation

VMM

Page 13: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

CPU / Memory Virtualization

�Traditional virtualization technique

Direct Execution

�Run OS at an unprivileged CPU level

�CPU traps to VMM on privileged instructions

�VMM emulates privileged instruction

�However, x86 is not strictly virtualizable

Page 14: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Binary Translation

� Inspects each instruction before its executed

�Replaces “dangerous” instructions with calls to emulation code

�Stores sequences of translated instructions in a translation cache

�Fast, but slower than direct execution

Page 15: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Dual Virtualization Method

�Use traditional direct execution when possible

�Well behaved user-level programs

�Use binary translation when not

�Operating system

�Real mode programs (old 16 bit DOS apps)

�User-level programs with special privileges (X server on Linux)

Page 16: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Dual Virtualization Method

Direct

Exec.

OK?

Return to

VM

Direct Execution

Binary Translation

Emulation

Privileged

Instruction

CPU

State

Page 17: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Goals Met� 3-Component model

� Acts like an application

� Use raw hardware for best performance

�Device I/O through application

� Reuse device drivers on host OS

�Dual virtualization

� Virtual x86 with binary translation

� Get good performance with direct execution

Page 18: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Outline

�Basic Architecture

�Virtual Machine State

�Networking

Page 19: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Virtual Machine State

�Virtual machine encapsulation: All the state of the virtual machine is stored on a few files on the host file system

Page 20: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Disks

�All disk state is stored in host files

�Disk read/write commands from the guest are translated into file read/write system calls

Host

File

VM

Guest OS

App App

Disk

Page 21: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Delta Disks

�Only stores differences between original and child

�Dependent on original disk not changing

VM A

Disk

Delta

Disk

Base

Disk

Page 22: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Checkpoints

�Virtual machine’s running state captured to a host file

�CPU state

�Memory

�Device state

�Time

VM

Guest OS

App App

Check-

point

File

Page 23: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Undoable Disks – Workstation 1.0

�Put disk in Undoable mode

VM’s

Disk

Disk

File

Page 24: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Undoable Disks – Workstation 1.0

�Put disk in Undoable mode

�All writes would go to a .REDO delta disk

VM’s

Disk.REDO

Disk

File

Page 25: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Undoable Disks – Workstation 1.0

�Put disk in Undoable mode

�All writes would go to a .REDO delta disk

�Commit or discard at power off

VM’s

Disk

.REDO

Disk

File

Page 26: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Undoable Disks – Workstation 1.0

�Put disk in Undoable mode

�All writes would go to a .REDO delta disk

�Commit or discard at power off

VM’s

Disk

.REDO

Disk

File

Page 27: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Suspend/Resume – Workstation 2.0

�Use a checkpoint to suspend execution of virtual machine to disk

�All running state of the virtual machine is saved in checkpoint

�Disk state is already on in a file

�Resume will continue execution

�Checkpoint file is removed

�Can only resume from a suspend once

Page 28: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Snapshots – Workstation 4.0

�“Undoableness” for the whole virtual machine

�Take a snapshot at any point

�Revert to a snapshot many times

VM

Guest OS

App App

Base

Disk

Page 29: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Snapshots – Workstation 4.0

�Undoableness for the whole virtual machine

�Take a snapshot at any point

�Revert to a snapshot many times

VM

Guest OS

App AppSnapshot

Check-

point

Base

Disk

Current

Disk

Page 30: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Multiple Snapshots –Workstation 5.0

�Creates a timeline of snapshots

�Going back in time does not delete future snapshots

�Creates a tree of snapshots

�All snapshots are kept with the virtual machine

Page 31: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Clones – Workstation 5.0

�Creates a copy of the virtual machine

VM A

Disk

Delta

Disk

Base

Disk

VM B

Disk

Delta

Disk

Page 32: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Outline

�Basic Architecture

�Virtual Machine State

�Networking

Page 33: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Basic Networking

�Vmnets acts as virtual switches

Host OS

NativeApplication

Vmnet 1

Virtual Machine

Guest OS

App App

Virtual Machine

Guest OS

App App

Page 34: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Bridged – Workstation 1.0

� Makes Vmnet look like an extension of the real Ethernet

Host

Vmnet 0

Virtual Machine

Guest OS

App App

Bridge

Network

Stack

Page 35: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Host File Access – Workstation 2.0

� Extra setup on Linux to share host file system on new network interface

Host

Vmnet 1

Virtual Machine

Guest OS

App App

DHCPServer

Network Stack

HostIf

Page 36: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

NAT – Workstation 3.0

� NAT process does the address translation for all virtual machines on Vmnet 8

Host

Vmnet 8

Virtual Machine

Guest OS

App App

NATProcess

Host

Network Stack

Page 37: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Teams – Workstation 5.0

�Team: A group of networked virtual machines with the network topology

Host

Team Private Vmnet B

Server VM

Guest OS

App App

Client VM

Guest OS

App App

Team Private Vmnet A

Firewall VM

Guest OS

App App

Page 38: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Team Network Properties

�Team Private Vmnets have knobs

�Bandwidth

�Packet Loss Rate

�Can simulate modems, DSL, T1, LANs

Page 39: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

VMware GSX Server Goals

�Enhance the VMware virtualization platform for enterprise servers

�Remote management

�Scripting

Page 40: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Remote Management in GSX Server

�Web-based remote management

�Serverd manages all running virtual machines

Hardware

Host OS

Virtual Machine

Guest OS

App App

vmware

VMM

serverdvmwarevmware

web

server

Page 41: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Remote Console

�Remote Console connections go direct to the virtual machines

Hardware

Host OS

Virtual Machine

Guest OS

App App

vmware

VMM

serverdvmwarevmware

web

server

Page 42: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

VirtualCenter Management

�GSX Server can be managed by VirutalCenter

�VirtualCenter connects direct to serverd

Hardware

Host OS

Virtual Machine

Guest OS

App App

vmware

VMM

serverdvmwarevmware

web

server

Page 43: PAC097 VMware Workstation and GSX Server Architecture and ...download3.vmware.com/vmworld/2005/pac097.pdf · GSX Server Architecture and Internals: The Evolution Scott Devine Founder,

Conclusion

�Basic virtualization techniques have stood the test of time

�Extended I/O functionality

�Extended remote management capabilities