One of the most important concepts to understand in VSAN is the notion of storage objects and components. Virtual Machines deployed on a vsanDatastore may have 4 different kinds of storage objects associated with it:
- The Virtual Machine home or “namespace directory”
- A swap object (if the virtual machine is powered on)
- Virtual disks/VMDKs
- Delta-disks created for snapshots. Each delta-disk is an object.
Of these four objects, the virtual machine namespace may need a little further explanation. All virtual machines files, excluding virtual machine disks, deltas (snapshots) and swap, reside in an area called the virtual machine namespace on VSAN. The sorts of files in here can be the .vmx, the .log files, .vmdk & snapshot deltas descriptors files and everything else one would expect to find in a VM home directory.
So what about components? Each storage object is deployed on VSAN as a RAID tree and each leaf of the tree is said to be a component. For instance, if I chose to deploy a VMDK with a stripe width of two, then a RAID-0 stripe would be configured across two disks for this virtual machine disk. The VMDK would be the object, and each of the stripes would be a component of that object. Similarly, if I specified that my VMDK should be able to tolerate at least one failure in the cluster (host, disk or network), then a RAID-1 mirror of the VMDK object would be setup, with one replica component on one host and another replica component setup on another host in my VSAN cluster. Finally, if I asked for both striping and availability, then my striped components would be mirrored across hosts, giving me a RAID 0+1 configuration.
Delta-disks are created when a snapshot is taken of the VM. A delta disk inherits the same policy as the parent disk, e.g. stripe width, replicas, etc.
The swap object is created only when the virtual machine is powered on.
Components per host include components from powered off virtual machines. VSAN distributes components across the various hosts in the cluster and will always try to achieve an even distribution of components for balance. However some hosts may have more components than others, which is why VMware recommends, as a best practice, that hosts participating in a VSAN cluster be similarly or identically configured. Components are a significant sizing consideration when designing and deploying a VSAN cluster.