vmwareubi
Contributor
Contributor

[vSAN] Resource capacity management

Hello,

I'm not sure i'm in the right place, but i'll give a try.

I've deployed few vSAN cluster recently with ESXi 6.5/vSAN 6.6 version. I've done both Hybrid and FullFlash configuration.

I have a problem managing the resources on it, specially when it comes to explain to the client how much available resources he has.

Main problem for me is storage resource. It's difficult to manage available storage when vCenter web client is displaying 450TB on your Hybrid vSAN cluster but you need to tell him that he can use only 160TB (FTT=1 RAID1+ 30% reserved, as indicated on Vmware best pratices). I know that it's possible to have VMs with FTT1 and FTT0 at the same time, but i'm seeing more a cluster with one FTT for all VMs.

This is also true for FullFlash cluster, but our calculation is including a dedup rate we've estimated, so i understand that it can be tricky to display something estimated.

Is there any view i've missed to simulate this "logical" usable capacity, instead of showing raw storage available ?

Without vSAN, we had a more clear view about storage resource (fixed total capacity).

Thanks for comments/ideas Smiley Happy

3 Replies
mprazeres183
Enthusiast
Enthusiast

Hi​ vmwareubi

So your calculation's are somewhat correct, however. When VMWare was here to get our Infrastructure running.
We did something a little bit different. Let me explain to you how we calculate and maybe you can do the same on your end.

You have to understand that if you picked Raid 1 it requires you less hosts to tolerate failures instead of our Raid 5 environment. However here are the facts:

This is one of our 20 vSAN configs.:

Cluster 1:

5 ESXi Hosts with version 6.5

vSAN 6.6

FTT=2

Capacity 114.62 TB = 22.924 TB per Host

Used Storage: 73.71 TB

Free Storage: 40.91 TB

The Important thing here now is on your Storage Policies, if you have only 1 as you stated, it means that you only tolerate 1 Failure out of your 450TB you use.

The issue here is that you did not mention how much Hosts you got together for those 450TB so I can't really tell you if your calculations are correct or not, so let's come back to our Configuration.

As you can see per our Policy, we do have Failer Tolerance on some of the vGuests (And now it gets even trickier) with a FTT2 and we do have some TEST vGuests with FTT1. So you can't really go for a 300% Calculation, as we do have from 100 vGuests 50% on FTT1 and 50% on FTT2 Saying this it means that from our Used storage 50% of it are because there are 2 Copies sitting on other Disks. Now if this is a Full Flash, that dosn't matter, as the Deduplication and Compression will take about 95% from the 2 Copies space away. (This you can calculate as not used space)

So let's assume this Cluster is a Full Flash cluster, and we do only have FTT1, because I would like to come to your calculations with your question so that you have a possible reply.

As I don't know how many Hosts you are utilizing I will assume.

Let's say your configuration looks like this:

8 ESXi Hosts

vSAN 6.x

FTT=1

Capacity 450TB = 56.25 TB per Host

Let's assume you used 100TB

Free storage would then be 350TB

Full Flash

In this case you would have to Fulfill the following:

You can only tolerate 1 Failure, that means that whatever happens you need to keep 56.26TB free at all times.

You don't need only to use 160TB, that makes no sense.

Now let's see this configuration:

8 ESXi Hosts

vSAN 6.x

FTT=1

Capacity 450TB = 56.25 TB per Host

Let's assume you used 100TB

Free storage would then be 350TB

Hybrid

This would look a little bit different.

Let's say you have 50 vGuests each with 50GB of C drive and each with 100GB of a E drive. That would be a total of: 2.5 TB + 5 TB = 7.5 TB + FTT1 = 15TB

In the Hybrid method, you will need to add the 200% as you do not have Dedup and Compression active.


However, also here you only need to keep an eye on the available storage and not pass the 56.25TB per Host limit. You need at least to have 7 ESXi Hosts to keep your vSAN running.

THIS is the factor you have to keep an eye on.

Best regards,

Marco

Check my blog, and if my answere resolved the issue, please provide a feedback. Marco Frias - VMware is my World www.vmtn.blog
vmwareubi
Contributor
Contributor

Hi mprazeres

Thank you for your answer.

My question was more oriented in term of resource management and not on resource calculation.

I'm aware of the storage calculation, but i was more wondering how i can give a resource availability to my client ("How much storage i have remaining to deploy VMs" ?)

My example is :

7 hybrid vSAN cluster

FTT=1

RAID1

vSAN 6.6

Capacity disk 8TB

3 Capacity disk per DG

3 DG per server

[(7450*3)*3]*0.7 = 46.9 TB per node *7 = 328.3 TB /2 = 164.15 TB

So we've estimated that we can give to the client a total usable capacity of 164.15 TB (because we will use the same Storage Policy for all VMs)

It's complicated when you have to explain this to the client who is owning the infrastructure that what is shown is not what what he can use, because of protection and vmware recommendation.

We are working on grafana in order to present the logical capacity of vSAN cluster to the client.

A capacity planning integrated on vSAN could help client to understand how much storage he has remaining.

mprazeres183
Enthusiast
Enthusiast

OK I see the point, it's not for you, it's about the customer and how they can manage to know when to stop deploying.

Well, I think that this is a good idea, that you would send a feature request with this question, so that they could add on the summary tab an information who shows you regardless of the RAW capacity how much capacity is available due to the policy selected and the FTT.

There are ways to do it, we use a script who actually get's to the APIs and get us the information and we calculate the remaining space against the FTT with a formula, this one also works with Full Flash and the Compression and Deduplication on. However, it's not something integrated on the vCenter where then the Customer could get a view before or when he hits the deploy new vGuest and sees what the capacity is that is left behind.

One thing you could do is to calculate it back to the maximum capacity the client can use, and tell him when he is deploying vGuests, that he has to watch when selecting the vSAN Storage that it needs to be after creating and addition of the new vGuest always below 5GB of the 164.15 TB. It's not very satisfying indeed, but maybe till you fill out an Feature request they could adapt it! I would support this feature request as I think that this is indeed a good think.

Best regards,
Marco

Check my blog, and if my answere resolved the issue, please provide a feedback. Marco Frias - VMware is my World www.vmtn.blog