Importer un paquet OVA ou OVF
Importer une machine virtuelle exportée de vSphere en paquet OVA ou OVF avec l'assistant de la console : paquet, destination, réseaux, disques.
Une importation lit le descripteur OVF, planifie la machine virtuelle, la crée et reçoit un fichier par disque. Lorsque les disques sont arrivés, Kyvernon les convertit en qcow2 et les attache, et la machine reste hors tension. Vue d'ensemble de la migration liste ce que l'importation reprend. Avant de commencer, préparez l'invité (Préparer les invités) et exportez la machine depuis vSphere en OVF ou OVA lorsqu'elle est hors tension et sans instantanés. Vérifiez vous-même les sommes de contrôle du paquet par rapport à son manifeste (.mf), car Kyvernon ne vérifie pas le manifeste. Vous avez besoin d'un groupe de ressources, d'un datastore disposant de suffisamment d'espace et des réseaux Kyvernon que les cartes réseau utiliseront. L'importation vérifie VApp.Import et Resource.AssignVMToPool sur le groupe de ressources, Datastore.AllocateSpace sur le datastore, le privilège de créer des machines virtuelles sur le dossier et Network.Assign sur les réseaux connectés.
Dans la console
Sur la page d'accueil, sélectionnez Importation et exportation, ou sélectionnez Importer un OVA ou OVF sous Autres actions d'un hôte.
(Agrandir)
- Sélectionnez Importer un OVA ou OVF. L'assistant Importer une machine virtuelle s'ouvre avec quatre étapes.
Paquet : sélectionnez Choisir des fichiers. Choisissez un fichier OVA, ou un fichier OVF avec ses fichiers de disque dans une même sélection. Les fichiers restent sur votre ordinateur, et un OVA est lu sur place sans être décompressé. La console affiche Fichiers choisis et, une fois le descripteur lu, son nom, la taille de téléchargement, la taille déployée et le nombre de réseaux. Lorsque le paquet manque d'un disque que le descripteur nomme, la console le liste et vous ajoutez le fichier.
(Agrandir)
- Destination : saisissez le Nom de la machine virtuelle, qui remplace le nom du paquet. Choisissez le Groupe de ressources, le cluster et le groupe de ressources que la machine rejoint, et le Datastore. La console compare l'espace libre du datastore à l'espace dont la machine a besoin. Choisissez éventuellement le Dossier et l'Hôte, ou laissez Laisser le contrôleur choisir.
- Réseaux : connectez chaque réseau du paquet à un réseau du cluster. Une carte réseau dont le réseau reste Non relié est omise de la machine, avec un avertissement dans la vérification.
- Récapitulatif : contrôlez les Processeurs, la Mémoire, les Adaptateurs réseau et les Disques, avec le chemin sur le datastore de chacun. Sélectionnez Démarrer l’importation.
- Gardez la page ouverte pendant l'envoi des disques. Elle affiche la progression par fichier, et Annuler l’importation arrête l'importation. Lorsque l'importation se termine, sélectionnez Ouvrir la machine virtuelle.
Les formats de disque que le contrôleur convertit, et ce qu'il refuse, figurent dans Importer un disque VMDK.
Résultat
La machine virtuelle figure dans l'inventaire, hors tension, avec ses disques sous forme d'images qcow2 sur le datastore. Poursuivez avec Après l'importation.
Automatisation
Avec la CLI
Décompressez un OVA. Un paquet OVF est déjà un répertoire contenant le descripteur et les fichiers de disque :
tar -xf appliance.ovaLisez le descripteur pour voir les réseaux et les périphériques qu'il nomme. Le descripteur va dans un corps JSON, que jq construit :
jq -n --rawfile ovf appliance.ovf '{ovfDescriptor: $ovf}' > parse.json
kyvernon ovf parse --body-file parse.jsonConstruisez le corps de l'importation. datastoreId est le datastore cible, entityName remplace le nom de la machine virtuelle, et networkMapping associe chaque nom de réseau du paquet à un réseau de Kyvernon :
jq -n --rawfile ovf appliance.ovf '{
ovfDescriptor: $ovf,
datastoreId: "datastore-3",
entityName: "app-01",
networkMapping: [{name: "VM Network", networkId: "network-4"}]
}' > import.jsonAffichez le plan sans rien créer, avec resourcePoolId ajouté au corps, et lisez les warnings et les errors de la réponse. Lancez ensuite l'importation. La réponse est le bail, et files liste les disques, chacun avec un name et un requireUpload :
jq '. + {resourcePoolId: "resgroup-1"}' import.json > spec.json
kyvernon ovf import-spec --body-file spec.json
kyvernon ovf import-vapp --pool resgroup-1 --body-file import.jsonTéléversez chaque fichier de disque sous le nom indiqué par le bail, puis terminez le bail :
kyvernon nfc upload <lease-id> disk-0.vmdk appliance-disk1.vmdk
kyvernon nfc get <lease-id>
kyvernon nfc complete <lease-id>nfc get affiche l'état (initializing, ready, done ou error) et la progression du transfert ; une fois le bail done, entityId est l'identifiant de la nouvelle machine virtuelle. kyvernon nfc abort <lease-id> annule l'importation.
Avec l'API
| Étape | Demande |
|---|---|
| Lire le descripteur | POST /v1/ovf/parse avec ovfDescriptor |
| Planifier | POST /v1/ovf/import-spec avec ovfDescriptor, datastoreId, resourcePoolId, entityName, networkMapping |
| Démarrer | POST /v1/resource-pools/{id}/import-vapp avec ovfDescriptor, datastoreId, entityName, deploymentOption, networkMapping, folderId, hostId |
| Téléverser un disque | PUT /v1/nfc-leases/{id}/files/{name} avec le fichier comme corps |
| Progression | GET /v1/nfc-leases/{id}, POST /v1/nfc-leases/{id}/progress |
| Terminer ou annuler | POST /v1/nfc-leases/{id}/complete, POST /v1/nfc-leases/{id}/abort |
folderId place la machine virtuelle dans un dossier (par défaut : le dossier des machines virtuelles du datacenter) et hostId sur un hôte. Le plan d'un OVF à plusieurs options de déploiement utilise l'option nommée dans deploymentOption, ou celle par défaut. Les outils qui importent par l'API vSphere (ImportVApp et le téléversement vers /nfc) utilisent la même fonction. Les opérations exécutées par les outils vérifiés, listées dans Compatibilité, ne comprennent pas d'importation : testez-la d'abord avec une petite machine virtuelle.
Voir aussi
Version 0.1. Dernière modification : 2026-11-14