Flash info

"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information. "

Albert Einstein (1879-1955)

 
Microsoft Most Valuable Professionals
Accueil arrow Bibliothèque de scripts arrow VMware arrow Calcul du ratio de surallocation mémoire
Calcul du ratio de surallocation mémoire
Écrit par Arnaud Petitjean   
01-07-2010

Ce script s'appuie sur : VMWARE vSphere PowerCLI  

L'un des avantages indéniables que possède VMWARE ESX sur les hyperviseurs concurrents réside dans sa faculté à pouvoir allouer plus de RAM qu'il n'en existe réellement sur les serveurs hôtes.

Seulement voilà : "Comment savoir quelle quantité de mémoire a été économisée grâce à ce mécanisme ?"

Si vous vous poser cette question, alors ce script est fait pour vous...

###############################################################################
#
# Fonction qui calcule le ratio de surallocation mémoire des serveurs VMWARE
#
#                                                   Version 1.0
#     Get-VMWAREMemoryOversubscriptionRatio.ps1
#
# Créé par Arnaud PETITJEAN, le 04/02/2010
# ----------------------------------------
#
# Exemple d'utilisation :
# -----------------------
#  PS > ./Get-VMWAREMemoryOversubscriptionRatio.ps1
#  1,5
#
# Description technique :
# -----------------------
#
#  Nécessite le VI Toolkit
#  Récupère les stats temps réel de tous les serveurs ESX de l'infrastructure
#  et calcule la moyenne des ratios
#
###############################################################################

Function Get-VMWAREMemoryOversubscriptionRatio
{
 Add-PSSnapin vmware.VimAutomation.Core 
 # Connexion au Virtual Center
 
 Connect-VIServer -server z-ares -Protocol https > $null
 
 if ($?) # On teste si la connexion a réussi
 {
  $VMHosts = Get-VMHost | Where {$_.state -eq 'connected'}
  
  $ratioPerVMHost =
   foreach ($VMHost in $VMHosts)
   {
    $MemGrantedAvg = (Get-Stat -Entity $VMHost -stat mem.granted.average -Realtime | Measure-Object -Property Value -Average).Average
    $MemConsummedAvg = (Get-Stat -Entity $VMHost -stat mem.consumed.average -Realtime | Measure-Object -Property Value -Average).Average
    $MemGrantedAvg / $MemConsummedAvg
    
   }
  Write-Output ( [Math]::Round( ($ratioPerVMHost | Measure-Object -Average).Average, 1) )
 }

Un ratio de 1,5 indique que vous avez fait une économie de RAM de 50 %; c'est à dire que si le mécanisme de surallocation mémoire n'éxistait pas vous auriez du acheter 50% de RAM supplémentaire pour faire fonctionner l'ensemble de vos VM.
Mais on peut voir les choses différemment et se dire aussi que vous avez fait une économie sur l'achat de machines hôtes supplémentaires et de licences pour faire fonctionner toutes vos machines virtuelles.

Dernière mise à jour : ( 01-07-2010 )
 
© 2010 PowerShell-Scripting.com