PAC097 VMware Workstation and GSX Server Architecture and...
Transcript of PAC097 VMware Workstation and GSX Server Architecture and...
![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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/1.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/2.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/3.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/4.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/5.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/6.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/7.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/8.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/9.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/10.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/11.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/12.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/13.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/14.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/15.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/16.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/17.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/18.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/19.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/20.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/21.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/22.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/23.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/24.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/25.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/26.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/27.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/28.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/29.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/30.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/31.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/32.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/33.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/34.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/35.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/36.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/37.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/38.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/39.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/40.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/41.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/42.jpg)
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,](https://reader035.fdocuments.net/reader035/viewer/2022062919/5ee3e968ad6a402d666d6fc1/html5/thumbnails/43.jpg)
Conclusion
�Basic virtualization techniques have stood the test of time
�Extended I/O functionality
�Extended remote management capabilities