Windows Virtualization

50
How To Use The WMI Interfaces With Windows Virtualization Pierre Jacomet Senior Program Manager Windows Virtualization Microsoft Corporation

Transcript of Windows Virtualization

Page 1: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 1/50

How To Use The WMIInterfaces With WindowsVirtualization

Pierre JacometSenior Program Manager

Windows VirtualizationMicrosoft Corporation

Page 2: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 2/50

Goals

 After this presentation you willHave a clear idea of Microsoft’s managementapproach to virtualization services

Have a high level understanding on thevirtualization services WMI interface

Have a better idea of how you can integrateyour product with virtualization services

For managing purposes

To integrate your hardware

Page 3: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 3/50

Agenda

Introduction

Computer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VMSnapshots

Code examples

Page 4: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 4/50

Introduction To WMI

WMI – Windows Management Interface isMicrosoft’s implementation of DMTF WBEM 

DMTF = Distributed Management Task Force

WBEM = Web Based Enterprise Management

Object oriented approach to systemsmanageability

Uses DMTF CIM – Common Information Model

Microsoft is working in the DMTFDefining virtualization management profile

WMI interface is subject to changeDMTF changes

Ongoing Microsoft development work

Page 5: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 5/50

WMI Value Proposition

WMI is the interface that applications use tomanage all aspects of Windows virtualizationservices

WMI is consumer agnostic

Can be accessed remotely by WS-Management,

Programmable via C++, WSH, .NET

Hardware manufacturers benefit from

understanding WMIUnderstand how their hardware can participatewithin overall Windows virtualizationservices manageability

Page 6: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 6/50

Introduction To CIMCommon Information Model

Object-oriented information model

Provides a conceptual framework for describingmanagement data

For computing and business entities

In Internet, enterprise and service provider environments

Formalism

UML – Universal Modeling Language

MOF – Managed Object Format

CIMOM – CIM object manager

Implements CIM

WMI includes a CIMOM component

Page 7: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 7/50

CIM Schema

Schemas are building blocks of CIMDescribe and represent manageability

Core model

Capture notions applicable to allmanagement areas

Common models

Capture notions common to particularmanagement areas

Independent of any particular implementation

Page 8: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 8/50

CIMCommon models

 Apps

Database

DeviceEvent

Interop

Metrics

Network

Physical

PolicySupport

System

UserVirtualization

Page 9: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 9/50

DMTF Management Profile

Specification that defines the CIM modeland associated behavior for amanagement domain

Use small subset of full CIM schemaWithin management domain defines

Classes, associations, etc.

Requirements regarding above classesand associations

Page 10: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 10/50

CIM Virtualization Profile

Specification that defines the CIM modeland behavior for virtualizationmanagement domain

Depends on CIM core model

Core includes basic classes, associations,indications, methods and properties

Implemented by Windows virtualization

WMI provider

Page 11: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 11/50

CIM Virtualization Profile General Design Approach 

Model interoperable with othervirtualization platforms

Virtual resources modeled in the sameway as their physical counterparts

Virtual aspects abstracted intoassociated classes

Page 12: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 12/50

CIM Virtualization ProfileNote on name differences

Throughout this presentation pleasenote the following

Usage of word “Host” or “Physical” maps toparent partition or the computer systemrunning in the parent partition

Page 13: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 13/50

Main Virtualization Objects

Computer systemsDescribe both physical and virtual computers

Management service

Controls all aspects of the lifecycle of a VM

Virtual system settings

Represent a VM or a snapshot

Resources and resource pools

Represent resources

Page 14: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 14/50

Agenda

IntroductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 15: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 15/50

Computer Systems

Physical or virtualVM is a computer system

Host is a computer system

CIM_ComputerSystem

(Physical)

CIM_ComputerSystem

(Virtual)

Page 16: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 16/50

Computer SystemsLinking Physical to Virtual

Hosted Dependency associationlinks VM computer system to Host

computer systemHost

Computer System

VM-1

Computer System

VM-2

Computer System

VM-3

Computer System

Hosted Dependency

Page 17: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 17/50

Computer SystemsVirtual Systems

 All virtual aspects abstracted into avirtualization specific object

Virtual

Computer System

Virtual System

Setting Data

Element Setting Data

HostComputer System

Hosted Dependency

Page 18: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 18/50

Virtual System Lifecycle(Or possible states a VM can be in)

