A virtual hard disk is a set of data blocks that the host operating system stores as a regular Windows file with a VHD, VHDX, or VHDS extension. PowerStore supports all virtual disk format types.
Virtual hard disk format
Generation 1 and generation 2 VMs support the following virtual hard disk formats:
- VHD: All Hyper-V versions support this format. VHD is a legacy format.
- VHD supports a maximum size of 2 TB.
- The New Virtual Hard Disk wizard might default to VHD with older versions of Hyper-V. Use VHDX for new VM deployments when supported by the guest operating system.
- VHDX: Windows Server 2012 Hyper-V and newer support this format.
- The VHDX format is more resilient.
- VHDX offers better performance.
- VHDX scales to 64 TB.
- Use Hyper-V Manager or PowerShell to convert a VHD to VHDX format.
- VHDS (VHD Set): Windows Server 2016 Hyper-V and newer support this format.
- Two or more guest VMs can share access to a VHDS.
- Guest VMs can use VHDS disks as virtual cluster disks in a high-availability (HA) configuration.
Figure 12. Virtual hard disk format options
Virtual hard disk type
In addition to the VHD, VHDX or VHDS virtual hard disk format options, you can designate a virtual hard disk as fixed, dynamically expanding, or differencing.
Figure 13. Options for virtual disk type
A dynamically expanding disk is the default type and will work well for most Hyper-V workloads on PowerStore storage. With PowerStore, only new data consumes storage capacity, regardless of the disk type (fixed, dynamic, or differencing). As a result, the type of workload determines the best disk type. PowerStore storage efficiency will be optimal regardless of the virtual hard disk type.
For general workloads, the performance difference between fixed and dynamic will usually be negligible. For workloads that generate high I/O, such as Microsoft SQL Server databases, Microsoft recommends the fixed-size virtual hard disk type to optimize performance.
Fixed and dynamic virtual hard disk comparison
A fixed virtual hard disk consumes the full amount of space from the perspective of the Windows host server. A dynamic virtual hard disk consumes new space on the host only when a VM writes new data to the disk. Dynamic virtual hard disks are more space efficient from the perspective of the Windows host. From the perspective of the guest VM, fixed and dynamic virtual hard disks appear as the same size.
Figure 14. Fixed and dynamic virtual hard disk comparison
Consider performance and management best practices when you choose a virtual hard disk type in your PowerStore storage environment.
- Fixed size virtual hard disks:
- Workloads or functions that generate high disk I/O experience better performance with fixed-size VHDs.
- Less space efficient on the Windows host server volume. For example, a 100 GB fixed size VHD file consumes 100 GB on the host, even if the VHD contains no data.
- Less susceptible to fragmentation.
- Takes longer to copy to another location. The VHD file size is the same as the format size, even if the VHD contains no data.
- Dynamically expanding virtual hard disks:
- Recommended for most workloads, except for high disk I/O use cases.
- Space-efficient on the Windows Server host. The VHD file expands only as a VM writes new data.
- More susceptible to fragmentation at the host level.
- Require a small amount of host CPU and I/O overhead as they expand. There is no negative performance impact unless the workload I/O is high.
- Require less time to copy over the network. For example, if a 500 GB dynamically expanding VHD contains 20 GB of data, the VHD file size is 20 GB (not 500 GB).
- Dynamic VHDs allow disk space on the host to be overprovisioned. Monitor overprovisioned disk space closely. Configure capacity alerts on a host server if host volumes are overprovisioned.
- Differencing virtual hard disks:
- Limited use cases. For example, a virtual desktop infrastructure (VDI) deployment can use differencing VHDs.
- Increased complexity.
- You can realize more storage efficiency with differencing VHDs. Differencing VHDs allow multiple Hyper-V guest VMs with identical operating systems to share a common virtual boot disk.
- All VM children must use the same virtual hard disk format as the VM parent.
Virtual hard disks and thin provisioning with PowerStore
All virtual hard disk types (fixed, dynamic, or differencing) take full advantage of PowerStore storage thin provisioning to maximize storage efficiency.
The example in Figure 15 shows a 100 GB volume presented to a Hyper-V host that contains two 60 GB virtual hard disks. The example shows overprovisioning to demonstrate behavior, but not as a best practice.
- VM1_boot.VHDX is a fixed-size VHD.
- VM2_boot.VHDX is a dynamic VHD.
- Each virtual hard disk contains 15 GB of data.
- The fixed and dynamic VHDs consume 75 GB of space on the host server.
- 60 GB fixed disk consumes 60 GB of space
- 60 GB dynamic disk consumes 15 GB of space
Note: The host server will always report the format size as consumed for a fixed-size VHD.
Figure 15. Thin provisioning with PowerStore
Comparatively, PowerStore reports storage utilization on this same volume as follows:
Example: 15 GB of used space on the fixed disk + 15 GB of used space on the dynamic disk = 30 GB.
Note: Either type of virtual hard disk (dynamic and fixed) will consume the same space on PowerStore because of thin provisioning. Consider other factors such as the I/O demand of workloads as primary considerations when you determine the type of virtual hard disks in your environment.
Overprovisioning with dynamic virtual hard disks
Use caution if you overprovision your storage with dynamic VHDs.
To mitigate risks, consider the following best practice recommendations:
- Create Hyper-V physical volumes that are large enough so that current and future expanding dynamic virtual hard disks will not fill the host volumes to capacity. PowerStore thin provisioning ensures space efficiency regardless of the initial size of a volume.
- Allow adequate overhead on the physical volume if you configure native Hyper-V checkpoints (snapshots). Hyper-V checkpoints consume extra disk space.
- Expand physical volumes as needed to allow headroom.
- Configure a capacity alert for a physical host volume if it is overprovisioned. For example, to allow time for remediation, configure an alert if a volume exceeds 80% capacity.
- Closely monitor alerts on PowerStore. Warnings about disk group and pool capacity will allow time for remediation.