The VI Object Model

24
The VI Object Model VI API Webinar Series January 17, 2007 Henry Robinson

Transcript of The VI Object Model

Page 1: The VI Object Model

The VI Object Model

VI API Webinar Series

January 17, 2007

Henry Robinson

Page 2: The VI Object Model

Objective

Understand the VI Object Model for Inventory Objects

Page 3: The VI Object Model

A Typical Datacenter

Servers Storage and Networks Applications

Page 4: The VI Object Model

Physical View of a Datacenter

Datacenter

Page 5: The VI Object Model

Objects

The VI Data Model is organized into a set of objectsthat contain properties (details) and methods (actions).

The VI API manages resources (hosts and virtual machines) into an inventory hierarchy.

Managed Objects

Folder

DatacenterVirtualMachine

ResourcePoolComputeResource

HostSystem

Managed Entities

VirtualMachineSnapshot

Alarm

Datastore

Network

Page 6: The VI Object Model

Objects

The VI Data Model is organized into a set of objectsthat contains properties (details) and methods (actions).

The VI API manages resources (hosts and virtual machines) into an inventory hierarchy.

Folder

DatacenterVirtualMachine

ResourcePoolComputeResource

HostSystem

Managed Entities

Page 7: The VI Object Model

Referencing Objects

A Managed Object has a Managed Object Reference (or moRef).

The moRef is a pointer to an object.

A moRef is “stable” but NOT “persistent”. For example, don’t store the moRef on disk for later use.

A moRef is “server-specific. The same object will have a different moRef if referenced from VirtualCenter or ESX.

VirtualCenter Web Service

Object Model

ClientApp

“moRef” RetrieveProperties or get_view

to retrieve object contents

Page 8: The VI Object Model

Inventory Hierarchy

Folder

DatacenterVirtualMachine

ResourcePoolComputeResource

HostSystem

Managed Entities

Inventory Hierarchy

Page 9: The VI Object Model

Inventory Hierarchy

Inventory Hierarchy

ESX

VC

Page 10: The VI Object Model

Managed Object Browser (MOB)

“appManager eval”Simple value

“green”Simple Type

Managed Object ReferenceReference to a Managed Object (moRef)

guest->guestState = “not running”Reference to a data object

Simply enter https://<host name>/mob to access browser on any VirtualCenter or ESX Server

Page 11: The VI Object Model

Building the Inventory Hierarchy

Datacenter

Page 12: The VI Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Folder Objects

An object that groups a set of similar objects.

Allows you to manage a collection into an administrative set (all Webserver VMs).

3 folders automatically created. Can’t be modified.

Root folder

VM Folder named “vm”

Host Folder named “host”

vm host

Page 13: The VI Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Folder Objects

An object that groups a set of similar objects.

Allows you to manage a collection into an administrative set (all Webserver VMs).

3 folders automatically created. Can’t be modified.

Root folder VM Folder named “vm”Host Folder named “host”

You can add folders to group datacenters, hosts, and Virtual Machines.

Folder

Folder

Folder

Page 14: The VI Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Datacenter Object

Allows partitioning of compute, disk, and network resources

Has links to:Hosts

VMs

Datastores

Networks

An ESX Host has a single (default) datacenter

VirtualCenter supports multiple datacenters

Page 15: The VI Object Model

Datacenter Object

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Datastore

NetworkDatacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Page 16: The VI Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

ComputeResource Object

Provides:Hosts: Set of physical resources

Resource Pools: How those resources should be allocated

: 2 x (10 GHz, 16 GB) = (20 GHz, 32 GB)

Resource Pool 1 (CPU = 15 GHz, Mem = 10 GB)

Resource Pool 2 (5 GHz, 22 GB)

Host

Page 17: The VI Object Model

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

ResourcePool Object

Allows you to divide CPU and Memory resources according to policies

Virtual Machines are assigned to a Resource Pool and allowed to consume resource according to policy

Resource Pool 1 (CPU = 15 GHz, Mem = 10 GB)

Resource Pool 2 (5 GHz, 22 GB)

Host

VM VM VM VM VM

Resource Pool

Resource Pool

VMVM

VMVM

Page 18: The VI Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Host Object

Represents a physical compute resource (1 per server)

Has methods to configure datastores and networks; and perform host configuration and maintenance activities

Page 19: The VI Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

VirtualMachine Object

A virtualized x86 computer environment in which a guest operating system and application software can run.

Properties provide information on:

Guest information

Virtual file layout

Virtualized hardware configuration

Virtual machines are “assigned” to a resource pool but run on a host

Page 20: The VI Object Model

VirtualCenter vs ESX Object Model

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Datastore

Network

Root Folder

Datacenter

Host Folder

HostResource Pool

VM

VM Folder

Compute Resource

Virtual Center ESX Server

Only one allowed.

Page 21: The VI Object Model

Resources

http://www.vmware.com/support/developer/vc-sdk/Latest VI API and SDK documentation

Online Reference Guide to inspect objects and properties

Getting Started Guide has a good Chapter on Inventory Objects

http://pubs.vmware.com/vi301/wwhelp/wwhimpl/js/html/wwhelp.htm

VMware Infrastructure 3 Online Library

https://<host>/mobUseful tool to discover and traverse through objects, methods, and properties. Available on any VirtualCenter 2.0 and ESX Server 3.0 server.

Page 22: The VI Object Model

VI API Webinar Series

Future sessions being planned“All you wanted to know about Snapshots”

In-depth review of VI 3 CPU and Memory Statistics

VItop: Performance monitoring using the VI API

Advanced Virtual Machine configuration

Sessions planned for delivery approximately every two weeks. Schedule to be announced soon.

All sessions recorded for replay.

Page 23: The VI Object Model

Questions?

Page 24: The VI Object Model

Thank you!