DefinedInitial state, resource usage described byconfiguration, resources not allocated except for disks

 ActiveVM is running, all resources are allocated

PausedVM is paused, all resources remain allocated

SuspendedVM resources are de-allocated, state is persisted

Page 19: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 19/50

Virtual SystemState transitions

VM defined

VM active

VM paused

VM suspended

Startingstate

End

state

Page 20: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 20/50

Agenda

IntroductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 21: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 21/50

Management Service

Full name: Virtual System ManagementService (VSMS)

Central object in virtualization profile

Needed to access and manage virtualizationservices exposed by a host system

Exposes operations to manageVM lifecycle

Define virtual systemModify virtual system

Request State Change

Others

Page 22: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 22/50

Management ServiceRelationship 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 SystemManagement Service

Host

Computer System

Virtual SystemManagement Service

Associated Virtual System Management Service

Hosted Service

Page 23: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 23/50

VSMS DiscoveringCapabilities

Virtual System Management Capabilities classdescribes VSMS implementation level

Optional methods

Indication support

 Asynchronous operations support

Virtual System

Management Service

Virtual System

Management CapabilitiesElement Capabilities

Page 24: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 24/50

Agenda

IntroductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 25: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 25/50

Resources

Physical or virtual resourceshave the same representation

Include items like

MemoryNetwork

Ports

 Allocated from resource pools

Page 26: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 26/50

Resource Pools

Managed by resource poolconfiguration service

One allocated for a each device type

May be hierarchicalCentral class for virtual device allocations

Virtual resources are allocated from

resource pools

Page 27: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 27/50

Resource PoolsResource pool configuration service

Host System

Resource Pool

Configuration Service

Resource Pool

Configuration Capabilities

Resource Pool

Virtual ResourceHost Resource

Hosted Service

Element

Capabilities

Service Affects

Element

Concrete

Component

Allocated From

Pool

System Device

Hosted

Resource Pool

Page 28: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 28/50

Host Computer SystemInstance diagram

Host has resources

Processor, memory

Host resourcesgo into pools

Host

Computer System

Processor

Resource Pool

NIC

Resource Pool

Memory

Resource Pool

Hosted Resource Pool

Concrete Comp.

Processor

Memory

NIC

System

Device

Page 29: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 29/50

Agenda

WMI introductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 30: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 30/50

Virtual System Settings

Virtual aspects of a Computer systemOne instance for each differentconfiguration settings for a VM

 Active stateSnapshots – 0 or more

 Associated with resource allocation

settings for VM

Page 31: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 31/50

Resource AllocationSetting Data

Represents settings of a single resource

One instance for each different

device settings Active

Snapshots – 0 or more

Page 32: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 32/50

Virtual Computer SystemInstance diagram

VirtualSystem hasvirtual

devicesVirtualsystemsettings andResourceallocationsettings trackallocations

Virtual

Computer System

Processor

Memory

NIC

Element Setting Data

Virtual System Settings

(Active)

Element Setting Data

ResourceAllocation

Setting

Resource

Allocation

Setting

Resource

Allocation

Setting

   V   i  r   t  u  a   l   S  y  s   t  e  m    S

  e   t   t   i  n  g   D  a   t  a   C  o  m  p  o

  n  e  n   t

System

Device

Page 33: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 33/50

Agenda

WMI introductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 34: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 34/50

Running VM InstanceDiagram

Host

Computer System

Processor

Memory

NIC

Virtual

Computer System

Virtual System Settings

(Active)

NIC

ProcessorResource pool

NIC

Resource pool

Memory

Resource pool

ResourceAllocation

Setting

Resource

Allocation

Setting

Resource

Allocation

Setting

Allocated from Pool

Hosted Dependency

Processor

Memory

Page 35: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 35/50

Agenda

IntroductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 36: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 36/50

SnapshotsDefinition

Represents point in time configurationof a VM including it’s resources 

In CIM terms A Virtual System Settings Data structure

 All of the associated Resource AllocationSetting Data elements

Page 37: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 37/50

Virtual System Settings

(Snapshot @ t-2)

Resource

Allocation

Setting

Resource

AllocationSetting

Resource

Allocation

Setting

Snapshots CreationSimplified instance diagram

VirtualComputer System

Processor

Memory

NIC

Element Setting Data

Virtual System Settings

(Active)

Resource

Allocation

Setting

Resource

AllocationSetting

Resource

Allocation

Setting

Virtual System Settings

(Snapshot @ t-1)

