I’ve had my DroboPro for some time now and initially I had mixed results with it. Although I was aware of the single connection to an iSCSI target restriction, I was slightly disappointed with the lack of vmfs support within the Drobo operating system, especially as the product sells itself on understanding the filesystem format. My next move has been to test the DroboPro with Hyper-V and guess what? Thin Provisioning is back on the agenda; Hyper-V uses NTFS to store hypervisor guests, making it perfect for use with DroboPro.
The first screenshot shows my DroboPro configuration. It’s currently up to 7 drives and 9.4TB; although I’m only using a fraction of that space at the moment while I do some testing (the majority of disks in the unit were also purchased for testing). I’ve created seven 2TB drives (more than the Drobo capacity) and connected them to my Hyper-V server. From there, I’ve formatted four of the drives and you can see those as drive letters H: through to K: on the second screenshot. Two of the volumes are hosting Hyper-V guests occupying around 19GB of storage in total. This is directly reflected by the capacity of space used on the DroboPro and the two C:\ drives, one of which is shown in the third screenshot.
The DroboPro is ‘thinning’ the thin provisioned Hyper-V virtual disks, enabling me to in effect scale my Hyper-V storage requirements to the absolute minimum I need to, even if the virtual disks for the operating systems are bigger (in this instance 126GB per virtual drive). The next step is to extend the storage usage on the virtual guests and see what happens.
My first attempt is to use an old favourite, fsutil and create a few large empty files. Unfortunately this strategy doesn’t work; the NTFS file system on the Hyper-V guest seems to detect that this is a sparse file and even though the virtual file system shows the storage as being allocated, this isn’t passed back and allocated on the Hyper-V server. This seems to indicate that Hyper-V itself is truly filesystem and thin provisioning aware.
My second attempt consisted of finding a large file and copying it repeatedly. This process was more successful and the results can be seen in the 6th screenshot; I added around 9GB of additional files, pushing up the DroboPro capacity and the space stored in the VHD snapshot by equal amounts.
I then deleted my snapshots, effectively merging them into the main VHD file. As the merge took place, the base VHD file increased, taking more overall capacity on the DroboPro. After the merge had completed and the Hyper-V guest restarted, the capacity used returned to the total in actual use; the DroboPro reclaimed the released storage.
What have I learned? Without any additional configuration, the DroboPro is thin provisioning aware with Hyper-V. This is “thin on thin” as the Hypervisor and the DroboPro both implement thin provisioning at their own level. Snapshots need some consideration, especially when merging into the main virtual disk (VHD). Thought also needs to be given to the best way to lay out the Hyper-V storage; bear in mind that to get the thin provisioning benefits, each DroboPro drive must be configured with a single NTFS volume — spanned and striped volumes will not work.