One thing I left off this post is a discussion of fractional reserve. This can be a major and I should have covered it. Some people allow 100% extra space when provisioning LUNs out of ONTAP. FR is about guaranteeing that you have space to write changed blocks in your active filesystem. It’s hard to explain it clearly – I’ve seen many try and fail. I myself find it confusing and complicated and just when I think I understand it, I end up with more questions. So I will just issue a general warning that if you are creating LUNs under ONTAP and you have snapshotting enabled, then discuss with your installer how much space needs to be set aside for the FR.
[Now updated to include base2 results]
I thought a quick post on calculating nett capacity with IBM N Series might be in order, since we have been caught out once or twice with this in the past. Hopefully this post will help others avoid problems of accidental under-capacity.
There are two tools available internally for these calculations, Netapp’s Synergy, and IBM’s Capacity Magic and like the man with two watches, if you use both tools you end up with different answers so you’re not quite sure which is correct.
Let me pick two examples:
1. N3400 (FAS2040 HA) with 36 x 600GB SAS 15K drives
I will specify two arrays of 16 drives each (14+2 RAID-DP) plus 4 hot spares. I’m not deducting snapshot space, and I want ONTAP to be on a Flexvol (i.e. a logical allocation rather than dedicating three drives for each ONTAP image).
- Capacity Magic tells me that the nett useable is 13,531.50 GB (12,602 GiB) or 70% of raw
- Netapp’s Synergy Ad Hoc Capacity Visualizer gives 14.8 TB or 77% of raw
I’m not quite sure where the extra 1.3TB comes from since both tools report 28 data drives and 4 parity drives.
2. N6060 (FAS3160 HA) with 224 x 1TB SATA
I will use 14 arrays of 16 drives each (14+2) and ignore hot spares. I’m not deducting snapshot space, and for ease of comparison with Synergy I will assume that ONTAP is on a flexvol rather than on a dedicated 1+2 array (which would generally be my preference on a system this large).
- Capacity Magic reports base10 nett useable of 144,866 GB = 144.866 TB
- Capacity Magic reports base2 nett useable of 134,917 GiB = 131.75 TiB
- Netapp’s Synergy Ad Hoc Capacity Visualizer gives 156.768 TB (base10)
- By popular demand here also is Netapp’s Synergy Ad Hoc Capacity Visualizer base2 result 142.579 TiB (base2)
Again, I’m not quite sure where the extra 12TB or 10.8TiB came from since both tools report 196 data drives and 28 parity drives.
Capacity Magic output is as follows (reports both base2 and base10):
Synergy output is as follows for base10:
Synergy output is as follows for base2:
So what we see is that Capacity Magic tells us, base2 134,917 GiB which in TiB is 134,917 / 1024 = 131.754 TiB
…and Synergy tells us 142.579 TiB which is 8.2% higher.
What installers tell me anecdotally however is that the Capacity Magic figures are closer to reality, but they suggest that even the Capacity Magic figures might fail to include the additional 5% that aggregates require for the internal metadata snaps to maintain integrity, and they also tell me it is best to avoid filling flexvols past 95%.
I’m not an expert on precisely where the space is allocated (e.g. 10% WAFL, 12.5% block checksums etc) but whatever the ins and outs of it all, after one or two incidents of ending up with less storage than we expected, I have now taken to using Capacity Magic’s figures and then deducting 10% 5%, which leads to a rule of thumb of “about 60%” of raw.
The above discrepancies have nothing to do with the question of counting in binary or decimal.
As I said, hopefully this post will help others avoid problems of accidental under-capacity. The moral of the story is to be conservative, since the calculation of nett space is clearly not as simple as it might appear at first glance.