[PSH] Egalisez vos datastores – MAJ

MAJ 06/07/2015 : mise à jour du script (version 3.9) qui corrige le problème de retry loop et marque l’arrivée du script sur GitHub (thanks vmdude.fr)

MAJ 04/10/2013 : mise à jour du script (version 3.8) Filtrage des datastore en mode maintenance, affichage des vm “skippées” ou incompatibles et correction d’un bug lors de l’utilisation de -vDiskFormat (thanks vmdude.fr)

MAJ 27/09/2013 : mise à jour du script (version 3.7) Renforcement des filtres.

MAJ 18/09/2013 : mise à jour du script (version 3.6) modification de l’objet du mailcheck pour les Storage Pod.

MAJ 13/09/2013 : mise à jour du script (version 3.5) possibilité d’égaliser un “datastore cluster” (-StoragePod), possibilité de recevoir un rapport par mail pour le vidage des datastore (-drainreport) et skip automatique des migrations en échec.


MAJ 09/05/2013 : mise à jour du script (version 2.5) filtrage des vm dont la method “RelocateVM_Task” est disabled et ajout du paramètre -vi5 pour déplacer les vm avec snapshot

MAJ 26/10/2012 : mise à jour du script (version 2.3) filtrage des vm non “connected”

MAJ 07/07/2012 : mise à jour du script (version 2.2) filtrage des vm avec contrôleur scsi en mode bus-sharing

MAJ 25/06/2012 : mise à jour du script (version 2.1) correction de bug d’espace libre mal remonté

MAJ 02/04/2012 : mise à jour du script (version 2.0) ajout du paramètre ”bypass” pour déplacer toutes les vm sans filtrage.

MAJ 09/02/2012 : mise à jour du script (version 1.6) ajout du pourcentage de “déviation” dans l’objet du mail :

MAJ 09/02/2012 : mise à jour du script (version 1.5) avec l’ajout de l’option “mailcheck” afin de pouvoir utiliser le script en tache planifié. Exemple de one-liner qui compare les datastores VMFS de tous les cluster (à filtrer selon vos besoins) :

get-view -viewtype clustercomputeresource|?{($_.Datastore|%{get-view $_}|?{$_.Summary.Accessible -and $_.Summary.MultipleHostAccess -and $_.Summary.Type -match "VMFS"}|%{$_.name}).count -gt 1}|%{ .\Datastore-Equalizer.ps1 ($_.Datastore|%{get-view $_}|?{$_.Summary.Accessible -and $_.Summary.MultipleHostAccess -and $_.Summary.Type -match "VMFS"}|%{$_.name}) -mailcheck 1 -clustername $_.name}

MAJ 19/12/2011 : mise à jour du script (version 1.1) afin d’exclure les templates.

Pour Noël, Hypervisor.fr vous offre une version “light” maison de Storage DRS. Si votre infra est encore en v4, ou que vous n’avez pas de licences enterprise++ pour votre infra v5 ou si vous ne voulez pas faire de Storage Pod (aka cluster de banques de données) parce que ça fait trop cloud, notre script PowerCLI Datastore-Equalizer est fait pour vous.

Comme son nom le laisse deviner, ce script va vous permette d’égaliser l’espace libre d’un groupe de datastores (fonction “equalize“) ou de vider un datastore vers d’autres (fonction “drain“). L’action à mener sera automatiquement déduite de la liste des datastores source/destination.

Le principe de base est de déplacer la vm la plus petite du datastore le plus rempli vers le datastore le plus vide, en boucle jusqu’à ce que l’écart entre le pourcentage de remplissage du datastore le plus rempli et du plus vide soit inférieur ou égal à la variable $FreeSpaceDeviation (10% par défaut). Ce script étant clairement pensé pour les cluster, il ne vérifie pas que les datastores sont bien tous connectés aux même ESX. Par contre, les espaces restant sont vérifiés avant tout mouvement mais les VM avec snapshot, RDM ou ayant de multiple datastores ne seront pas déplacées. En option il est possible de forcer un autre format de vmdk (thin ou thick).

Voici la liste des paramètres (mandatory en rouge) :

  • SrcDatastores (ex : DS1,DS2,DS3)
  • DstDatastores (=SrcDatastores par défaut)
  • vDiskFormat (as-source par défaut, thick ou thin en option)
  • FreeSpaceDeviation (10 par défaut, <5 à éviter)
  • Force (0 par défaut, 1 pour éviter la confirmation ou pour une tache planifiée)
  • DatastoreFreeLimit (pourcentage disponible limite, 10 par défaut)

Pour que ce soit vraiment la classe, le script vous affiche un petit récap du remplissage des datastores concernés avant d’agir :

Pour les fous ceux qui ont déjà migré leur prod en vSphere 5, nous ferons bientot une version qui permet de bouger les vm avec snapshot…

Datastore-Equalizer

Tags: , , ,

14 Responses to “[PSH] Egalisez vos datastores – MAJ”

  1. Ca déchire, mais manque le script :p

  2. Ah damn, le lien était en haut :p
    Manque la fleur Mario pour les habitués ^^

  3. Thx, c’est sur qu’avec la Piranha Plant c’est mieux :)

  4. VMprisme Says:
    March 15th, 2012 at 17:40

    Super script , il m’a permit de décommissionner une baie tranquilou.

    Merci M Hypervizor ^^

  5. [...] baie vers 3 datastore d’une autre baie, nous avons evidement utilisé notre fameux script Datastore-Equalizer. Voici un screenshot de l’erreur en question [...]

  6. Bonjour,
    Super ce Script.
    vCenter 5.0 U1, CLuster 4.1 U1

    Pour equilibrer les DataStores
    Le script se lance me list les Datastores, demande confirmation.
    Execute 1 migration sur le vCenter et j’obtiens :
    “dmotion failed”
    “Datastores Equalized”

    Arffff comment recuperer les logs pour debeuguer.

    Merci dans tous les cas

  7. J’ai déjà eu le problème, vous me confirmer qu’aucune tache n’apparaît dans le vcenter ?

  8. Merci de la reponse rapide. Une migration se lance sur vCenter et ensuite :
    dmotion failed”
    “Datastores Equalized”

    On vas dire que c’est utilisable a moitié car il faut etre devant le vCenter et à la fin de la migration relancer le Script manuellement a chaque fois, donc inutilisable en tache planifié.

  9. Tu peux refaire un test et exécuter la commande get-task juste après que ça te renvoi “dmotion failed” ?

  10. Je fais cela demain car actuellement je suis en maintenance d’ESX et du coup le get-task recupere toutes les taches en cours.

  11. Bonjour,

    Voila sur un autre Cluster j’ai tenté l’Equaliseur et de nouveau :
    dmotion failed”
    “Datastores Equalized”

    Puis get-tak

    RelocateVM_TASK Running 25 05:24:01

    Je n’ai pas mis l’intulé des colonnes car elle decalle le tabelau lors du copier coller.

  12. MrPochpoch Says:
    March 22nd, 2013 at 14:24

    Merci pour le script … même si il date, il m’est très utile en ce moment ! ;-)

  13. [...] MAJ 11/05/2013 : Script remplacé par Datastore-Equalizer. [...]

  14. [...] nous avons étudié, testé, troubleshooté, et utilisé en production (de manière parfois intensive) cette fonctionnalité (qui a beaucoup évolué depuis 2007) devenue presque banale depuis [...]

Leave a Reply