Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Si vous disposez de disques virtuels dans votre environnement sur site avec les logiciels et les configurations dont vous avez besoin (parfois appelés disques de référence ou images de référence), vous pouvez gagner du temps en les important dans l'appliance GDC isolée et en utilisant l'image obtenue pour créer des machines virtuelles. L'outil d'importation est compatible avec les formats d'image RAW et QCOW.
Avant de commencer
Avant de continuer, assurez-vous de disposer des éléments suivants :
La gdcloud CLI est téléchargée, installée et configurée. Toutes les commandes CLI pour GDC utilisent la CLI gdcloud ou kubectl et nécessitent un environnement de système d'exploitation (OS).
Accès au serveur de l'API Management. Suivez les étapes de la CLI décrites dans Se connecter pour vous connecter au serveur de l'API Management.
Demander des autorisations et un accès
Pour effectuer les tâches listées sur cette page, vous devez disposer des rôles "Administrateur de machine virtuelle du projet" et "Administrateur d'image de machine virtuelle du projet". Suivez les étapes pour valider ou demander à votre administrateur IAM de projet de vous attribuer les rôles Administrateur de machine virtuelle de projet (project-vm-admin) et Administrateur d'image de machine virtuelle de projet (project-vm-image-admin) dans l'espace de noms du projet dans lequel réside la VM.
Pour les opérations sur les VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à l'administrateur IAM de votre projet de vous attribuer les rôles listés dans le paragraphe précédent et le rôle Lecteur du projet (project-viewer).
Pour obtenir les autorisations nécessaires pour importer des images, demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Administrateur d'images VirtualMachine du projet (project-vm-image-admin) pour votre projet.
gdcloud
Utilisez la commande gdcloud compute images import pour créer une image amorçable.
La commande import garantit que le disque dispose des packages requis, y compris l'environnement invité, qui est nécessaire pour configurer les identifiants permettant de se connecter à l'instance à l'aide de Secure Shell (SSH) sur Linux et du protocole RDP (Remote Desktop Protocol) sur Windows.
Sous Linux, la commande installe également les packages pour le protocole NTP (Network Time Protocol) et cloud-init afin que l'instance s'exécute correctement dans GDC.
Vous pouvez importer des fichiers de disque virtuel directement depuis votre poste de travail. L'outil d'importation importe automatiquement le fichier dans un bucket de stockage d'objets de votre projet.
IMAGE_NAME : nom de votre image de destination. Le nom ne doit pas comporter plus de 35 caractères.
SOURCE_FILE : votre fichier de disque virtuel. Ce fichier est un fichier local sur votre poste de travail. Vous pouvez fournir un chemin d'accès absolu ou relatif.
IMAGE_OS : OS du disque à importer.
TIMEOUT : durée maximale d'une importation avant qu'elle n'échoue avec le message "TIMEOUT". Par exemple, si vous spécifiez 2h, le processus échoue au bout de deux heures.
Le délai avant expiration par défaut est de 1h.
L'opération d'importation peut prendre un certain temps en fonction de la taille de votre disque virtuel et de la vitesse de votre connexion réseau. L'opération d'importation peut durer plusieurs dizaines de minutes en fonction de la taille du disque.
API
Avant de lancer le processus d'importation avec l'API, vous devez importer votre disque virtuel dans un bucket de stockage d'objets nommé vm-images-bucket. Pour créer un bucket de stockage d'objets, consultez Créer des buckets de stockage pour les projets.
Pour importer un disque virtuel via l'API, procédez comme suit :
Créez un objet VirtualMachineImageImport sur le serveur de l'API Management pour démarrer le processus d'importation d'images :
Nom de l'image à importer. Le nom ne doit pas dépasser 35 caractères.
PROJECT_ID
ID du projet dans lequel vous souhaitez importer l'image.
SOURCE_FILE
Nom du fichier source contenant l'importation du disque virtuel dans le stockage d'objets. Cette valeur correspond à la section du chemin d'accès au stockage d'objets après vm-images-bucket/.
OPERATING_SYSTEM
OS sur le disque à importer.
DISK_SIZE
Taille minimale requise pour créer un disque avec cette image. Nous vous recommandons d'utiliser une marge d'au moins 20 % en plus de la taille du système de fichiers de l'image d'origine. Par exemple, utilisez au moins 12 Gio pour un disque virtuel dont la taille du système de fichiers d'origine est de 10 Gio.
Surveillez la progression de l'importation en interrogeant l'état de l'objet VirtualMachineImageImport :
Le processus d'importation consiste à importer votre fichier de disque virtuel dans le stockage d'objets.
Si vous utilisez la CLI gdcloud, l'objet est nettoyé à la fin de la commande, qu'elle ait réussi ou non. Si la commande est interrompue ou si l'importation d'image est effectuée avec l'API, le fichier de disque virtuel peut rester dans le bucket de stockage d'objets nommé vm-images-bucket jusqu'à ce que vous le supprimiez manuellement.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eYou can import existing virtual disks (golden disks/images) from your on-premises environment into the GDC air-gapped appliance, saving time when creating new virtual machines.\u003c/p\u003e\n"],["\u003cp\u003eThe import tool supports both RAW and QCOW image formats and can be done through the \u003ccode\u003egdcloud\u003c/code\u003e CLI or the Virtual Machine Manager API, requiring the "Project VirtualMachine Image Admin" role.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egdcloud\u003c/code\u003e CLI allows direct import from your workstation, while the API requires you to first upload the virtual disk to an object storage bucket named \u003ccode\u003evm-images-bucket\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eimport\u003c/code\u003e command via the \u003ccode\u003egdcloud\u003c/code\u003e CLI ensures the disk has necessary packages, such as the guest environment for SSH or RDP and on Linux packages for NTP and \u003ccode\u003ecloud-init\u003c/code\u003e, for proper instance operation in GDC.\u003c/p\u003e\n"],["\u003cp\u003eAfter a successful import, a virtual machine instance can be created that utilizes the imported image.\u003c/p\u003e\n"]]],[],null,["# Import virtual disks\n\nIf you have virtual disks in your on-premises environment with software and\nconfigurations that you need, occasionally referred to as *golden disks* or\n*golden images*, you can save time by importing those virtual disks into\nGDC air-gapped appliance and using the resulting image to create virtual\nmachines. The import tool supports RAW and QCOW image formats.\n\nBefore you begin\n----------------\n\nBefore continuing, ensure that you have the following:\n\n- The [gdcloud CLI](/distributed-cloud/hosted/docs/latest/appliance/resources/gdcloud-overview) downloaded, installed, and configured. All CLI commands for GDC use the `gdcloud` or `kubectl` CLI, and require an operating system (OS) environment.\n\n\u003c!-- --\u003e\n\n- Access to the Management API server. Follow the CLI steps in\n [Sign in](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/iam/sign-in#cli)\n to sign in to the Management API server.\n\n | **Note:** Record the path to the generated file, such as `/tmp/org-1-admin-kubeconfig.yaml`. Use the path to replace \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_KUBECONFIG\u003c/var\u003e in these instructions.\n\n### Request permissions and access\n\nTo perform the tasks listed in this page, you must have the Project\nVirtualMachine Admin and Project VirtualMachine Image Admin roles. Follow the\nsteps to either\n[verify](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vms/preparation#verify-user-access)\nor have your Project IAM Admin\n[assign](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vms/preparation#grant-user-access-vm-resources)\nyou the Project VirtualMachine Admin (`project-vm-admin`) and the Project\nVirtualMachine Image Admin (`project-vm-image-admin`) roles in the namespace\nof the project where the VM resides.\n\nFor VM operations using the GDC console or the gdcloud CLI,\nrequest your Project IAM Admin to assign you the roles listed in the previous\nparagraph and the Project Viewer (`project-viewer`) role.\n\nImport virtual disks\n--------------------\n\nYou can import your virtual disks using either the\ngdcloud CLI or the\n[Virtual Machine Manager API](/distributed-cloud/hosted/docs/latest/appliance/apis/service/virtualmachine/vmm-api-overview).\n\nTo get the permissions you need to import images, ask your Organization IAM\nAdmin to grant you the Project VirtualMachine Image Admin\n(`project-vm-image-admin`) role for your project. \n\n### gdcloud\n\nUse the `gdcloud compute images import` command to create a bootable image.\n\nThe `import` command ensures that the disk has the required packages,\nincluding the guest environment, which is required to configure credentials\nfor connecting to the instance using secure shell (SSH) on Linux and Remote\nDesktop Protocol (RDP) on Windows.\n\nOn Linux, the command also installs packages for network time protocol (NTP)\nand `cloud-init` for the instance to run properly in\nGDC.\n\nYou can import virtual disk files directly from your workstation. The import\ntool automatically uploads the file to an object storage bucket in your\nproject. \n\n gdcloud compute images import \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e \\\n --source-file=\u003cvar translate=\"no\"\u003eSOURCE_FILE\u003c/var\u003e \\\n --os=\u003cvar translate=\"no\"\u003eIMAGE_OS\u003c/var\u003e \\\n --timeout=\u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e\n\nReplace the following variables:\n\n- \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e: the name of your destination image. The name must be no longer than 35 characters.\n- \u003cvar translate=\"no\"\u003eSOURCE_FILE\u003c/var\u003e: your virtual disk file. This file is a local file on your workstation. You can provide an absolute or relative path.\n- \u003cvar translate=\"no\"\u003eIMAGE_OS\u003c/var\u003e: the OS on the disk to import.\n- \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e: the time an import can last before it fails with \"TIMEOUT\". For example, if you specify `2h`, the process fails after 2 hours. The default timeout is `1h`.\n\nThe upload operation can take an extended period of time depending on the size\nof your virtual disk and the speed of your network connection. The import\noperation can take tens of minutes to run depending on the size of the disk.\n\n\u003cbr /\u003e\n\n### API\n\nBefore starting the import process with the API, you need to upload your\nvirtual disk to an object storage bucket named `vm-images-bucket`. To create\nan object storage bucket, see\n[Create storage buckets for projects](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/create-storage-buckets).\n\nTo import a virtual disk through the API, do the following:\n\n1. Create a `VirtualMachineImageImport` object in the Management API server to start the\n image import process:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_KUBECONFIG\u003c/var\u003e \\\n apply -n \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e -f - \u003c\u003cEOF\n apiVersion: virtualmachine.gdc.goog/v1\n kind: VirtualMachineImageImport\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eIMAGE_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_ID\u003c/span\u003e\u003c/var\u003e\n spec:\n source:\n objectStorage:\n bucketRef:\n name: vm-images-bucket\n objectName: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSOURCE_FILE\u003c/span\u003e\u003c/var\u003e\n imageMetadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eIMAGE_NAME\u003c/span\u003e\u003c/var\u003e\n operatingSystem: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eOPERATING_SYSTEM\u003c/span\u003e\u003c/var\u003e\n minimumDiskSize: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDISK_SIZE\u003c/span\u003e\u003c/var\u003e\n EOF\n\n Replace the following variables:\n\n2. Monitor the progress of the import by querying the status of the\n `VirtualMachineImageImport` object:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_KUBECONFIG\u003c/var\u003e \\\n get virtualmachineimageimport --namespace \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e -o jsonpath='{.status}'\n\n### Clean up resources\n\nThe import process involves uploading your virtual disk file to object storage.\nIf you use the gdcloud CLI, the object is cleaned up when the command\nfinishes, whether or not it was successful. If the command is interrupted, or\nthe image import is done with the API, the virtual disk file might remain in\nthe object storage bucket named `vm-images-bucket` until you manually delete\nthe file.\n\nWhat's next\n-----------\n\nCreate a new VM instance that uses your image in the page,\n[Create and start a VM](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vms/create-a-vm/create-and-start)."]]