Importer des disques virtuels

Si vous possédez des disques virtuels dans votre environnement sur site avec des logiciels et des configurations dont vous vous servez régulièrement (parfois appelés "disques de référence" ou "images de référence"), vous pouvez gagner du temps en important ces disques virtuels dans Compute Engine et en utilisant l'image résultante pour créer des machines virtuelles. L'outil d'importation est compatible avec la plupart des formats de fichiers de disque virtuel, y compris VMDK et VHD.

Si vous avez exporté votre disque depuis Compute Engine, vous n'avez pas besoin de le réimporter. À la place, vous pouvez créer des images supplémentaires à partir du disque.

Si vous avez besoin d'un système automatisé pour la migration de plusieurs machines virtuelles, consultez la présentation de la section Migrer des VM vers Compute Engine.

Avant de commencer

  • Si vous souhaitez utiliser les exemples de lignes de commande de ce guide, procédez comme suit :
    1. Installez la dernière version de l'outil de ligne de commande gcloud ou appliquez la mise à jour correspondante.
    2. Définissez une région et une zone par défaut.
  • Activez l'API Cloud Build. Cette fonctionnalité utilise le service Cloud Build pour importer et créer des images Compute Engine. Vous devez activer l'API Cloud Build pour utiliser cette fonctionnalité.

    Activez l'API Cloud Build.

    Compute Engine attribuera également au compte de service Cloud Build les rôles suivants afin de lui permettre d'importer des images dans Compute Engine :

    • roles/iam.serviceAccountTokenCreator
    • roles/compute.admin
    • roles/iam.serviceAccountUser

Systèmes d'exploitation compatibles

Pour arriver à démarrer sur Compute Engine, vos disques virtuels doivent exécuter l'un des systèmes d'exploitation suivants.

  • Systèmes d'exploitation Linux :
    • CentOS 6, CentOS 7
    • Debian 8, Debian 9
    • Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7
    • Ubuntu 14.04 LTS, Ubuntu 16.04 LTS
  • Systèmes d'exploitation Windows :
    • Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core, Windows Server 2016, Windows Server 2016 Core
    • Windows 7 SP1 x64 et Windows 10 Enterprise x64 (seuls compatibles avec BYOL)

Limites

Cette fonctionnalité présente les limites suivantes :

  • Les disques virtuels Linux doivent utiliser grub comme bootloader.
  • Les bootloaders UEFI ne sont disponibles ni sur Windows, ni sur Linux.
  • Les disques virtuels Linux doivent répondre aux mêmes exigences que les images d'OS personnalisées, comme la compatibilité avec les appareils de contrôleur de stockage Virtio-SCSI.
  • Lorsqu'ils sont installés sur des disques virtuels Windows, les logiciels présents sur la liste blanche d'applications, tels que Cb Protection de l'éditeur Carbon Black, peuvent entraîner l'échec du processus d'importation. Vous devrez peut-être désinstaller les logiciels de ce type avant l'importation.
  • Si vous importez un disque virtuel exécutant RHEL, le modèle BYOL (Bring Your Own License) est disponible uniquement si le package python-boto est installé sur le disque virtuel avant l'importation.
  • Les systèmes d'exploitation sur des disques virtuels doivent être compatibles ACPI.

Autorisations

L'outil d'importation d'image exécute plusieurs étapes lorsque vous importez un fichier de disque virtuel, par exemple en téléchargeant votre fichier sur Google Cloud Storage, en créant un nouveau bucket si nécessaire, en téléchargeant le fichier dans Compute Engine, puis en créant une image dans Compute Engine à partir du fichier de disque. Ce processus est automatique. Par conséquent, Google vous recommande de disposer des rôles suivants pour garantir une expérience transparente lors de l'utilisation de cette fonctionnalité :

  • roles/storage.admin sur le projet
  • roles/viewer sur le projet
  • roles/resourcemanager.projectIamAdmin sur le projet

Importer des disques virtuels

Vérifier la compatibilité

Avant de tenter d'importer le disque de votre VM, téléchargez et exécutez notre outil de vérification préalable à l'intérieur de votre VM. Cet outil recherche tous les problèmes de compatibilité susceptibles de provoquer l'échec du processus d'importation ou un fonctionnement incorrect du disque sur Compute Engine.

Importer un disque virtuel de démarrage

