In Virtual SAN, an object is defined based on an individual storage block device that is compatible with SCSI semantics. Conceptually, an object can also be thought of as "volumes," the term used in Amazon EC2and OpenStack. In Virtual SAN, the only supported objects are virtual machine files such as VMDKs.
In Virtual SAN, each object that resides on the Virtual SAN datastore comprises multiple components, which are distributed across hosts that are members of a vSphere cluster. Objects are assigned storage performance and availability services requirements through the virtual machine storage policies feature. Based on applying defined performance and availability requirements to ones specific to each object, components are distributed throughout a vSphere cluster onto physical disk devices.
In Virtual SAN, objects comprise components that are distributed across hosts in a vSphere cluster. These components are stored in distinctive combinations of disk groups within the Virtual SAN distributed datastore. Components are transparently assigned caching and buffering capacity from flash-based devices, with their data "at rest" on the magnetic disks. Virtual SAN 5.5 currently supports a maximum of 3,000 components per host.
Objects greater than 255GB in capacity automatically are divided into multiple components. In addition, if the number-of-disk-stripes-per-object capability is increased beyond the default value of one, each stripe is a separate component. For every component created in Virtual SAN, an additional 2MB of disk capacity is consumed for metadata.
Witness components—those that contain only object metadata—are part of every storage object. A witness serves as a tiebreaker, to avoid split-brain behavior when availability decisions are made in the Virtual SAN cluster. Each Virtual SAN witness component also consumes 2MB of capacity.