Un outil pour déplacer une Machine Virtuelle Hyper-V sans l'exporter

This post is available in english here.

Hyper-V est un magnifique outil, avec lequel la performance et la stabilité sont au rendez-vous. Mais coté administration, les outils laissent un peu à désirer, et malgré qu'une bonne partie des opérations courantes que l'on pourrait espérer avoir sont disponibles, elles n'en sont pas moins difficiles d'usage. On peut espérer que tout cela sera amélioré avec Windows Server 2008 R2.

Mais en attendant, les outils d'administration d'Hyper-V ne permettent que l'import d'une VM qui a au préalable déjà été exportée. Bien entendu, cela ne peut ne peut se faire que si la machine hôte originale est encore en fonctionnement. Dans le cas d'un serveur qui crash, exporter une VM deviens immédiatement plus complexe... voir impossible.

Il existe, ça et la, quelques techniques qui expliquent, à grand coup de mklink et icacls, comment recréer les liens symboliques et les permissions pour les fichiers de configuration de la VM. Mais cela reste particulièrement complexe et fastidieux, puisqu'il ne faut pas en oublier, et respecter un ordre bien précis, surtout si l'on veut effectuer l'opération d'attachement d'une VM sur un serveur live.

Après avoir trituré Hyper-V, ses symlinks et son interface WMI, j'ai donc créé un petit outil en mode GUI qui permet d'attacher et de détacher une VM qui n'a pas été exportée.

Quelques notes à son propos :
  • Une VM ne peut être détachée que si elle est en mode "Saved" ou "Stopped".
  • Il n'est pas nécessaire d'arrêter le service Hyper-V, toutes les modifications sont détectées en live par Hyper-V.
  • Une VM ne peux être importée que si elle comporte au moins un disque dur sur le controlleur IDE 0.
  • Tous les fichiers de la VM doivent être sous la même racine, HDD et Snapshots.
  • Tous les fichiers qui sont modifiés sont sauvegardés à coté des originaux, les fichiers de données ne sont pas modifiés, ni déplacés.
  • .NET 3.5 doit être installé.
Je mettrais à disposition les sources sous peu, ainsi qu'une version console.

Il y aura forcément des bugs, n'hésitez pas à m'en faire part. Je ne pourrais peut-être rien y faire, puisque il s'agit d'un outil qui effectue une opération qui (à priori) n'est pas prévue ou supportée par Microsoft.

L'outil est à télécharger ici.

Publié jeudi 19 février 2009 23:19 par jay
Classé sous ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires


Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01