Capacity Planning en PSH – MAJ
Posted by NiTRo | Filed under Tips & Tricks, VMware
MAJ 09/03/2010 : Pour ceux qui utiliseraient ce script sur un gros environnement, voici une version “optimisé” grâce au fameux get-stat2 de LucD (qui nous a confiés que les method du VC-SDK étaient plus rapides que les cmdlet du PowerCLI) qui dans notre cas réduit le temps d’exécution de 15min à 3min (Get-Stat2.ps1 doit être dans le même répertoire) : Get-Capacity++
Dans un environnement hétérogène, il est parfois difficile d’estimer la quantité de VM qu’un cluster peut encore accueillir ou si ce dernier en héberge déjà trop. VMware offre un produit qui remplit cette tache -et plus encore- (Capacity Planner) avec des jolis graphes et des morceaux de reporting dedans mais à un prix exorbitant (1500€/socket au dernières nouvelles).
Ayant besoin d’avoir cette visibilité à moindre frais, nous nous sommes lancés dans la réalisation d’un script powershell qui offrirait une visibilité par cluster en s’appuyant uniquement sur les stats CPU/RAM (pour les IO réseau et stockage c’est un peut plus complexe et pas encore pris en charge par DRS) et qui tiendrait compte des contraintes de disponibilité (HA Admission Control Policy). Pour chaque cluster ce script recueil les moyennes horaires sur 7 jours et calcul la moyenne des valeurs au dessus de la moyenne globale. Cette valeur est utilisée comme “moyenne” de consommation du cluster sur 7 jours et est ensuite soustraite à la capacité effective du cluster (sans les hosts “de réserve”) et divisée par le nombre de VM pour obtenir un nombre de VM “moyen” restant ou, si le résultat est négatif, en surplus. Ceci offre donc une vision synthétique de la balance cpu/ram du cluster ainsi que le nombre de VM moyennes encore admissibles :
Voici le résultat sur le cluster hébergement votre blog préféré. Les dons de RAM sont acceptés
Voici le résultat sur un environnement de production
Les valeurs entre crochets sont les “moyennes” utilisées pour le calcul, à titre indicatif (une bonne idée d’Alan Renouf qui vois déjà ce script dans vCheck !).
Tags: PowerCLI, powershell, scripting
February 26th, 2010 at 16:00
A great piece of code, I will make sure this is in the next version of vCheck
February 26th, 2010 at 16:02
Thanks for your support Al !
February 26th, 2010 at 19:04
Social comments and analytics for this post…
This post was mentioned on Twitter by alanrenouf: RT@hyperviz0r: #PowerCLI Capacity Planning http://www.hypervisor.fr/?p=1890 –> Very cool code…
February 26th, 2010 at 19:09
VKernel vient de lancer un tool gratuit et sympa, VKernel Capacity View. Peut-etre que cela te donnera encore plus d’info et en plus gratuitement
February 26th, 2010 at 19:28
On a déjà la même dans vCheck
May 1st, 2010 at 9:39
Nice add on but does not seems to take into account the Admission control
May 1st, 2010 at 10:50
Yes it does, as you can see in the code, the Configuration.DasConfig.FailoverLevel value is used to get cpu and memory values