Académique Documents
Professionnel Documents
Culture Documents
Goals
After this presentation you will
Have a clear idea of Microsofts management
approach to virtualization services
Have a high level understanding on the
virtualization services WMI interface
Have a better idea of how you can integrate
your product with virtualization services
For managing purposes
To integrate your hardware
Agenda
Introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Introduction To WMI
WMI Windows Management Interface is
Microsofts implementation of DMTF WBEM
DMTF = Distributed Management Task Force
WBEM = Web Based Enterprise Management
Introduction To CIM
Common Information Model
Object-oriented information model
Provides a conceptual framework for describing
management data
For computing and business entities
In Internet, enterprise and service provider environments
Formalism
UML Universal Modeling Language
MOF Managed Object Format
CIM Schema
Schemas are building blocks of CIM
Describe and represent manageability
Core model
Capture notions applicable to all
management areas
Common models
Capture notions common to particular
management areas
Independent of any particular implementation
CIM
Common models
Apps
Database
Device
Event
Interop
Metrics
Network
Physical
Policy
Support
System
User
Virtualization
Management service
Controls all aspects of the lifecycle of a VM
Agenda
Introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Computer Systems
Physical or virtual
VM is a computer system
Host is a computer system
CIM_ComputerSystem
(Physical)
CIM_ComputerSystem
(Virtual)
Computer Systems
Linking Physical to Virtual
Hosted Dependency association
links VM computer system to Host
computer system
Host
Computer System
Hosted Dependency
VM-1
Computer System
VM-2
Computer System
VM-3
Computer System
Computer Systems
Virtual Systems
All virtual aspects abstracted into a
virtualization specific object
Host
Computer System
Hosted Dependency
Virtual
Computer System
Virtual System
Setting Data
Active
VM is running, all resources are allocated
Paused
VM is paused, all resources remain allocated
Suspended
VM resources are de-allocated, state is persisted
Virtual System
State transitions
Starting
state
VM defined
VM active
VM paused
VM suspended
End
state
Agenda
Introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Management Service
Full name: Virtual System Management
Service (VSMS)
Central object in virtualization profile
Needed to access and manage virtualization
services exposed by a host system
Management Service
Relationship to host
VSMS is just another service
Scoped by Hosting computer system
Associated to host via Hosted Service
VSMS is special
Associated to host via Associated Virtual System
Management Service
Associated Virtual System Management Service
Virtual System
Management Service
Host
Computer System
Hosted Service
VSMS Discovering
Capabilities
Virtual System Management Capabilities class
describes VSMS implementation level
Optional methods
Indication support
Asynchronous operations support
Virtual System
Management Service
Element Capabilities
Virtual System
Management Capabilities
Agenda
Introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Resources
Physical or virtual resources
have the same representation
Include items like
Memory
Network
Ports
Resource Pools
Managed by resource pool
configuration service
One allocated for a each device type
May be hierarchical
Central class for virtual device allocations
Virtual resources are allocated from
resource pools
Resource Pools
Resource pool configuration service
Host System
Hosted Service
Resource Pool
Configuration Capabilities
Resource Pool
Configuration Service
Element
Capabilities
Service Affects
Element
System Device
Hosted
Resource Pool
Host Resource
Resource Pool
Concrete
Component
Allocated From
Pool
Virtual Resource
Host resources
go into pools
Host
Computer System
System
Device
Processor
Resource Pool
Processor
Memory
Resource Pool
Memory
NIC
Resource Pool
NIC
Agenda
WMI introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Resource Allocation
Setting Data
Represents settings of a single resource
One instance for each different
device settings
Active
Snapshots 0 or more
Virtual
System has
virtual
devices
Virtual
system
settings and
Resource
allocation
settings track
allocations
Virtual
Computer System
Resource
Allocation
Setting
Resource
Allocation
Setting
Resource
Allocation
Setting
System
Device
Processor
Memory
NIC
Agenda
WMI introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Running VM Instance
Diagram
Host
Computer System
Virtual
Computer System
Virtual System Settings
(Active)
Hosted Dependency
Resource
Allocation
Setting
Processor
Processor
Resource pool
Processor
Resource
Allocation
Setting
Memory
Memory
Resource pool
Memory
Resource
Allocation
Setting
NIC
NIC
Resource pool
NIC
Agenda
Introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Snapshots
Definition
Represents point in time configuration
of a VM including its resources
In CIM terms
A Virtual System Settings Data structure
All of the associated Resource Allocation
Setting Data elements
Snapshots Creation
Simplified instance diagram
Element Setting Data
Virtual
Computer System
Resource
Allocation
Setting
Resource
Allocation
Setting
Resource
Allocation
Setting
Processor
Resource
Allocation
Setting
Resource
Allocation
Setting
Resource
Allocation
Setting
Memory
Resource
Allocation
Setting
Resource
Allocation
Setting
Resource
Allocation
Setting
NIC
Applying A Snapshot
Client enumerates snapshots using
Element Setting Data aggregation
Selects snapshot that she/he wants
to apply
Invokes ApplySnapshot() method
of VSMS
Snapshot recorded values become
current values
Applying A Snapshot
Simplified instance diagram
Element Setting Data
Virtual
Computer System
Resource
Allocation
Setting
Resource
Allocation
Setting
Processor
Resource
Allocation
Setting
Resource
Allocation
Setting
Memory
Resource
Allocation
Setting
Resource
Allocation
Setting
Apply Snapshot
NIC
Agenda
Introduction
Computer systems
Management service
Resources and resource pools
Virtual system settings
Runtime instance of a VM
Snapshots
Code examples
Connecting To VSMS
Dim WMIService
Dim VMHost
VMHost = ".
Connect to the CIMOM in the destination machine
we use the \virtualization namespace.
Set WMIService = GetObject( "winmgmts:\\" & VMHost _
& "\root\Virtualization")
Connect to WMI class that represents VSMS
Set VMService = WMIService.Get("Msvm_VirtualSystemManagementService")
Enumerate VMs
Dim
Dim
Dim
Dim
WMIService
VMList
VM
VMHost
VMHost = "."
' Get instance of the WMI Service in the virtualization namespace.
Set WMIService = GetObject("winmgmts:\\" & VMHost & _
"\root\virtualization")
' Enumerate all Msvm_VirtualComputerSystem objects.
Set VMList = WMIService.InstancesOf("Msvm_VirtualComputerSystem")
For Each VM In VMList
WScript.Echo "VM Name: " & VM.ElementName
Next
Activate A VM
Const wbemFlagForwardOnly
= 32
Const wbemFlagReturnImmediately = 16
Dim VMList
Dim VM
"WHERE
"
& _
"WQL", _
wbemFlagForwardOnly + wbemFlagReturnImmediately _
)
' Activate the specified VM.
For Each VM In VMList
WScript.Echo "Activating VM " & VM.Name
VMService.ActivateVirtualSystem (VM)
Next
Deactivate A VM
Const wbemFlagForwardOnly
= 32
Const wbemFlagReturnImmediately = 16
Dim VMList
Dim VM
"WHERE
"
& _
"WQL", _
wbemFlagForwardOnly + wbemFlagReturnImmediately _
)
' Deactivate the specified VM.
For Each VM In VMList
WScript.Echo Deactivating VM " & VM.Name
VMService.DeActivateVirtualSystem (VM)
Next
Call To Action
If you are interested to have your software
or hardware product participate in
virtualized environment manageability
Stay in touch with our WMI interface
Engage in Beta program
Additional Resources
Related Sessions
BUS126 Windows Virtualization Strategy and Roadmap
VIR065 Microsoft Operating System Virtualization Strategy
and Virtual Hard Disk Directions
VIR047 Hypervisor, Virtualization Stack,
and Device Virtualization Architectures
VIR040 Device Virtualization Architecture
VIR043 How to Use WMI Interfaces with Windows Virtualization
VIR049 Inside Microsofts Network and Storage VSP/VSC
VIR124 Windows Virtualization Best Practices
and Future Hardware Directions
VIR046 Hypercall APIs Explained
Additional Resources
Publications and Contact Information
Publications
Presentations and future papers
http://www.microsoft.com/whdc/system/platform/virtual/default.mspx
Preview papers and specs
WinHEC Proceedings DVD
Windows Hypervisor Top Level Functional Specification
Windows Virtualization Glossary
Web resources
Windows Virtualization Team Blog
http://blogs.technet.com/virtualization
AMD I/O Virtualization Technology (IOMMU) Specification
http://developer.amd.com/documentation.aspx
Intel Virtualization Technology for Directed I/O Architecture Specification
ftp://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf
LaGrande Technology Preliminary Architecture Specification
http://www.intel.com/technology/security/
Trusted Computing Group
http://www.trustedcomputinggroup.org/home
2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.