Importez et exportez des fichiers OVF : Déplacez les machines virtuelles entre les hôtes

Dans mon travail actuel, on me demande souvent d’utiliser PowerCLI pour effectuer diverses tâches dans un cluster vCenter. Dans ce post, je partagerai comment j’ai appris à importer un fichier OVF dans VMware.

OVF File

Il s’agit d’une histoire sur une demande d’aide récente d’un collègue qui devait exporter un modèle d’appliance de surveillance personnalisée vers un nouveau cluster vCenter en construction. Mon collègue était sous contrainte de temps et n’avait pas l’accès nécessaire au modèle.

Si ce n’est pas déjà fait, assurez-vous de télécharger le module PowerCLI via la commande Install-Module -Name PowerCLI

Connexion à vCenter

Ne voulant jamais manquer une occasion d’utiliser PowerShell ou PowerCLI, j’ai plongé tête baissée pour aider. J’ai rassemblé les informations nécessaires auprès de mon collègue et j’ai commencé à me connecter au cluster:

PS6> Connect-VIServer -Server vcenter.mydomain.local -Credential (Get-Credential)

Cela prend juste un moment pour se terminer. Une fois connecté, vous devez savoir quels verbes utiliser. Vous pouvez le faire en utilisant la cmdlet Get-Command -Module PowerCLI.

Il y a deux cmdlets qui se démarquent:

  • Export-VApp
  • Import-VApp

Les deux semblent être exactement ce dont vous avez besoin. Mais d’abord, puisque c’est une expérience d’apprentissage pour moi et peut-être pour vous, je vais me renseigner un peu plus sur l’utilisation appropriée de chacun.

Exportation des machines virtuelles vers un fichier OVF

Le cmdlet Export-VApp exportera la machine virtuelle éteinte en tant que OVF dans le répertoire actuel de votre session par défaut si vous ne spécifiez pas de chemin.

I already have a path in mind so I’m going to be using the C:\Exported-OVF directory but yours may vary. Knowing this, you can then run Export-VApp against the VM template specifying the destination folder.

PS6> Export-VApp -VM 'My_VM_Template' -Destination 'C:\Exported-OVF\'

Mais il y a un problème. Vous ne pouvez pas exporter une machine virtuelle en cours d’exécution vers un OVF. Pas de soucis, c’est une correction rapide. Modifiez un peu votre code et assurez-vous d’abord d’arrêter la machine virtuelle en utilisant le cmdlet Shutdown-VMGuest.

PS6> Shutdown-VMGuest -VM 'My_VM_Template'

Avec l’appliance modèle maintenant hors ligne, reprenez l’exécution du cmdlet Export-VApp tenté précédemment. Ce processus prendra quelques minutes et l’appliance n’était pas très grande au départ.

Une fois terminé, vous devriez avoir une appliance prête à être déployée dans un autre environnement vCenter. Ou pas?

Importation de fichiers OVF

Vous devriez maintenant avoir un fichier sur votre système de fichiers local. Il est possible de l’importer. Pour ce faire, vous devrez interroger le datastore pour l’importer ainsi que l’hôte VM. Vous pouvez ensuite utiliser les deux objets à passer au cmdlet Import-Vapp pour l’importer.

PS6> $myDatastore = Get-Datastore -Name "MyDatastore1"
PS6> $vmHost = Get-VMHost -Name "MyHost"
PS6> $vmHost | Import-vApp -Source 'C:\Exported-OVF\My_VM_Template\My_VM_Template.ovf' -Datastore $myDatastore -Force

Mais attendez! Ça ne marche pas. Dans mon cas, cela a échoué parce que je n’ai pas remarqué que j’étais en fait connecté à un autre cluster vCenter.

Quelque chose s’est passé lorsque j’ai commencé à importer l’appliance VM précédemment exportée. Un flot de messages d’erreur rouges.

I read the error message, and sure enough, the host is not a part of a vCenter cluster and therefore does not have proper licensing to complete the import using PowerCLI. This is a limitation that VMware enforces.

Pas de soucis, je pouvais quand même me connecter à l’interface web de l’hôte et importer manuellement en utilisant l’interface HTML5. L’assistant vous guide à travers chaque étape, donnez un nom à l’appliance importée, choisissez l’OVF, le datastore, le type de déploiement (provisionnement épais ou mince) et vérifiez la configuration. Ensuite, sélectionnez Terminer et l’importation commence.

Bien que la tentative d’importation précédente fonctionnerait parfaitement avec un cluster vCenter, cela ne fonctionnait tout simplement pas dans cette situation. Cela a pris un peu plus de temps que prévu mais était simple. Vous pouvez en savoir plus sur le processus ici.

En fin de compte, l’importation a été un succès, et mon collègue a respecté son délai.

Résumé

Jusqu’à cet exercice, je n’étais pas conscient que tous les cmdlets PowerCLI n’étaient pas disponibles dans toutes les situations. Cependant, nous avons tous les deux appris une nouvelle compétence et, tout en rencontrant quelques difficultés imprévues, nous avons quand même accompli la tâche à accomplir.

Trop souvent, nous nous précipitons à travers les projets informatiques à la recherche de la solution rapide. Surveillez votre vitesse, prenez une minute ou deux de plus pour poser des questions, prendre du recul et comprendre le problème que vous essayez de résoudre. Vous pourriez découvrir que vous apprenez quelque chose de nouveau.

Source:
https://adamtheautomator.com/ovf-file/