[PSH] Migrez vos datastore à chaud – MAJ
Posted by NiTRo | Filed under HowTo, VMware
MAJ 19/10/2011 : Post obsolète, cf http://vm.lc/dmotion
MAJ 17/05/2011 : Ajout du parametre -MoveTemplate pour migrer les templates (le script converti temporairement les templates en début d’exécution pour les migrer et les reconverti en vm à la fin du script)
MAJ 07/04/2011 : Ajout du paramètre -RPool (pour limiter la sélection à un Resource Pool) et -WhatIf (0 ou 1 pour passer du mode “rapport de pré-migration” à migration). Les templates sont maintenant listés mais pas migrés au même titre que les vm ayant des vmdk sur différents datastore.
MAJ 21/01/2011 : Ajout de l’option “as-source” pour le paramètre Disk Provisioning.
Storage VMotion (aka Live Storage Migration) est une des nombreuses fonctions encore exclusives à VMware mais n’agit qu’au niveau de la VM. Il faut passer par la case scripting pour agir au niveau du datastore.
Disons que vous devez opérer certaines modifications sur les LUN hébergeant les 4 datastores d’un cluster, la solution la plus évidente consiste à utiliser un autre datastore temporaire et migrer les datastores l’un après l’autre. Dans notre cas, le nombre de VM était trop important pour que la migration soit faite manuellement et devait, de plus, être effectuée en pleine nuit. Nous ne pouvions donc pas nous contenter de la cmdlet “Move-VM”. Nous avons donc écrit un script Powershell dont l’objectif est de migrer à chaud les VM d’un datastore à un autre de façon contrôlée avec retry et rapport d’opération. En voici les détails :
- Vérification des datastore source et destination en arguments
- Vérification de l’espace disponible sur le datastore de destination (forçable)
- Vérification des VM “ON” avec snapshot (forçable)
- Vérification des VM avec vDisk en RDM (forçable)
- Choix global thin ou thick
- Vérification de l’espace disponible (10Go mini)
- Migration VM par VM
- Vérification de l’espace disponible toutes les 30 sec (10Go mini)
- 5 cycles de retry des VM restantes
- Affichage ou envoi par mail du rapport VM/status/time
Nous avons mis l’accent sur les multiples vérifications d’espace disponible sur le datastore de destination. Si la valeur descend en dessous de 10Go pendant la migration, la migration en cours est annulée :
Si certaines VM ont des snapshots, vous avez la possibilité de forcer l’opération pour migrer les autres VM :
Ce script est idéal pour les gros datastores :
Et au final, un petit mail sur votre smartphone :
Exemple d’usage : move-datastore.ps1 -SrcDatastore DS1 -DstDatastore DS2 -RPool “RP1″ -vDiskFormat “as-source” -WhatIf 0
Tags: PowerCLI, powershell, scripting
August 29th, 2010 at 14:49
[...] Ce billet était mentionné sur Twitter par raphael schitz, raphael schitz. raphael schitz a dit: move-datastore : safely migrate datastores with migration reporting http://www.hypervisor.fr/?p=2339 [...]
September 9th, 2010 at 10:43
Bravo, super script
c’est exactement ce qu’ilm fallait pour migrer nos gros datastores
September 9th, 2010 at 13:42
Merci pour votre commentaire, n’hésitez pas à remonter vos remarques et/ou commentaires aussi
September 22nd, 2010 at 11:32
Les VMs restent dans le même Resource Pool / Folder ?
September 22nd, 2010 at 11:38
@demz : oui, seul le datastore change.
November 8th, 2010 at 21:42
Après plusieurs migrations avec ce script, voici deux remarques sur l’outil :
1/ Dans les options de confirmation avant le déplacement, il manquerait peut être de pouvoir migrer avec l’option ’same format as the source’ (en plus des options thin et thick). Ceci dans le cas ou certains disques d’une même VM peuvent être ‘thick’ (exemple le volume systeme ) et d’autres ‘thin’ ( exemple le volume data).
2/L’option pour forcer le déplacement avec un snapshot est intérréssante : pourquoi ne pas afficher en plus les VMs qui ont effectivement un snapshot ?
November 10th, 2010 at 22:45
Merci pour le feedback, l’idée du “same format as source” est bonne, je vais l’ajouter.
Indirectement tu as la liste des VM avec snapshot puisqu’elles resteront sur le datastore
May 17th, 2011 at 23:03
[...] Storage DRS et son vrai “Maintenance mode” de datastore, nous venons de mettre à jour notre script de migration de datastore qui permet maintenant de migrer les templates. voici un petit rappel des features [...]