Importer des disques virtuels

Si vous possédez des disques virtuels dans votre environnement sur site avec les logiciels et les configurations nécessaires (parfois appelés disques de référence ou images de référence), vous pouvez gagner du temps en important ces disques virtuels vers Compute Engine et en utilisant l'image obtenue 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 à partir de Compute Engine, vous pouvez créer des images à partir du disque.

Pour plus d'informations sur la création d'un système automatisé de migration de plusieurs machines virtuelles (VM), consultez la section Migrer des VM vers Compute Engine.

Avant de commencer

Activer l'API Cloud Build

L'outil d'importation du dispositif virtuel utilise Cloud Build.

Dans la plupart des cas, gcloud compute images import tente d'accorder ces autorisations au compte de service Cloud Build. Toutefois, vous pouvez accorder manuellement ces autorisations pour vous assurer que les autorisations requises sont en vigueur.

Console

  1. Activez l'API Cloud Build.

    Activer l'API Cloud Build

    Lorsque vous activez l'API Cloud Build depuis la console, Compute Engine accorde au compte de service Cloud Build les rôles suivants, de sorte que le service Cloud Build puisse importer des instances vers Compute Engine :

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

    L'outil d'importation utilise également le compte de service Compute Engine par défaut. Par défaut, le compte de service Compute Engine possède le rôle d'éditeur de projet Cloud IAM. Si ce rôle est retiré, le processus d'importation peut échouer. Pour attribuer de nouveau le rôle au compte de service, consultez la section Accorder l'accès. Pour plus d'informations sur le compte de service par défaut Compute Engine, consultez la section Compte de service Compute Engine par défaut.

gcloud

Pour configurer le service Cloud Build à l'aide de l'outil de ligne de commande gcloud, procédez comme suit :

  1. Activez Cloud Build.

    gcloud services enable cloudbuild.googleapis.com

    L'outil d'importation utilise également le compte de service Compute Engine par défaut. Par défaut, le compte de service Compute Engine possède le rôle d'éditeur de projet Cloud IAM. Si ce rôle est retiré, le processus d'importation peut échouer. Pour attribuer de nouveau le rôle au compte de service, consultez la section Accorder l'accès. Pour plus d'informations sur le compte de service par défaut Compute Engine, consultez la section Compte de service Compute Engine par défaut.

  2. Ajoutez le rôle compute.admin au compte de service de l'API Cloud Build.

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/compute.admin
    
  3. Ajoutez le rôle iam.serviceAccountUser au compte de service de l'API Cloud Build.

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/iam.serviceAccountUser
    
  4. Ajoutez le rôle iam.serviceAccountTokenCreator au compte de service de l'API Cloud Build.

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/iam.serviceAccountTokenCreator
    

    Remplacez l'élément suivant :

Systèmes d'exploitation compatibles

Pour que vos disques virtuels puissent démarrer sur Compute Engine, ils 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 SP1
    • Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core
    • Windows Server 2016, Windows Server 2016 Core
    • Windows Server 2019, Windows Server 2019 Core
    • Windows 7 SP1 (32 bits et 64 bits, BYOL uniquement)
    • Windows 8.1 (32 bits et 64 bits, BYOL uniquement)
    • Windows 10, versions 1709, 1803, 1903, 1909 (32 bits et 64 bits, BYOL uniquement)

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 avec ACPI.

Autorisations

L'outil d'importation d'image effectue plusieurs étapes lors de l'importation d'un fichier de disque virtuel, y compris l'importation de votre fichier dans Google Cloud Storage, la création d'un bucket si nécessaire, le téléchargement du fichier dans Compute Engine, puis la création d'une image dans Compute Engine à partir du fichier sur disque. Ce processus est automatique. Pour garantir une expérience optimale lors de l'utilisation de cette fonctionnalité, nous vous recommandons de disposer des rôles suivants pour votre compte :

  • roles/storage.admin
  • roles/viewer
  • roles/resourcemanager.projectIamAdmin

Le processus d'importation utilise le compte de service Compute Engine par défaut dans le cadre de son processus. Par défaut, ce compte dispose de l'autorisation roles/editor, ce qui est suffisant pour le processus. Toutefois, si vous avez modifié les rôles et les autorisations par défaut du compte de service Compute Engine, vérifiez que les rôles suivants sont toujours appliqués au compte de service :

  • roles/compute.storageAdmin
  • roles/storage.objectViewer

Importer des disques virtuels

Vérifier la compatibilité

