Copier des données depuis ou vers des instances

Cette page vous explique comment copier des données à partir :

  • des buckets Cloud Storage aux partages de fichiers Filestore
  • les ordinateurs de votre environnement vers les partages de fichiers Filestore ;
  • Partages de fichiers Filestore avec des buckets Cloud Storage

Nous vous recommandons les options suivantes pour transférer de gros volumes de données:

Avant de commencer

Pour suivre ces instructions, vous devez avoir installé les outils de ligne de commande gsutil et gcloud. Ces deux outils sont inclus dans gcloud CLI.

Copier des données d'un bucket Cloud Storage vers un partage de fichiers Filestore

Pour copier des données d'un bucket Cloud Storage vers un partage de fichiers Filestore installé sur une instance de VM Compute Engine, utilisez la commande gsutil rsync. La commande gsutil rsync fonctionne sur les VM Linux et Windows. Pour copier des données sur des instances de VM Linux, vous pouvez également utiliser des commandes standards telles que rsync.

Linux

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accédez à la page des instances Compute Engine.

  2. Choisissez une instance de machine virtuelle Compute Engine sur laquelle le partage de fichiers Filestore cible est installé, puis cliquez sur SSH pour ouvrir un terminal sur cette instance de machine virtuelle.

  3. Copiez les données sur le partage de fichiers Filestore installé en exécutant la commande suivante. Pour synchroniser de manière récursive les sous-répertoires de l'emplacement spécifié, utilisez l'option -r avec la commande gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    où :

    • bucket est le bucket, le répertoire ou le sous-répertoire Cloud Storage à partir duquel copier les données.
    • mount-directory est le répertoire du client sur lequel le partage de fichiers Filestore est installé.

Exemple

La commande suivante copie les données du bucket data et de tous les sous-répertoires dans le répertoire /mnt/filer.

gsutil rsync -r gs://data /mnt/filer

Windows

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accédez à la page des instances Compute Engine.

  2. Choisissez une instance de VM Compute Engine dont le partage de fichiers Filestore cible est mappé à un lecteur, puis cliquez sur RDP pour ouvrir une connexion de bureau à distance à cette VM.

  3. Copiez les données sur le partage de fichiers Filestore mappé en exécutant la commande suivante. Pour synchroniser de manière récursive les sous-répertoires de l'emplacement spécifié, utilisez l'option -r avec la commande gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    où :

    • bucket est le bucket, le répertoire ou le sous-répertoire Cloud Storage à partir duquel copier les données.
    • mount-directory est le répertoire du client sur lequel le partage de fichiers Filestore est installé.

Exemple

La commande suivante copie les données du bucket data et de tous les sous-répertoires vers le lecteur Z: mappé au partage de fichiers Filestore.

gsutil rsync -r gs://data Z:\

Copier des données depuis un ordinateur de votre environnement vers un partage de fichiers Filestore

Pour copier des données d'un ordinateur de votre environnement vers un partage de fichiers Filestore installé sur une instance de VM Linux Compute Engine, utilisez la commande gcloud compute scp . La commande gcloud compute scp ne fonctionne pas sur les instances de VM Windows.

  1. Utilisez SSH pour vous connecter à l'ordinateur contenant les données que vous souhaitez copier.
  2. Vérifiez si la gcloud CLI est installée en exécutant la commande suivante:

     which gcloud
    

    Si la gcloud CLI est installée, la commande renvoie le chemin d'installation. Si aucun chemin d'installation n'est renvoyé, suivez les instructions de la section Installer gcloud CLI pour l'installer.

  3. Copiez des données dans le partage de fichiers Filestore installé :

     gcloud compute scp local-data-path client-name:/mount-directory --project=project-id --zone=zone
    

    où :

    • local-data-path est le chemin d'un fichier ou d'un répertoire local contenant les données que vous souhaitez copier sur l'instance. Si vous souhaitez copier les données d'autres sous-répertoires, utilisez l'option --recurse après local-data-path.
    • client-name est le nom de l'instance de VM Compute Engine sur laquelle le partage de fichiers Filestore est installé.
    • mount-directory est le répertoire du client sur lequel le partage de fichiers Filestore est installé.
    • project-id est l'ID du projet contenant l'instance de machine virtuelle cliente. Si vous avez défini le projet par défaut gcloud à l'aide de gcloud config set project project-id, vous pouvez ignorer cette option et utiliser le projet par défaut à la place.
    • zone est la zone dans laquelle se trouve l'instance de VM Compute Engine. Si vous avez défini la zone par défaut gcloud à l'aide de gcloud config set compute/zone zone, vous pouvez ignorer cette option et utiliser la zone par défaut.