Console

  1. Dans la console Google Cloud Platform, importez le fichier de disque virtuel dans Cloud Storage.
  2. Accédez à la page "Créer une image".
    Accéder à la page Créer une image
  3. Indiquez un Nom pour votre image.
  4. Sous Source, sélectionnez Disque virtuel (VMDK, VHD,…).
  5. Recherchez ou saisissez manuellement l'emplacement de stockage du fichier Cloud Storage.
  6. Sélectionnez le système d'exploitation disponible sur le disque importé. Vous pouvez également apporter les modifications suivantes :

    • Vous pouvez choisir d'installer des packages invités. Il est recommandé d'installer l'environnement invité. Pour en savoir plus à ce sujet, consultez la section environnement invité.

    • Pour les systèmes d'exploitation Windows ou Red Hat Enterprise Linux (RHEL), vous pouvez également choisir une option de licence. Vous pouvez autoriser Compute Engine à fournir une licence ou apporter votre propre licence. Pour plus d'informations sur l'utilisation de votre propre licence sous Windows, consultez la section Apporter votre propre licence.

  7. (Facultatif) Spécifiez des propriétés supplémentaires pour votre image. Par exemple, vous pouvez organiser cette image dans le cadre d'une famille d'images.

  8. Cliquez sur Créer pour importer l'image.

gcloud

Utilisez la commande gcloud compute images import pour créer une image Compute Engine amorçable. Même si Compute Engine peut amorcer la plupart des images de disque de démarrage, la commande import garantit que le disque dispose des pilotes requis et des derniers packages de l'environnement invité, lesquels sont nécessaires au démarrage d'une instance et à la connexion à celle-ci via SSH ou RDP.

Vous pouvez importer des fichiers de disque virtuel à partir d'un bucket Cloud Storage ou de votre poste de travail local.

Si vous importez le fichier de disque virtuel depuis votre poste de travail, l'outil d'importation va transférer automatiquement le fichier vers un bucket Cloud Storage.

Si vous préférez, vous pouvez transférer vous-même le fichier de disque virtuel dans Cloud Storage avant de lancer le processus d'importation. En revanche, vous devez transférer le fichier vers un bucket de stockage du même projet que celui utilisé pour le processus d'importation.

gcloud beta compute images import [IMAGE_NAME] \
    --source-file [SOURCE_FILE] \
    --os [OS]

Où :

  • [IMAGE_NAME] correspond au nom de votre image de destination.
  • [SOURCE_FILE] correspond à un fichier de disque virtuel. Il peut s'agir d'un fichier local ou d'un fichier stocké dans Cloud Storage. Si votre disque virtuel est un fichier local, vous pouvez utiliser un chemin d'accès absolu ou relatif. Si votre fichier de disque virtuel est déjà stocké dans Cloud Storage, le fichier doit se trouver dans un bucket de stockage du même projet que celui utilisé pour le processus d'importation. Vous devez également spécifier le chemin d'accès complet du fichier au format gs://[BUCKET_NAME]/[OBJECT_NAME].
  • [OS] correspond au système d'exploitation du fichier SOURCE_FILE. Il doit se présenter sous l'une des formes suivantes : centos-6, centos-7, debian-8, debian-9, rhel-6, rhel-7, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012, windows-2012r2, windows-2016 ou une image sous licence BYOL.

    Compatibilité avec le modèle BYOL (Bring Your Own License)

    Par défaut, les disques virtuels qui utilisent les systèmes d'exploitation Windows Server et Red Hat Enterprise Linux (RHEL) sont importés et configurés en tant qu'images d'OS payantes, ce qui entraîne des frais supplémentaires.

    • Si vous souhaitez utiliser vos propres abonnements logiciels pour RHEL, vous pouvez importer les disques sous forme d'images sous licence BYOL, en spécifiant l'une des valeurs BYOL suivantes dans le champ [OS] :

      • rhel-6-byol
      • rhel-7-byol
    • Si vous souhaitez apporter votre propre licence pour Windows, vous pouvez importer les disques en tant qu'images sous licence BYOL, en spécifiant l'une des valeurs BYOL suivantes pour le champ [OS] :

      • windows-2008r2-byol
      • windows-2012-byol
      • windows-2012r2-byol
      • windows-2016-byol
      • windows-7-byol
      • windows-10-byol

Si vous spécifiez un fichier local, l'opération de transfert 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.

Exemple de commande

L'exemple d'importation suivant concerne un disque virtuel debian-9 nommé your_server.vmdk, stocké à l'emplacement gs://your_gcs_bucket.

gcloud beta compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/your_server.vmdk \
    --os debian-9

Paramètres facultatifs

Par défaut, les packages d'environnement invité sont ajoutés à toutes les images de disque de démarrage importées. Si vous ne voulez pas de ces packages, ajoutez l'indicateur --no-guest-environment à votre commande d'importation.

Importer un disque virtuel non amorçable

Console

  1. Dans la console Google Cloud Platform, importez le fichier de disque virtuel dans Cloud Storage.
  2. Accédez à la page "Créer une image".
    Accéder à la page Créer une image
  3. Indiquez un Nom pour votre image.
  4. Sous Source, sélectionnez Disque virtuel (VMDK, VHD,…).
  5. Recherchez ou saisissez manuellement l'emplacement de stockage du fichier Cloud Storage.
  6. Sous Système d'exploitation, sélectionnez Aucun système d'exploitation. Données uniquement.
  7. (Facultatif) Spécifiez des propriétés supplémentaires pour votre image. Par exemple, vous pouvez organiser cette image dans le cadre d'une famille d'images.
  8. Cliquez sur Créer pour importer l'image.

