To Thin or Not To Thin? On Equallogic and/or ESX Datastore?
About a month ago, I was told by an experienced Dell Equallogic Consultant to use Normal (non-thin) on EQL array and Thin on ESX VMFS, I wasn’t exactly sure what did he mean by then.
So I did a simple test on my EQL box:
Create a 10GB volume (non-thin), attach to Windows, write 5GB, then remove 4GB, leave with 1GB, to EQL it’s 5GB used.
Then I write another 4GB, EQL still reports 5GB, then I write 1GB more, now EQL reports 6GB.
However in my Thin Provisioning test for the above same 10GB, case looks completely different now.
Create a 10GB volume, attach to Windows, write 5GB, then remove 4GB, leave with 1GB, to EQL it’s 5GB used.
Then I write another 4GB, EQL somehow EQL volume reports the size continously growing to 5GB, then 6GB, then finallyBbang 9GB. WHY? WHY doesn’t it use the UNUSED SPACE? (actually inside to Windows, it’s still 5GB, you will see later)
HOWEVER, Please note THIS, as I continue to add another 4GB to the volume (now EQL reports 9GB, windows reports 5GB), then EQL reached 10GB max (somehow the volume didn’t go offline? why? I don’t know), but I can still add this 4GB to the volume, and windows reports 9GB/10GB used.
So in a strange way, even EQL reports the volume has been fully used, we can still add data to it at Windows level, but it’s just TOTALLY CONFUSING and false volume is going to full alarm all the way when using Thin Provisioning.
That’s why WAIT UNTIL FW5.0.x or FW5.x coming out with the REAL THIN RECLAMATION feature like what HDS’s or 3PAR’s did a year ago. (Yes, EQL is behind in this particular area)
We are probably better to NOT USE Thin Prov. in ESX, what I mean is to
Use Thick Prov. in EQL, but Thin in ESX VMFS would be the best way.
For snapshots, just set it to a smaller % during the volume creation (10% would be good, as you can always grow it later), this apply to the volume as well, make your own Thin Provioning, just set the volume to a smaller size when you first create it, then gradually expand it as you need later, then you won’t waste a lot of space from the beginning.
Update:
I did another test and it proved I was wrong above.
The GB are reported in EQL Group Manager under Volume Used Size
Thick (20GB) Thin (20GB)
——————————————-
1. +5GB 5GB 5GB
2. +5GB 10GB 10GB
3. -5GB 10GB 10GB
4. +5GB 10GB 10GB
5. -10GB 10GB 10GB
6. +15GB 15GB 15GB (Warning as over the default 60%)
7. -5GB 15GB 15GB
8. +5GB 15GB 15GB
So we are safe to use Thin Provisioned VMFS now I think.
Btw, I also received a reply from EQL indicating they are working on the Re-Thin feature.
In response to “reclaiming unallocated array disk space” on the PS Series arrays:
An enhancement request for this feature (reclaim space that was previously used) has already been submitted. Firmware version 5.0.2 does not introduce this feature. Engineering has not updated support as to when such a feature will be available in future firmware releases.
Finally, I looked into details about Hitachi HDS’s Re-Thin feature, a 3PAR guy points out HDS’s Re-Thin in fact is actually a…Migration and the Zero Out the unused blocks, but in 3PAR, they can REALLY, I MEAN REALLY do the Re-Thin in real time, no need to copy the volume to another copy and then zero out the unused block. I do hope Equallogic can have this kind of feature instead of a “Not so real” Re-Thin like HDS ones.
Oct 14, 2010 Some update from Dell Pro-Support regarding NTFS/VMFS can REUSE the touched blocks somehow.
=======================
A similar problem is when the initiator OS reports significantly more space in use than the array does. This can be pronounced in systems like VMWare that create large, sparse files. In VMWare, if you create yourself a 10GB disk for a VM as a VMDK file, VMWare does not write 10GB of zeros to the file. It creates an empty (sparse) 10GB file, and subtracts 10GB from free space. The act of creating the empty file only touches a few MB of actual sectors on the disk. So VMWare says 10GB missing, but the array says, perhaps, only 2MB written to.
Since the minimum volume reserve for any volume is 10%, the filesystem has a long way to go before the MB-scale writes catch up with the minimum reservation of a volume. For instance, a customer with a 100GB volume might create 5 VMs with 10GB disks. That’s 50GB used according to VMWare, but only perhaps 5 x 2MB (10MB) written to the array. Until the customer starts filling the VMDK files with actual data, the array won’t know anything is there. If has no idea what VMFS is; it only knows what’s been written to the volume.
• Example: A file share is thin-provisioned with 1 TB logical size. Data is placed into the volume so that the physical allocation grows to 500 GB. Files are deleted from the file system, reducing the reported file system in use to 100 GB. The remaining 400 GB of physical storage remains allocated to this volume in the SAN.
� This issue can also occur with maintenance operatiions including defragmentation, database re-organization, and other application operations.
In most environments, file systems do not dramatically reduce in size, so this issue occurs infrequently. Also some file systems will not make efficient re-use of previously allocated space, and may not reuse deleted space until it runs out of unused space (this is not an issue for NTFS, VMFS).
=======================
Update Oct-15-2010
If you ask me again now, I would say THIN PROVINTIONING (aka TP) ALL THE WAY, both on Equallogic AND on ESX Datastore is the BEST way to go and it is going to be the trend in storage management world I think, especially if Equallogic will release it’s upcoming Re-Thin or Space Reclaim feature in coming 5.x firmware update. (So far only 3PAR is able to do it I think)
Update Sep-3-2011
Storage APIs for Array Integration (VAAI) has been enhanced to reclaim blocks when a virtual disk is deleted, unlike previously where the storage array is not aware about deleted blocks contains data after deleting virtual disks.
There is a new feature in vSphere 5.0 that may finally solved the problem, but is this only going to work in vSphere 5.0? I really do hope ESX 4.1 can also get this VAAI enhancement after upgrading the Equallogic firmware with such thin provisioning reclaim capability.
Currently, the only way to reclaim a thin provisioned volume (TP) in Equallogic is to Storage VMotion all existing VMs to a new TP volume and then delete the existing one.