Exemple

La commande suivante copie les données du répertoire local /etc/acme/data et de ses sous-répertoires dans le répertoire /mnt/filer sur l'instance de machine virtuelle nfs-client, dans le projet myproject, dans la zone us-central1-c :

gcloud compute scp /etc/acme/data --recurse nfs-client:/mnt/filer --project myproject --zone us-central1-c

Copier des données d'un partage de fichiers Filestore dans un bucket Cloud Storage

Vous pouvez copier des données d'un partage de fichiers Filestore installé sur une instance de VM Compute Engine vers un bucket Cloud Storage à l'aide de la commande gsutil rsync.

Avant de continuer, assurez-vous que la VM Compute Engine peut écrire dans Cloud Storage :

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accédez à la page des instances Compute Engine.

  2. Choisissez une instance de VM Compute Engine sur laquelle le partage de fichiers Filestore source est installé.

  3. Vérifiez que l'instance dispose du niveau d'accès en Lecture/Écriture :

    1. Cliquez sur le nom de l'instance pour ouvrir la page des détails de l'instance de VM.
    2. Développez les niveaux d'accès aux API Cloud et vérifiez si l'option Stockage est associée au niveau d'accès Lecture/Écriture.

Si la VM Compute Engine ne dispose pas du niveau d'accès en Lecture/Écriture, procédez comme suit :

  1. Arrêtez l'instance Compute Engine en cliquant sur Arrêter.
  2. Lorsque l'instance s'est arrêtée, cliquez sur Modifier en haut de la page.
  3. Sous Champs d'application de l'accès, sélectionnez Définir l'accès pour chaque API.
  4. Sous Stockage, sélectionnez Lecture/Écriture, puis cliquez sur Enregistrer.
  5. Une fois l'instance mise à jour, cliquez sur Démarrer en haut de la page.

Pour copier des données d'un partage de fichiers Filestore vers un bucket Cloud Storage, procédez comme suit :

Linux

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accédez à la page des instances Compute Engine.

  2. Choisissez une instance de VM Compute Engine sur laquelle le partage de fichiers Filestore source est installé, puis cliquez sur SSH pour ouvrir un terminal sur cette instance de VM.

  3. Copiez les données du partage de fichiers Filestore installé en exécutant la commande suivante. Pour synchroniser de manière récursive les sous-répertoires de l'emplacement spécifié, utilisez l'option -r avec la commande gsutil rsync.

    gsutil rsync mount-directory gs://bucket
    

    où :

    • mount-directory est le répertoire du client sur lequel le partage de fichiers Filestore est installé.
    • bucket est le bucket, le répertoire ou le sous-répertoire Cloud Storage dans lequel copier des données.

Exemple

La commande suivante copie les données du répertoire /mnt/filer et de tous les sous-répertoires vers le bucket archive.

gsutil rsync -r /mnt/filer gs://archive

Windows

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accédez à la page des instances Compute Engine.

  2. Choisissez une instance de VM Compute Engine sur laquelle le partage de fichiers Filestore source est installé, puis cliquez sur RDP pour ouvrir une connexion de bureau à distance à cette VM.

  3. Copiez les données du partage de fichiers Filestore mappé en exécutant la commande suivante. Pour synchroniser de manière récursive les sous-répertoires de l'emplacement spécifié, utilisez l'option -r avec la commande gsutil rsync.

    gsutil rsync mapped-drive gs://bucket
    

    où :

    • mapped-drive est le lecteur du client avec lequel le partage de fichiers Filestore est mappé.
    • bucket est le bucket, le répertoire ou le sous-répertoire Cloud Storage dans lequel copier des données.

Exemple

La commande suivante copie les données du lecteur mappé Z: et de tous les sous-répertoires dans le bucket archive.

gsutil rsync -r Z:\ gs://archive

Dépannage

La copie de données depuis Cloud Storage vers une instance Filestore à l'aide de gsutil peut être lente. Pour en savoir plus sur l'amélioration des performances, consultez la section Améliorer les performances des ressources Google Cloud.