Andres Rodriguez - Fotolia
A vSphere environment changes over time, and you must consider several factors when provisioning disks. Before vSphere disk provisioning, consider the changes that might occur in your environment in the future. Such considerations about the future affect the decisions you make about what style of provisioning makes the most sense, how you ensure the availability of extra storage capacity and how closely you must monitor your data stores' free space and snapshots.
VMs grow at different rates, so you must always have capacity available on a data store. You can expand the VMDK file, as well as increase OS partition size to free up space. Specific vSphere alarms should warn you about space consumption, one at 20%, which means you should pay attention to capacity, plan to grow the data store or delete snapshots taking up space; and one at 5%, which means you must take immediate action to free up space or risk losing data.
The first thing you should consider when designing your storage is the size of your data stores. Once you figure this out, you can more easily design the rest of your storage setup.
1. Sizing and scaling data stores
When you size your storage for vSphere, begin by figuring out your VM and application requirements. This means calculating the required capacity for each VM, and then mapping those VMs to specific data stores. A disk consumes its maximum size from a data store even when it contains no data, which means the provisioned size is always the same as the consumed size. Be sure to consider your storage needs carefully.
Once you know your VMs' disk space requirements, you can design your data stores. Make sure you consider the balance between the number of data stores and data store performance when doing this. Keeping more data stores means doing more administration, performance and capacity management tasks. Smaller data stores enable better disk performance and reduce the blast radius for error or failure.
2. Thin vs. thick provision
VMware supports both thin and thick provisioning for vSphere disk provisioning. Thick provisioning means allocating storage capacity upfront to a logical unit number (LUN). That means, if you provision 10 GB for a LUN, the system sets aside all 10 GB for that LUN and all of that provisioned capacity remains dedicated to that LUN, regardless of how much storage the workload uses. The default thick format for this type of provisioning is thick provision lazy zeroed, which means blocks containing older data on the storage device are only cleared when the VM writes new data to the disk.
By comparison, thin provisioning creates a logical volume of requested capacity but only commits a small percentage of actual storage. This enables you to create large volumes but only use a fraction of the storage upfront and grow data stores as needed.
Thick-provisioned disks can be a costly problem, because provisioning storage that might remain unused or underused for a long time is a monetary commitment that doesn't make sense for many businesses. However, thin provisioning can lead to storage oversubscription, where a LUN exhausts its physical storage capacity, and the application might then fail to run. Thin-provisioned disks require more careful monitoring and management than their thick-provisioned counterparts.
3. Storage acceleration
Storage acceleration enables an ESXi host to quickly thick provision virtual disks, create and copy thick-provisioned disks on data stores, deploy VMs from templates and clone VMs from templates. Specialized hardware -- such as suitable block, Fibre Channel, iSCSI or network-attached storage (NAS) devices -- is used to offload storage-related operations from the server or host.
Acceleration enables a block storage subsystem or a NAS subsystem to create a full copy of a data store without a host ESXi system reading or writing data. This reduces the amount of traffic to the storage network and the amount of strain the host system takes on during data management tasks. The process also handles block zeroing for thick provision lazy zeroed disks.
4. Snapshots and free disk space
One crucial method for managing disk capacity is the careful management of snapshots. A VM snapshot makes a copy of a VM's disk file that you can use to restore a VM to a specific state at a specific point in time after a failure or system error. Snapshots can serve as temporary backups during upgrades or patching.
However, the longer you keep a snapshot, the more space it takes up on a data store. Holding onto snapshots for too long can lead to performance issues as they consume more data store capacity. These issues include low VM performance, corrupt VMs and loss of requirements for disk consolidation.
Closely monitor your vSphere environment to ensure snapshots don't consume too much disk space. To check whether you have any VMs with current snapshots, you can connect your vCenter Server to your vSphere Web Client and navigate to the Virtual Machines tab, then right-click the column title and select Show/Hide Columns and Needs Consolidation. This should provide a list of VMs with current snapshots that you can then consolidate or delete.