The DataSets feature provides a way to share data between the vSphere Client and a virtual machine guest operating system. By using DataSets, you can exchange data which can be used to configure the guest operating system and the software applications and agents running inside the guest operating system.

The DataSets feature is intended for information that does not change frequently. You must organize the intended information in DataSets entries. Persistent data in DataSets may be any key-value data, which then the software applications and agents can use.

You can create key-value pairs within DataSets, and thereafter list the keys, update their values, or delete key-value pairs.

You can modify DataSets by using software applications regardless of the power state of the virtual machine. To avoid conflict with other applications, each application using DataSets must store its data in at least one unique DataSets entry. You can use the DataSets feature to implement:
  • Guest deployment status - when you perform guest provisioning that includes running deployment scripts. DataSets can present configuration data and deployment scripts to the guest operating system. The guest operating system then reports back status including possible errors.
  • Guest agent configuration - when a management application needs to configure an in-guest agent. Through the management side you can create and populate the DataSets with configuration data, and the guest agent reads and responds to that data.
  • Guest related metadata or other items.

DataSets Architecture

Architecture Diagram of DataSets Feature

The DataSets feature supports VM operations such as migration of a virtual machine with vMotion, cloning a virtual machine, and taking snapshots of a virtual machine. You can use the omitFromSnapshotAndClone parameter to preserve the DataSets information when you clone a virtual machine, create, or revert a snapshot.

For example, if you set omitFromSnapshotAndClone to true, the DataSets information is not preserved when you revert a snapshot.

If you set omitFromSnapshotAndClone to false and take a snapshot of a virtual machine, the DataSets information is included in snapshots. When you revert to the previous snapshot, the DataSets information is reverted to the point of taking a snapshot.

Requirements for DataSets

To use DataSets, your vSphere Client environment must meet the following requirements:
  • vCenter Server 8.0 or later.
  • The ESXi host running in your environment must be at ESXi 8.0 or later.
  • Virtual machines must be of hardware version 20 or later.
  • A virtual machine supports maximum 1024 DataSets and each DataSet can have maximum 1024 entries.
  • Each virtual machine can have a maximum of 100 MB DataSets data.
  • Keys must be no larger than 4 KB and values no larger than 1 MB.

For more information about Data Sets, see the VMware Guest SDK Programming Guide.