Happy New Year! 🥳🎉🥂
At the end of 2023, we announced two new offerings called VMware vSphere Foundation (VVF) and VMware Cloud Foundation (VCF) that drastically simplifies our overall vSphere-based portfolio and licensing model.
To help our users understand the new licensing model which uses both CPU cores and TiB (for vSAN storage sizing), I have created a PowerCLI function (Get-FoundationCoreAndTiBUsage) that will inventory your existing vSphere environment and provide a detailed report on the number of CPU Core and/or TiB license count that would be required whether you are considering the VVF or VCF offering.
For those familiar with my previous versions of the vSphere and vSphere+ core counting scripts, this function works in a very similar manner with the output configurable using either console or outputting it to an excel spreadsheet for further processing. For more details on the calculations, where to download and how to use the PowerCLI function, please see VMware KB 95927.
Thanks William for creating the CLI function, screenshot looks great!
Thanks for that function!
I get the vsan capacity output for the DB Cluster, but why does the ML cluster needs over 3 times the amount of vsan TiB licensed?
Just an error in the screenshot?
This is explained in the KB with the minimum TiB per CPU socket
regardless of vsan usage, 8 TB minimum per socket must be licensed. So an 8 socket cluster needs 64 (8 * 8 )TB of licensed capacity even if only 19 is used.
Would love to see some clear examples of counting the storage in VVF, what cores are counted, what specifically is or is not aggregated, and what is the resulting add-on purchase. Specifically an example where they buy more cores than are on the vSAN hosts, so we can see what happens to the 100 GiB from each kind of workload and how it applies against the total vSAN allocation.
In the KB there is no mention on how often cores are measured. Is that information public already? Would core measurement been done per hour, day or month? Or maybe a monthly highwatermark?
As of right now, the behavior is exactly same as you see it in the product. You have a pool of capacity, which is then assigned/consumed. If you don't have sufficient capacity, you might default to eval and once that expires, then hosts will disconnect (again, existing behaviors)
I would like confirmation on the hour / day / month aspect please. If I put a host in maintenance mode for a week in a month, do I still get charged for those cores for the whole month? Similarly if I add a host to the cluster for a day, do I get charged for those extra cores for the whole month?
Hosts managed by vCenter will consuming licensing, this has been case since introduction of vCenter Server
RAM usage was measured in 30 minute intervals I believe. RAM usage went up and down during the month and one only got charged for what you used. Am trying to ascertain if cores present in the cluster are measured in the same way in the new charge-by-core licence model. Obviously cores are a lot less likely to change, but if they do I want to know how I calculate that month's licensing cost. Do you know please?
The new subscription offers are prepaid commits, you’ll need to purchase what you’ll plan to use. If you’ve got more questions, I recommend connecting with your account team who can assist further
The script seems to have vanished from the kb article
Hey Phil - We're aware of the issue. I've already relayed this internally and maybe due to some updates that'll be going out with an updated version of the script. If you can wait, I'd check back next week
It's back attached to the KB. Thanks
I promise I searched high and low for a download link to the script in KB95927, but it's nowhere to be found. Was the psm1 removed from the KB page, maybe?
We're aware of the issue. I've already relayed this internally and maybe due to some updates that'll be going out with an updated version of the script. If you can wait, I'd check back next week
Hi William
Can you please provide a script to calculate the foundationandtib?
Hello, William. Now that the script is available I have been running it against my cluster from one of the esxi hosts and get the below error. PLease advise.
Get-AdvancedSetting: 2/9/2024 7:57:14 AM Get-AdvancedSetting Could not find VIObject with name 'server-name'
What version are you running? Is that the only ESXi host w/issues?
All of the hosts in the cluster return the same error. This is the version of Hypervisor we're using: VMware ESXi, 6.7.0, 19997733.
I am also seeing this:
Value cannot be found for the mandatory parameter Entity
Ah, 6.7! That's been EOL'ed for awhile 🙂
So the issue is with checking for an ESXi Advanced Setting which lets us know if the host is vSAN Witness OVA Appliance. If you're not using vSAN, quick workaround is to remove the following condition check "(Get-AdvancedSetting -Entity $vmhost.name Misc.vsanWitnessVirtualAppliance).Value -eq 0" from L229/234, this should allow you to use the function w/o any issues
I will try that. Thank you, William.
Hello, William. When I run either deployment type switch I get the following error. If I run the script without the deployment type switch I get the core counts, but not the storage counts. Any advice?
PS C:\Program Files\WindowsPowerShell\Modules\FoundationCoreAndTiBUsage> Get-FoundationCoreAndTiBUsage -DeploymentType VCF
Get-FoundationCoreAndTiBUsage : A parameter cannot be found that matches parameter name 'DeploymentType'.
At line:1 char:31
+ Get-FoundationCoreAndTiBUsage -DeploymentType VCF
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-FoundationCoreAndTiBUsage], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Get-FoundationCoreAndTiBUsage
Based on the message, it seems like you may not have latest version of module or it’s been imported, can you confirm you’ve got latest? You can open it up and look for “DeployementType”, that would explain why it’s not working 🙂
Any changes to vSphere essentials?
No
KB95927 is updated. There is no mention of it now:
8 TiBs is the minimum requirement to be purchased per CPU/physical processor for hosts in a vSAN cluster
I can't download the power shell script to count the Core. Getting 504 Error. Tried many laptops and same error.
I Cannot Download it Either It gives me a 504 on my corporate network, via 5G and via my Home network.. is there any other place we can get the package ?
I've shared the feedback internally w/support team regarding the download issue, which I'm also observing
Thanks Sir ! I really appreciate it !
Working now 🙂 Thanks again ! and have a nice day !
I get 2 different errors for the vSAN part (latest version just downloaded)
Querying all ESXi hosts, this may take several minutes...
Querying all ESXi hosts, this may take several minutes...
Method invocation failed because [VMware.Vsan.Views.VsanVcClusterConfigSystem] does not contain a method named 'VsanClusterGetClaimedCapacity'.
At D:\VMware_Skripte\VVF inventory\FoundationCoreAndTiBUsage.psm1:343 char:12
+ $claimedCapacity = $VsanVcClusterConfig.VsanClusterGetClai ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Failed to calculate total disk capacity for cluster xxxx. Contact Global Support team for assistance.
Method invocation failed because [VMware.Vsan.Views.VsanVcClusterConfigSystem] does not contain a method named 'VsanClusterGetClaimedCapacity'.
At D:\VMware_Skripte\VVF inventory\FoundationCoreAndTiBUsage.psm1:343 char:12
+ $claimedCapacity = $VsanVcClusterConfig.VsanClusterGetClai ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
The vSAN capacity for cluster xxxxx cannot be determined because of the stale PDL devices in this cluster. Contact Global Support team for assistance.
...
Total Required VVF Compute Licenses: 4840
Total Required vSAN Add-on Licenses: ERROR
Regarding the PDL message... Skyline Health is 100%, no error or warning in any cluster regarding PDL
As suggested by the script, please contact Broadcom Support, they'll be able to help troubleshoot further
Thx and I understand, but I won't go that route
I am facing the same issue too! On vCenter 8.0u3d and vSAN 8.
InvalidOperation: Method invocation failed because [VMware.Vsan.Views.VsanVcClusterConfigSystem] does not contain a method named 'VsanClusterGetClaimedCapacity'.
The vSAN capacity for cluster *cluster-name* cannot be determined because of the stale PDL devices in this cluster. Contact Global Support team for assistance.
You need PowerCLI 13.3 or newer
That worked, I'm pretty certain last week there was an older version mentioned as requirement.. Maybe the reason for the article update last week.
Wokring now! However, they are still using the vSAN 100GB per core for VVF instead of the new 250GB per core 🙁
Thanks for replying
3rd column in the FoundationCoreAndTiBUsage.psm script output should not be a NUM_CPU_CORES but NUM_CPU_SOCKETS
Please refer to the VMware KB as the script has been updated since the publication of this blog post and is the official source of truth