VMware is certainly the market leader (some estimates say 80+% of the market) in the virtualization software marketplace which creates an environment where the machine appears to be a dedicated PC to more than one user at a time. The author of this book is a senior member of technical staff at VMware, where he provides guidance to strategic partners, such as IBM, HP, Dell, NetApp, and BEA, who build applications using VI (vSphere) SDK.
He has aimed this book at people who actually want to use VMware software. This includes system administrators, software architects, engineers and solution developers, researchers -- in essence people who really want to see how to use VMware. It begins with a basic introduction to virtualization. From there it goes into the various VMware products and the basic concepts of the SDK and then into great detail on what you can do to/with the various modules.
The book is clearly written and goes into great detail on basically every aspect of VMware.
Author(s): Steve Jin
Edition: 1
Publisher: Prentice Hall
Year: 2009
Language: English
Pages: 647
Prentice Hall - VMware VI and cSphere SDK (10-2009) (ATTiCA)......Page 8
PREFACE......Page 20
What Virtualization Is......Page 28
History of Virtualization......Page 30
Benefits......Page 32
Solutions......Page 34
VMware Products......Page 35
VMware Infrastructure......Page 36
ESX Server......Page 37
VMware Management APIs......Page 39
VI SDK......Page 40
GuestSDK......Page 41
Other APIs......Page 42
Overview of the VI SDK......Page 43
Object Model......Page 44
Unified Interface with Different Support......Page 45
Inheritance Hierarchy......Page 46
Properties......Page 48
Methods......Page 51
Synchronous versus Asynchronous Methods......Page 53
ManagedObjectReference......Page 54
Data Objects......Page 57
Property Path Notation......Page 60
Enumeration Types......Page 61
Fault Types......Page 62
Using Tools to Become Familiar with Object Model......Page 64
VI Client......Page 65
Web Access......Page 68
Managed Object Browser (MOB)......Page 69
Web-Based Datastore Browser......Page 72
Using the API Reference......Page 73
VMware Online Communities and Conferences......Page 74
Setting Up the VMware Infrastructure......Page 76
Downloading the VI SDK, AXIS, and the VI Java API......Page 77
Setting Up the Eclipse IDE......Page 78
Creating Your First Application......Page 79
Using Logs......Page 85
Common Bugs......Page 89
CHAPTER 4: USING PROPERTYCOLLECTOR AND SEARCHINDEX......Page 93
Getting Properties from a Single Managed Object......Page 94
Getting Properties of Multiple Managed Objects......Page 100
Monitoring Changes Using PropertyFilter......Page 105
SearchIndex......Page 113
When to Use Which......Page 118
CHAPTER 5: INTRODUCING VI JAVA API......Page 120
Lack of Managed Object Types......Page 121
Design Objectives......Page 122
Layered Structure......Page 124
Object Hierarchy......Page 125
Yet Another Hello VM......Page 126
Typical Application Flow......Page 128
Switching Between the API and Web Services......Page 130
Getting Help......Page 131
Key Managed Object Types......Page 132
ManagedObject......Page 133
ServerConnection......Page 149
ServiceInstance......Page 152
ExtensibleManagedObject......Page 163
ManagedEntity......Page 164
MorUtil......Page 168
InventoryNavigator......Page 171
High-Performance Web Services Engine......Page 176
Architecture......Page 177
Inventory Hierarchical Structure......Page 180
ManagedEntity......Page 183
Folder......Page 187
Datacenter......Page 188
Basic Inventory Operations......Page 189
Adding a Folder or a Datacenter......Page 190
Deleting an Existing Entity......Page 191
Renaming an Existing Entity......Page 192
Moving Existing Entities......Page 194
Managing Custom Fields......Page 195
ViewManager......Page 197
ContainerView......Page 198
ListView......Page 199
Sample Code......Page 200
HostSystem Managed Object......Page 206
Host Capabilities......Page 209
Configuration......Page 210
Hardware Information......Page 211
Power Management......Page 213
Managing Connections......Page 216
Configuring the Host......Page 217
Configuring Auto Start/Stop of Virtual Machines......Page 218
Managing the Time of the Host......Page 219
Configure the Diagnostic Partition......Page 223
Configuring the CPU Scheduler......Page 225
Managing Firmware......Page 226
Managing the Host Memory......Page 227
Patch Management......Page 229
Virtual Machine......Page 231
Files of a Virtual Machine......Page 232
VirtualMachine Managed Object......Page 233
Virtual Machine Configuration......Page 236
Runtime Information......Page 237
Guest Operating System Information......Page 239
Quick Summary......Page 240
Virtual Machine File Layout......Page 241
Reconfiguring Virtual Machine......Page 242
Power Operations......Page 249
Creating a New Virtual Machine......Page 253
Registering a Virtual Machine......Page 258
Cloning a Virtual Machine......Page 259
Destroying a Virtual Machine......Page 261
Upgrading a Virtual Machine......Page 262
Managing the Guest Operating System......Page 263
Upgrading VMware Tools......Page 264
Customizing the Guest OS......Page 266
Managing the Customization Spec......Page 267
Snapshot Hierarchy......Page 270
Creating, Restoring, and Removing Snapshots......Page 271
VirtualMachineSnapshot Managed Object......Page 272
Migrating Live Virtual Machines (VMotion)......Page 278
Storage VMotion......Page 281
Managing Resources with ResourcePool......Page 284
Virtual Resource Management Basics......Page 285
ResourcePool Managed Object......Page 286
High Availability......Page 289
Distributed Resource Scheduler......Page 290
ComputeResource Managed Object......Page 291
ClusterComputeResource Managed Object......Page 295
Adding Hosts to a Cluster......Page 297
Reconfiguring a Cluster......Page 298
Interacting with the DRS Cluster......Page 299
Querying the Environment for Virtual Machines......Page 305
Key Concepts......Page 310
Virtual NIC......Page 311
Properties......Page 312
Overview of Methods......Page 314
Managing Virtual Network Components......Page 316
Adding a Virtual NIC (VNIC)......Page 317
Managing Service Console Networking......Page 319
Changing the Network Configuration......Page 320
Defining the Host Network Policy......Page 321
Network Managed Object......Page 322
Managing SNMP with HostSnmpSystem......Page 323
Managing the Firewall with HostFirewallSystem......Page 326
Managing Network Services with HostServiceSystem......Page 331
Configuring VMotion Network Using HostVMotionSystem......Page 335
CHAPTER 11: MANAGING STORAGE AND DATASTORES......Page 337
SCSI......Page 338
HBA......Page 339
HostStorageSystem Managed Object......Page 340
HostStorageDeviceInfo......Page 341
HostFileSystemVolumeInfo......Page 342
Discovering HBAs......Page 348
Manipulating Discovery List......Page 349
Configuring iSCSI......Page 350
Managing Disk Partitioning......Page 351
Managing the VMFS File System......Page 353
Managing Storage Multipath......Page 354
Creating a New Datastore......Page 355
Extending a VMFS Datastore......Page 358
Configuring the Datastore Principal......Page 359
Datastore Managed Object......Page 360
Search Datastore with HostDatastoreBrowser......Page 362
Managing Datastores with FileManager......Page 368
Managing Virtual Disks with VirtualDiskManager......Page 371
Event Data Object......Page 376
EventManager Managed Object......Page 378
Retrieving Historical Events with EventHistoryCollector......Page 383
HistoryCollector Managed Object......Page 384
EventHistoryCollector Managed Object......Page 385
Alarm Managed Object......Page 387
Follow-Up Actions......Page 389
Reconfiguring an Alarm......Page 392
AlarmManager Managed Object......Page 393
Creating a New Alarm......Page 401
Finding Existing Alarms......Page 404
Getting Alarm State......Page 405
Basic Terminologies......Page 406
Performance Counter......Page 407
Intervals......Page 409
Real-Time versus Historical Performance Statistics......Page 411
PerformanceManager Managed Object......Page 412
Querying Performance Metadata......Page 417
Using the queryPerf Method......Page 418
Using the queryPerfComposite Method......Page 421
Monitoring Performance in Real Time......Page 426
Configuring Historical Intervals......Page 432
Task Managed Object......Page 434
Monitoring a Task......Page 436
Fixing Task Timeout......Page 437
TaskManager Managed Object......Page 438
Retrieving Historical Tasks with TaskHistoryCollector......Page 443
ScheduledTask Managed Object......Page 449
ScheduledTaskManager Managed Object......Page 451
Specifying an Action......Page 452
Security Model......Page 459
Roles......Page 460
Permissions......Page 461
AuthorizationManager Managed Object......Page 462
Managing Roles......Page 465
Managing Permissions......Page 466
Querying Permissions......Page 467
Looking Up Users with UserDirectory......Page 470
Managing ESX Users with HostLocalAccountManager......Page 472
Managing Sessions Using SessionManager......Page 476
License Management......Page 481
VMware Infrastructure Extensibility Story......Page 492
ExtensionManager Managed Object......Page 493
How a VI Client Plug-In Works......Page 495
Understanding Extension Configuration......Page 496
Registering and Managing Your Plug-In......Page 498
Parsing Information from the VI Client......Page 506
Connecting Back to the VirtualCenter......Page 507
Security Discussion......Page 510
Scripting with Jython......Page 511
HelloVM.py......Page 512
VI Perl Toolkit......Page 515
Installing VI Perl Toolkit......Page 516
HelloVM.pl......Page 517
Application Flow Using VI Perl......Page 518
Perl View Objects for Managed Entities......Page 519
Using Data Objects......Page 520
Working with Non-Entity View Objects......Page 521
VI Toolkit (for Windows)......Page 522
Common Cmdlets......Page 523
Running the Cmdlets in a Script File......Page 526
Web Service Access Cmdlets......Page 527
Further Reading......Page 528
CHAPTER 18: ADVANCED TOPICS......Page 529
Managing Global Settings with OptionManager......Page 530
Collecting Logs Using DiagnosticManager......Page 532
Getting the Session ID......Page 534
Using Session ID......Page 536
Further Discussion......Page 537
Using Single Sign-On from the VI SDK to CIM......Page 538
Downloading and Uploading Files Using HTTP Access......Page 542
Multithreading with the VI SDK......Page 545
Namespace......Page 546
Compatibility......Page 550
Following Best Practices for Performance and Scalability......Page 551
Considering Internationalization......Page 554
APPENDIX A: THE MANAGED OBJECT TYPES......Page 557
APPENDIX B: THE PERFORMANCE COUNTERS......Page 565
APPENDIX C: CMDLETS IN THE VI TOOLKIT (FOR WINDOWS)......Page 581
Class Diagram......Page 607
Association......Page 608
Object Diagram......Page 609
Modeling XML......Page 610
SOAP......Page 612
Two WSDL Files......Page 614
Stub Code Generation......Page 617
From Managed Object to WSDL to Generated Stub......Page 619
APPENDIX F: WHAT IS NEW IN VSPHERE 4 SDK?......Page 621
Profile Management......Page 622
Distribute Virtual Switch......Page 623
OVF Support......Page 624
VirtualApp Support......Page 625
New Compatibility Checkers......Page 626
Localization Support......Page 627
Resource Planning......Page 628
Migrating Your Existing Applications......Page 629
A......Page 630
C......Page 631
D......Page 633
F......Page 634
H......Page 635
I......Page 636
M......Page 637
P......Page 639
R......Page 641
S......Page 642
U......Page 644
V......Page 645
X-Y-Z......Page 647