Copier le système de fichiers de la machine source

La modernisation d'un composant d'application nécessite la création d'une copie du système de fichiers de la machine source.

Cette page décrit les étapes requises pour copier le système de fichiers de la machine source, ainsi que certaines spécifications permettant réduire la taille du système de fichiers copié.

Créer une copie locale du système de fichiers de la machine source Linux

La CLI Migrate to Containers permet d'accéder aux machines sources à l'aide d'une connexion SSH directe ou de gcloud.

SSH direct

Pour effectuer la copie avec un accès SSH direct, exécutez la commande suivante :

./m2c copy ssh [USERNAME@]HOSTNAME \
  -i PATH_TO_PRIVATE_KEY \
  -o OUTPUT_FILESYSTEM_DIR

Remplacez les éléments suivants :

  • USERNAME : votre nom d'utilisateur
  • HOSTNAME : nom d'hôte
  • PATH_TO_PRIVATE_KEY : chemin d'accès à la clé privée
  • OUTPUT_FILESYSTEM_DIR: chemin d'accès au répertoire de sortie sur votre ordinateur local dans lequel vous souhaitez copier le système de fichiers de la machine source

gcloud

Si la machine source possède une adresse IP publique, exécutez la commande suivante :

./m2c copy gcloud \
  -p PROJECT_ID \
  -z ZONE \
  -n VM_NAME \
  -o OUTPUT_FILESYSTEM_DIR

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • ZONE : zone de votre VM
  • VM_NAME : nom de la VM source
  • OUTPUT_FILESYSTEM_DIR: chemin d'accès à la sortie du répertoire sur votre ordinateur local dans lequel vous souhaitez copier le système de fichiers de la machine source

Si la machine source ne possède pas d'adresse IP publique, vous pouvez effectuer l'une des opérations suivantes :

  • Si vous exécutez la CLI Migrate to Containers à partir d'une machine située sur le même réseau interne, utilisez l'option --internal-ip.
  • Si vous l'exécutez sur un autre réseau, utilisez l'option --tunnel-through-iap.

Pour en savoir plus sur ces options, consultez la documentation de gcloud.

Une fois la copie terminée, une copie du système de fichiers de la machine source est disponible dans le répertoire de sortie spécifié.

Réduire la taille du système de fichiers copié

Selon la machine source, le système de fichiers copié peut être très volumineux. Plus la copie est volumineuse, plus il faut de temps pour effectuer chaque opération. De plus, si l'espace est insuffisant, l'opération de copie échoue.

La CLI Migrate to Containers applique des filtres visant à réduire la taille de la copie, mais les connaissances que vous avez du composant d'application vous permettent de modifier les filtres afin de réduire davantage la taille de la copie.

Lorsque vous exécutez à nouveau la commande copy avec les filtres modifiés, le contenu du répertoire de sortie est mis à jour en fonction des modifications que vous avez appliquées dans le fichier de filtre.

Pour modifier les filtres par défaut, procédez comme suit :

  1. Obtenez la liste des filtres par défaut :

    ./m2c copy default-filters > filters.txt
    
  2. Modifiez le fichier filters.txt pour supprimer les répertoires superflus. Le fichier utilise le format de règle de filtre rsync, comme spécifié sur la page de la documentation de rsync.

  3. Utilisez l'option --filters pour spécifier le fichier de filtre dans la commande copy.

    SSH direct

    ./m2c copy ssh [USERNAME@]HOSTNAME \
      -i PATH_TO_PRIVATE_KEY \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

    gcloud

    ./m2c copy gcloud \
      -p PROJECT_ID \
      -z ZONE \
      -n VM_NAME \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

Créer une copie locale du système de fichiers de la machine source Windows

Pour les machines sources Windows, vous devez copier les images de disque au format VHD ou VHDX pour le processus de migration. Toutefois, la CLI Migrate to Containers n'est pas compatible avec l'exportation d'images de disque depuis votre plate-forme source vers votre ordinateur local.

  • Pour exporter le disque d'une instance de machine virtuelle (VM) Compute Engine, créez d'abord une image à partir du disque, puis exportez-la vers l'ordinateur local.

  • Pour exporter une image depuis Compute Engine, procédez comme suit:

    1. Exportez l'image vers Cloud Storage à l'aide de la commande gcloud compute images export:

      gcloud compute images export \
        --export-format vhdx \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME
      

      Remplacez les éléments suivants :

      • DESTINATION_URI : destination de l'URI Cloud Storage du fichier image exporté.
      • IMAGE_NAME : nom de l'image disque à exporter.
    2. Téléchargez l'image sur votre ordinateur local:

      gcloud storage cp DESTINATION_URI LOCAL_PATH
      

      Remplacez les éléments suivants :

      • DESTINATION_URI: destination de l'URI Cloud Storage du fichier image exporté
      • LOCAL_PATH: chemin d'accès au dossier local dans lequel vous souhaitez télécharger l'image

    Pour en savoir plus, consultez Exporter une image personnalisée vers Cloud Storage.

  • Pour en savoir plus sur l'exportation d'images Amazon EC2, consultez la section Exporter une instance en tant que VM à l'aide de VM Import/Export.

  • Pour en savoir plus sur l'exportation d'images Azure Cloud Compute, consultez la section Télécharger un fichier VHD Windows depuis Azure.

  • Pour exporter des images de disque de VM VMware, suivez d'abord la procédure permettant d'exporter une image vers un fichier VMDK. Convertissez ensuite le fichier VMDK en fichier VHD à l'aide d'outils tiers tels que qemu-img.

Étape suivante