gcloud

Vous pouvez utiliser la commande gcloud compute images import pour créer une image Compute Engine non amorçable. Si aucun système d'exploitation amorçable n'est installé sur votre disque virtuel, vous pouvez toujours l'importer en spécifiant l'indicateur --data-disk à la place de --os. Vous allez ainsi ignorer l'étape d'installation des pilotes et des packages de l'environnement invité pour rendre l'image amorçable sur Compute Engine.

gcloud compute images import [IMAGE_NAME] \
    --source-file [SOURCE_FILE] \
    --data-disk

Où :

  • [IMAGE_NAME] correspond au nom de votre image de destination.
  • [SOURCE_FILE] correspond à un fichier de disque virtuel. Il peut s'agir d'un fichier local ou d'un fichier stocké dans Cloud Storage. Si votre disque virtuel est un fichier local, vous pouvez utiliser un chemin d'accès absolu ou relatif. Si votre fichier de disque virtuel est déjà stocké dans Cloud Storage, le fichier doit se trouver dans un bucket de stockage du même projet que celui utilisé pour le processus d'importation. Vous devez également spécifier le chemin d'accès complet du fichier au format gs://[BUCKET_NAME]/[OBJECT_NAME].

Exemple de commande

L'exemple suivant importe un disque virtuel nommé your_disk.vmdk stocké dans gs://your_gcs_bucket.

gcloud compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/your_disk.vmdk \
    --data-disk

Rendre une image amorçable

Si vous disposez d'une image personnalisée Compute Engine avec un système d'exploitation amorçable mais que celui-ci ne dispose pas des pilotes ou packages de l'environnement invité Compute Engine nécessaires, vous pouvez utiliser l'outil d'importation d'image pour rendre cette image amorçable sur Compute Engine.

Utilisez l'indicateur --source-image pour spécifier une image personnalisée que vous souhaitez rendre amorçable, à la place de l'indicateur --source-file, qui spécifie un nouveau disque à importer.

gcloud compute images import [IMAGE_NAME] \
        --source-image [SOURCE_IMAGE] \
        --os [OS]

Où :

  • [IMAGE_NAME] correspond au nom de votre image de destination.
  • [SOURCE_IMAGE] correspond au nom de votre image source.
  • [OS] correspond au système d'exploitation du fichier SOURCE_FILE. Il doit se présenter sous l'une des formes suivantes : centos-6, centos-7, debian-8, debian-9, rhel-6, rhel-7, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012, windows-2012r2, windows-2016 ou une image sous licence BYOL.

Compatibilité avec le modèle BYOL (Bring Your Own License)

  • Si vous utilisez vos propres abonnements logiciels à RHEL, vous pouvez rendre l’image sous licence BYOL amorçable en spécifiant l’une des valeurs BYOL suivantes pour le champ [OS] :

    • rhel-6-byol
    • rhel-7-byol
  • Si vous utilisez une image BYOL pour Windows, vous pouvez rendre l’image amorçable en spécifiant l’une des valeurs BYOL suivantes pour le champ [OS] :

    • windows-2008r2-byol
    • windows-2012-byol
    • windows-2012r2-byol
    • windows-2016-byol
    • windows-7-byol
    • windows-10-byol

Exemple de commande

Dans l'exemple suivant, une image Compute Engine nommée my-image est transformée en une image amorçable nommée my-bootable-image. Dans cet exemple, le système d'exploitation installé sur l'image est Ubuntu 16.04.

gcloud compute images import my-bootable-image --source-image=my-image --os=ubuntu-1604

Nettoyer les ressources

Le stockage des fichiers dans Cloud Storage et des images dans Compute Engine entraîne des frais. L'outil d'importation importe le fichier de disque virtuel vers Cloud Storage et crée une image personnalisée Compute Engine.

Après avoir vérifié que l'image a bien été importée et qu'elle démarre correctement en tant qu'instance Compute Engine, vous pouvez supprimer le fichier de disque virtuel dans Cloud Storage. L'outil imprime l'URI du fichier lors de son transfert vers Cloud Storage. Cet URI prend la forme suivante : gs://<bucket name>/tmpimage/<image name>.

Si vous avez importé une image à l'aide de l'indicateur --data-disk, puis exécuté l'outil import une deuxième fois avec l'indicateur --source-image pour rendre cette image amorçable, la première image existe toujours. Si vous n'en avez pas besoin, vous pouvez également supprimer cette image. Si vous spécifiez le même nom d'image pour les paramètres [IMAGE_NAME] et [SOURCE_IMAGE], l'image est automatiquement écrasée et aucune autre opération de nettoyage n'est nécessaire.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine