Copia datos desde o hacia las instancias

En esta página, se muestra cómo copiar datos de lo siguiente:

  • De buckets de Cloud Storage a archivos compartidos de Filestore
  • Computadoras de tu entorno para archivos compartidos de Filestore
  • Archivos compartidos de Filestore con buckets de Cloud Storage

Para transferir grandes volúmenes de datos, recomendamos las siguientes opciones:

Antes de comenzar

Para seguir estas instrucciones, debes tener instaladas las herramientas de línea de comandos de gsutil y gcloud. Ambas herramientas se incluyen en la CLI de gcloud.

Copia datos de un bucket de Cloud Storage a un archivo compartido de Filestore

Para copiar datos de un bucket de Cloud Storage a un archivo compartido de Filestore que esté activado en una instancia de VM de Compute Engine, usa el comando gsutil rsync. El comando gsutil rsync funciona en las VM de Linux y Windows. Para copiar datos en instancias de VM de Linux, también puedes usar comandos estándar, como rsync.

Linux

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ve a la página de instancias de Compute Engine.

  2. Elige una instancia de VM de Compute Engine que tenga activado el archivo destino de archivos de Filestore compartido y, luego, haz clic en SSH para abrir una terminal en esa instancia de VM.

  3. Copia los datos al archivo compartido de Filestore activado mediante la ejecución del siguiente comando. Para sincronizar de manera recurrente los subdirectorios de la ubicación que especificaste, usa la opción -r con el comando gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    Donde:

    • bucket es el depósito, directorio o subdirectorio de Cloud Storage desde donde copiar datos.
    • mount-directory es el directorio en el cliente en el cual se activa el archivo compartido de Filestore.

Ejemplo

Con el siguiente comando, se copian los datos del bucket data y todos los subdirectorios al directorio /mnt/filer.

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

Windows

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ve a la página de instancias de Compute Engine.

  2. Elige una instancia de VM de Compute Engine que tenga el archivo compartido de Filestore de destino asignado a una unidad y haz clic en RDP para abrir una conexión de escritorio remoto a esa VM.

  3. Ejecuta el siguiente comando para copiar los datos al archivo compartido de Filestore asignado. Para sincronizar de manera recurrente los subdirectorios de la ubicación que especificaste, usa la opción -r con el comando gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    Donde:

    • bucket es el depósito, directorio o subdirectorio de Cloud Storage desde donde copiar datos.
    • mount-directory es el directorio en el cliente en el cual se activa el archivo compartido de Filestore.

Ejemplo

El siguiente comando copia los datos del bucket data y todos los subdirectorios a la unidad Z: que se asigna al archivo compartido de Filestore.

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

Copia datos desde una computadora de tu entorno a un archivo compartido de Filestore

Si deseas copiar datos de una computadora de tu entorno a un archivo compartido de Filestore que esté activado en una instancia de VM de Linux de Compute Engine, usa el comando gcloud compute scp . El comando gcloud compute scp no funciona en instancias de VM de Windows.

  1. Usa SSH para conectarte a la computadora que contiene los datos que deseas copiar.
  2. Ejecuta el siguiente comando para verificar si tienes gcloud CLI instalada:

     which gcloud
    

    Si gcloud CLI está instalada, el comando mostrará la ruta de instalación. Si no se muestra ninguna ruta de instalación, sigue las instrucciones en Instala gcloud CLI para instalarla.

  3. Copia datos al archivo compartido de Filestore activado:

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

    Donde:

    • local-data-path es la ruta de un archivo o directorio local que contiene los datos que deseas copiar en la instancia. Si deseas copiar datos de otros subdirectorios, usa la marca --recurse después de local-data-path.
    • client-name es el nombre de la instancia de VM de Compute Engine en la que está activado el archivo compartido de Filestore.
    • mount-directory es el directorio en el cliente en el cual se activa el archivo compartido de Filestore.
    • project-id es el ID del proyecto que contiene la instancia de VM del cliente. Si configuraste el proyecto predeterminado gcloud mediante gcloud config set project project-id, puedes omitir esta marca y usar el proyecto predeterminado en su lugar.
    • zone es la zona en la que reside la instancia de VM de Compute Engine. Si configuraste la zona predeterminada gcloud mediante gcloud config set compute/zone zone, puedes omitir esta marca y usar la zona predeterminada en su lugar.

Ejemplo

El siguiente comando copia los datos del directorio /etc/acme/data local y sus subdirectorios al directorio /mnt/filer en la instancia de VM nfs-client, en el proyecto myproject, en la zona us-central1-c:

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

Copia datos de un archivo compartido de Filestore a un bucket de Cloud Storage

Puedes copiar datos desde un archivo compartido de Filestore que se activa en una instancia de VM de Compute Engine en un depósito de Cloud Storage mediante el comando gsutil rsync.

Antes de continuar, asegúrate de que la VM de Compute Engine pueda escribir en Cloud Storage:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ve a la página de instancias de Compute Engine.

  2. Elige una instancia de VM de Compute Engine que tenga activado el archivo compartido del Filestore de origen.

  3. Comprueba si la instancia tiene permiso de lectura/escritura:

    1. Haz clic en el nombre de la instancia para abrir la página Detalles de la instancia.
    2. Expande los permiso de acceso a la API de Cloud y comprueba si Storage tiene permiso de lectura/escritura.

Si la VM de Compute Engine no tiene permiso de escritura y lectura, realiza los siguientes pasos:

  1. Haz clic en Detener para detener la instancia de Compute Engine.
  2. Cuando la instancia se haya detenido, haz clic en Editar en la parte superior de la página.
  3. En Niveles de acceso, selecciona Establecer acceso para cada API.
  4. En Storage, selecciona Lectura y escritura y haz clic en Guardar.
  5. Cuando la instancia termine de actualizarse, haz clic en Iniciar en la parte superior de la página.

Para copiar datos de un archivo compartido de Filestore a un bucket de Cloud Storage, realiza lo siguiente:

Linux

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ve a la página de instancias de Compute Engine.

  2. Elige una instancia de VM de Compute Engine que tenga activado el archivo compartido de archivos de Filestore y, luego, haz clic en SSH para abrir una terminal en esa instancia de VM.

  3. Ejecuta el siguiente comando para copiar los datos del archivo compartido de Filestore activado. Para sincronizar de manera recurrente los subdirectorios de la ubicación que especificaste, usa la opción -r con el comando gsutil rsync.

    gsutil rsync mount-directory gs://bucket
    

    Donde:

    • mount-directory es el directorio en el cliente en el cual se activa el archivo compartido de Filestore.
    • bucket es el depósito, directorio o subdirectorio de Cloud Storage desde donde copiar datos.

Ejemplo

Con el siguiente comando, se copian los datos del directorio /mnt/filer y todos los subdirectorios al bucket archive.

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

Windows

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ve a la página de instancias de Compute Engine.

  2. Elige una instancia de VM de Compute Engine que tenga activado el archivo compartido de archivos de origen y haz clic en RDP para abrir una conexión de escritorio remota a esa VM.

  3. Ejecuta el siguiente comando para copiar los datos del archivo compartido de Filestore asignado. Para sincronizar de manera recurrente los subdirectorios de la ubicación que especificaste, usa la opción -r con el comando gsutil rsync.

    gsutil rsync mapped-drive gs://bucket
    

    Donde:

    • mapped-drive es la unidad en el cliente a la que se asigna el archivo compartido de Filestore.
    • bucket es el bucket, directorio o subdirectorio de Cloud Storage desde donde copiar datos.

Ejemplo

El siguiente comando copia los datos de la unidad asignada Z: y todos los subdirectorios al bucket archive.

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

Soluciona problemas

La copia de datos de Cloud Storage a una instancia de Filestore mediante gsutil puede ser lenta. Para obtener información detallada sobre cómo mejorar el rendimiento, consulta Mejora el rendimiento en los recursos de Google Cloud.