Resource

Allocation

Setting

Resource

AllocationSetting

Resource

Allocation

Setting

Page 38: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 38/50

Applying A Snapshot

Client enumerates snapshots usingElement Setting Data aggregation

Selects snapshot that she/he wants

to applyInvokes ApplySnapshot() methodof VSMS

Snapshot recorded values becomecurrent values

Page 39: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 39/50

Virtual System Settings

Snapshot (t-2)

Resource

Allocation

Setting

Resource

AllocationSetting

Resource

Allocation

Setting

Virtual System Settings

(Snapshot @ t-2)

Resource

Allocation

Setting

Resource

AllocationSetting

Resource

Allocation

Setting

Applying A SnapshotSimplified instance diagram

VirtualComputer System

Processor

Memory

NIC

Element Setting Data

Virtual System Settings

(Active)

Resource

Allocation

Setting

Resource

AllocationSetting

Resource

Allocation

Setting

Apply Snapshot

Page 40: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 40/50

Agenda

IntroductionComputer systems

Management service

Resources and resource pools

Virtual system settings

Runtime instance of a VM

Snapshots

Code examples

Page 41: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 41/50

Common Code Sequence

Locate Windows virtualization servicesConnect to WMI CIMOM invirtualization namespace

Connect to VSMSIssue WQL – WMI Query Language to

Locate instances of classes

Subscribe to events

Page 42: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 42/50

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 )

Page 43: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 43/50

Enumerate VMs 

Dim WMIService

Dim VMList

Dim VM

Dim 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

A i A VM

Page 44: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 44/50

Activate A VM 

Const wbemFlagForwardOnly = 32

Const wbemFlagReturnImmediately = 16

Dim VMList

Dim VM

… 

… 

' Use a WQL query to Find the VM passed in as argument in VMName

Set VMList = WMIService.ExecQuery ( _

SELECT * FROM Msvm_VirtualComputerSystem " & _

"WHERE ElementName=' & VMName & ' ,

WQL , _

wbemFlagForwardOnly + wbemFlagReturnImmediately _

)

' Activate the specified VM.

For Each VM In VMList

WScript.Echo Activating VM & VM.Name

VMService.ActivateVirtualSystem (VM)

Next

D ti t A VM

Page 45: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 45/50

Deactivate A VM 

Const wbemFlagForwardOnly = 32

Const wbemFlagReturnImmediately = 16

Dim VMList

Dim VM

… 

… 

' Use a WQL query to Find the VM passed in as argument in VMName

Set VMList = WMIService.ExecQuery ( _

SELECT * FROM Msvm_VirtualComputerSystem " & _

"WHERE ElementName=' & VMName & ' ,

WQL , _

wbemFlagForwardOnly + wbemFlagReturnImmediately _

)

' Deactivate the specified VM.

For Each VM In VMList

WScript.Echo “Deactivating VM & VM.Name 

VMService.DeActivateVirtualSystem (VM)

Next

C ll T A ti

Page 46: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 46/50

Call To Action

If you are interested to have your softwareor hardware product participate invirtualized environment manageability

Stay in touch with our WMI interface

Engage in Beta program

Send feedback and questionsto MSVirtEx @ microsoft.com

Additi l R

Page 47: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 47/50

Additional ResourcesRelated Sessions

BUS126 Windows Virtualization Strategy and Roadmap

VIR065 Microsoft Operating System Virtualization Strategyand 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 Microsoft’s Network and Storage VSP/VSC 

VIR124 Windows Virtualization Best Practicesand Future Hardware Directions

VIR046 Hypercall APIs Explained

Additi l R

Page 48: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 48/50

Additional ResourcesPublications and Contact Information

Publications

Presentations and future papershttp://www.microsoft.com/whdc/system/platform/virtual/default.mspx 

Preview papers and specsWinHEC Proceedings DVD

Windows Hypervisor Top Level Functional Specification

Windows Virtualization Glossary

Web resources

Windows Virtualization Team Bloghttp://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 Specificationftp://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf  

LaGrande Technology Preliminary Architecture Specificationhttp://www.intel.com/technology/security/ 

Trusted Computing Grouphttp://www.trustedcomputinggroup.org/home 

Email comments to msvirtex @ microsoft.com

Page 49: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 49/50

© 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.

Page 50: Windows Virtualization

8/10/2019 Windows Virtualization

http://slidepdf.com/reader/full/windows-virtualization 50/50