Avant de tenter d'importer le disque pour votre VM, téléchargez et exécutez l'outil de vérification préalable à l'intérieur de votre VM. Cet outil de vérification préalable 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 Google Cloud Console, importez le fichier de disque virtuel sur 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. Nous vous recommandons d'installer l'environnement invité. Pour plus d'informations sur l'environnement invité, 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 la manière d'utiliser votre propre licence sous Windows, consultez la page Bring Your Own License, utilisation de 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

Exécutez la commande gcloud compute images import pour créer une image Compute Engine de démarrage. 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é, qui sont nécessaires pour démarrer une instance et s'y connecter à l'aide de SSH ou de 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

Remplacez l'élément suivant :

  • image-name : nom de votre image de destination.
  • source-file : votre 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, celui-ci doit exister dans un bucket de stockage dans le même projet que celui utilisé pour le processus d'importation. Vous devez spécifier le chemin complet du fichier au format gs://bucket-name/object-name.
  • os : système d'exploitation de --source-file. Il doit s'agir d'une image sous licence BYOL ou de l'une des images 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 windows-2019

    Compatibilité avec le modèle BYOL, Bring Your Own License (version bêta)

    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 logiques pour RHEL, vous pouvez importer les disques avec vos propres licences BYOL en spécifiant l'une des valeurs BYOL suivantes pour l'indicateur --os :

      • rhel-6-byol
      • rhel-7-byol
    • Si vous souhaitez apporter votre propre licence pour Windows, vous pouvez importer les disques sous forme d'images BYOL en spécifiant l'une des valeurs BYOL suivantes pour l'indicateur --os :

      • windows-2008r2-byol
      • windows-2012-byol
      • windows-2012r2-byol
      • windows-2016-byol
      • windows-2019-byol
      • windows-7-x64-byol
      • windows-7-x86-byol
      • windows-8-x64-byol
      • windows-8-x86-byol
      • windows-10-x64-byol
      • windows-10-x86-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 suivant importe un disque virtuel debian-9 nommé my_server.vmdk stocké dans gs://your_gcs_bucket.

gcloud beta compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/my_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 souhaitez pas utiliser ces packages, ajoutez l'option --no-guest-environment à votre commande d'importation.

Importer un disque virtuel non amorçable

Console

  1. Dans Google Cloud Console, importez le fichier de disque virtuel sur 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'option --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

Remplacez l'élément suivant :

  • image-name : nom de votre image de destination.
  • source-file : votre 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, celui-ci doit exister dans un bucket de stockage dans le même projet que celui utilisé pour le processus d'importation. Vous devez spécifier le chemin complet du fichier au format gs://bucket-name/object-name.

Exemple de commande

L'exemple suivant importe un disque virtuel nommé my-disk.vmdk stocké dans gs://my-gcs-bucket/.

gcloud compute images import my-imported-image \
    --source-file gs://my-gcs-bucket/my-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'option --source-image pour spécifier une image personnalisée à rendre amorçable, au lieu d'utiliser l'option --source-file qui spécifie un nouveau disque à importer.

gcloud compute images import image-name \
    --source-image source-image-name \
    --os os

Remplacez l'élément suivant :

  • image-name : nom de votre image de destination.
  • source-image-name : nom de votre image source.
  • os : système d'exploitation de --source-image. Cette image doit être une licence BYOL ou l'une des 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 windows-2019

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

  • Si vous utilisez vos propres abonnements RHEL, vous pouvez lancer l'image BYOL sous licence avec votre propre licence en spécifiant l'une des valeurs BYOL suivantes pour l'indicateur --os :

    • rhel-6-byol
    • rhel-7-byol
  • Si vous utilisez une image bring your own license pour Windows, vous pouvez activer l'image BYOL sous licence en spécifiant l'une des valeurs BYOL suivantes pour l'indicateur --os :

    • windows-2008r2-byol
    • windows-2012-byol
    • windows-2012r2-byol
    • windows-2016-byol
    • windows-2019-byol
    • windows-7-x64-byol
    • windows-7-x86-byol
    • windows-8-x64-byol
    • windows-8-x86-byol
    • windows-10-x64-byol
    • windows-10-x86-byol

Exemple de commande

L'exemple suivant transforme une image Compute Engine nommée my-image en une image de démarrage 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. Cette URI a la forme suivante : gs://bucket-name/tmpimage/image-name.

Si vous avez importé une image à l'aide de l'option --data-disk, puis exécuté l'outil import une seconde fois avec l'option --source-image pour rendre l'image amorçable, la première image existe toujours. Si vous n'en avez pas besoin, envisagez de supprimer cette image. Si vous spécifiez le même nom d'image pour les indicateurs --image et --source-image, l'image est automatiquement remplacée et aucun autre nettoyage n'est nécessaire.

Étapes suivantes

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

Envoyer des commentaires concernant…

Documentation Compute Engine