We are actually using Thin LUNs and Thick Lazy zeroed datastores. Am thinking about converting the solution vice-versa. Like, having Thick LUNs and using Thin Datastores. We have two sites namely "Production" and "DR". The reason behind is we have to run the unmap command too frequently and this would effect our RPO/RTO timelines in any disaster situations.
What are the limitations with respect to capacity versus performance if we implement the new solution ?
We use thick LUNs always, and thin datastores frequently.
Capacity: Obviously, you lose over-subscription at the LUN level. As the 'storage guy' that makes my life easier, by putting the burden for monitoring capacity shortages on the VMWare admins, but I honestly think that is better than either sharing that, or reversing it. In our environment I tend to provision out all new storage to our various clusters as soon as it is installed and configured, then just maintain and troubleshoot on an on-going basis rather than hand out, and extend, LUNs as they are needed. Our storage administration group is me...and a fraction of one other guy to cover for vacations and such, for ~10+PBs of arrays; that drives me to spend more time on engineering, configuration, and install/decommissioning, so that I need less time for ad-hoc work.
Performance:
Thin LUNs on backend storage can provide geographical locality of reference when they are first created; all the data from all the LUNs in a pool are physically close together on the disk platters, so seek times are better than if they were thick, and had big jumps between them.
As they age though, thin LUNs that become relatively 'fat' can show some performance degradation by being scattered. This is most pronounced in end-to-end operations like full backups. So thin works best for things that are never going to (or at least unlikely to) use most of their allotted size.
We also notice that thin/lazy datastores can experience a 'paving the way' penalty during restores and storage VMotions. Some arrays handle that better, by not bothering to actually write zero blocks.
Generally we use thick LUNs throughout the environment, and thin datastores for 'cattle', but often thick datastores for 'pets'.
- You can covert a Thick LUN to a Thin one, but not vice versa. But you can migrate any type of LUN.
- Thin LUNs' performance is limited compared to Thick or Classic LUNs, due to the overhead associated with Thin LUN provisioning. You trade off performance for ease or management and efficiency.
Hope this helps. Post back with any further questions.
ZaphodB
195 Posts
1353
0
Posted December 8th, 2015 07:00
We use thick LUNs always, and thin datastores frequently.
Capacity: Obviously, you lose over-subscription at the LUN level. As the 'storage guy' that makes my life easier, by putting the burden for monitoring capacity shortages on the VMWare admins, but I honestly think that is better than either sharing that, or reversing it. In our environment I tend to provision out all new storage to our various clusters as soon as it is installed and configured, then just maintain and troubleshoot on an on-going basis rather than hand out, and extend, LUNs as they are needed. Our storage administration group is me...and a fraction of one other guy to cover for vacations and such, for ~10+PBs of arrays; that drives me to spend more time on engineering, configuration, and install/decommissioning, so that I need less time for ad-hoc work.
Performance:
Thin LUNs on backend storage can provide geographical locality of reference when they are first created; all the data from all the LUNs in a pool are physically close together on the disk platters, so seek times are better than if they were thick, and had big jumps between them.
As they age though, thin LUNs that become relatively 'fat' can show some performance degradation by being scattered. This is most pronounced in end-to-end operations like full backups. So thin works best for things that are never going to (or at least unlikely to) use most of their allotted size.
We also notice that thin/lazy datastores can experience a 'paving the way' penalty during restores and storage VMotions. Some arrays handle that better, by not bothering to actually write zero blocks.
Generally we use thick LUNs throughout the environment, and thin datastores for 'cattle', but often thick datastores for 'pets'.