Dynamic disks in Hyper-V may be a bad choice under certain circumstances, especially for Hyper-V backup and for general performance reasons.
First of all we need to distinguish between dynamic disks and dynamically expanding disks. Dynamically expanding disks are VHDX files that grow over time. Hyper-V uses them internally also for checkpoints (a.k.a. snapshots) of VMs. Dynamically expanding disks (and hence checkpoints) shouldn’t be used on production systems as they often dramatically reduce performance by increasing overhead and fragmentation, see performance differences between fixed and dynamic VHDX. More details below.
The other kind of dynamic disk is the dynamic disk in Windows that offers software RAID and disk spanning features. Naturally you could use dynamic disks inside virtual machines; however, the Hyper-V VSS Writer still does not support them for live backup. The result is then that the VM is pulled into a Saved State when a backup is requested. See Live Hyper-V Backup using Hyper-V VSS Writer: How Backup Works.
Whether a backup is live (uninterrupted) or a Saved State backup, that’s controlled entirely by Hyper-V, not the backup application. Because the Hyper-V VSS Writer cannot handle live backups of dynamic volumes, the VM is paused for a minute or so until VSS is done with its prep work. After that the VM is powered on again and continues where it left off; however, the issue here is that network connections will break off and the VM won’t be accessible for that minute or two. For some VMs this is not acceptable.
Dynamic Disks and Disk Fragmentation and Reduced Performance Needs to be Dealt With
Dynamic disks cause disk fragmentation and require additional overhead to process disk read and write access. In many common usage scenarios, dynamic disks will cause the server to slow down considerably. Conversely, you could serve a substantial number of additional VMs if you used fixed disks throughout instead without checkpoints / snapshots.
The reduction of performance due to fragmentation is based on plain physics and plain information science. In a fixed sized VHD, all blocks are located at a known location on disk which is linearly addressed; hence, if you neglect seek time differences, each block is equally quick accessible. However, seek times are a fundamental variable when blocks are written many thousands of times per second, as a on a busy server.
When dynamic disks are used, logically sequential blocks are not necessarily close to each other. A simple two-block read which doesn’t require a disk head motion, may require a substantial disk head move when using dynamic disks. For example, the two blocks that are supposed to be next to each other on a fixed disk may in fact be at opposite ends on the physical disk. In addition, even if you used SSD which has negligible seek times, due to its flash-memory-like internals, there is additional CPU and RAM required to index all blocks so that the system can track which file has which block and at which index. This additional management requirement may be fine for one or two VMs, but if you have dozens on a busy server, the resources required to handle disk access all add up.
Disk Fragmentation and Hyper-V Backups
Disk fragmentation is also not a fantasy nor a FUD. Files that grow over time, for example databases and dynamic disks, are prone to fragment. The myth that NTFS does not suffer from fragmentation is pure non-sense. Unless you run frequent defrags, dynamic disks will become heavily fragmented over time, especially when the host volume usage is approaching over 70%. When free disk space is becoming low, the volume will start to fragment quickly.
NTFS has algorithms to avoid fragmentation, that’s true; however, these algorithms are not made for dynamic disk usage alone, so their Hyper-V performance is suboptimal. Furthermore, files are allocated with some slack space in-between to prevent fragmentation. But over time when the dynamic disks grow considerably, they will fragment as there is no contiguous space to grow.
Another important consideration is that Hyper-V disk backups may run slower, too, when virtual disk files are fragmented. Hard disk drives are optimized for sequential access. Sustained high transfer speeds can only be achieved when working with contiguous files. If disk heads have to move back and forth this is no longer the case (and the dispersion of data blocks is also an issue with SSDs, by the way) and backups can no longer reach peak speeds. If using slower USB disks for Hyper-V, fragmentation could slow down the server at run-time and also its backups even more.
How to Use Dynamically Expanding VHDX Wisely
Dynamic disks are a great tool when used wisely. If you have plenty of storage space, do not use them at all. For test and dev purposes, they are great as they provide a quick VM reset mechanism.
As a thin-provisioning tool they can be great, too, but keep in mind the potential performance impact. You could pre-allocate the disk to a point where no future growth is needed for a long time, for example, pre-allocate the disk at 64GB when it will use only 32GB initially and could grow to 128GB over time. Use a defragmentation tool once a week (by the way, this can be done while VMs are running) and keep plenty of disk space (over 30%) free to provide plenty of free disk space for growth and as defrag work space.
Backing up Dynamic Disks in Hyper-V
BackupChain is a Windows server backup software with many features aimed at the IT professional, who needs to adapt his/her backup tool to suit dozens of different IT infrastructure setups. While BackupChain offers backup for Windows Server, it also includes Windows Server 2012 R2 Hyper-V backup, which is basically live virtual machine backup: all virtual machine guests are backed up without interruption. To backup virtual machines while running only requires a few clicks. Likewise, you can restore Hyper-V file backups in just a few steps; however, BackupChain can do much more under the hood to protect your server infrastructure. For example, we offer one of the best cloud backup solutions for servers, which you can build on when you implement your backup strategy, and access the cloud using our WebDrive alternative freeware, a freeware for Windows Servers and PCs to access cloud data via a mounted drive.
BackupChain also supports multiple hypervisors and thus performs Hyper-V file backup, Vmware backup while running, Linux VM backup, and on VirtualBox BackupChain can also backup VDI files as well. Granular recovery is available for VMware, Hyper-V, and VirtualBox formats (VHDX, VHD, VMDK, VDI) as is granular backup for virtual machines, BackupChain’s unique way of accessing VM files from the host while the VM is running and without any agents inside the VM.
Our team is aiming to provide not just a backup solution for Windows, but the best backup software for Windows Server, offering FTP backup for servers, mdf backup, version backup, backup for cluster shared volume failover clusters, Exchange EDB file backup, and much more; download your fully functional trial today.