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
  • Desde las computadoras de tu entorno a los archivos compartidos de Filestore
  • Archivos compartidos de Filestore en buckets de Cloud Storage

Te recomendamos las siguientes opciones para transferir grandes volúmenes de datos:

Antes de comenzar

Para seguir estas instrucciones, debes instalar la CLI de gcloud.

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

Copiar datos de un bucket de Cloud Storage a un archivo compartido de Filestore que se active en una instancia de VM de Compute Engine, usa Comando gcloud storage rsync. Este comando funciona en VMs 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. Ejecuta el siguiente comando para copiar los datos al archivo compartido de Filestore activado. Para sincronizar de forma recursiva subdirectorios de la ubicación que especifiques, usa la opción --recursive con el valor Comando gcloud storage rsync.

    gcloud storage 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 subdirectorios al directorio /mnt/filer.

gcloud storage rsync gs://data /mnt/filer --recursive

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 Filestore de destino de destino de archivos compartidos asignados a una unidad y haz clic en RDP para abrir una de escritorio remoto a esa VM.

  3. Ejecuta el siguiente comando para copiar los datos al archivo compartido de Filestore asignado. Para sincronizar de forma recursiva subdirectorios de la ubicación que especifiques, usa la opción --recursive con el valor Comando gcloud storage rsync.

    gcloud storage 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 depósito data y todos los subdirectorios a la unidad Z: que se asigna al archivo compartido de Filestore.

gcloud storage rsync gs://data Z:\ --recursive

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

Para copiar datos de una computadora en tu entorno a un archivo compartido de Filestore que se activa 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. Para verificar si tienes instalada gcloud CLI, ejecuta el siguiente comando: :

     which gcloud
    

    Si la CLI de gcloud está instalada, el comando muestra 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 quieres copiar en la instancia. Si quieres copiar datos de otros subdirectorios, usa la marca --recurse después 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 de gcloud con gcloud config set project project-id, puedes omitir esta marca y usar el proyecto predeterminado.
    • zone es la zona en la que reside la instancia de VM de Compute Engine. Si configuraste la zona predeterminada de gcloud con gcloud config set compute/zone zone, puedes omitir esta marca y usar la zona predeterminada.

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 gcloud storage 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. Para detener la instancia de Compute Engine, haz clic en Detener.
  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 Comenzar 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 forma recursiva los subdirectorios de la ubicación que especificaste, usa la opción --recursive con el comando gcloud storage rsync.

    gcloud storage 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

El siguiente comando copia los datos del directorio /mnt/filer y todos los subdirectorios al bucket archive.

gcloud storage rsync /mnt/filer gs://archive --recursive

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 forma recursiva los subdirectorios de la ubicación que especificaste, usa la opción --recursive con el comando gcloud storage rsync.

    gcloud storage rsync mapped-drive gs://bucket
    

    Donde:

    • mapped-drive es la unidad en el cliente a la que se asignarán los archivos compartidos 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 subdirectorios al bucket archive.

gcloud storage rsync Z:\ gs://archive --recursive

Soluciona problemas

Copiar datos de Cloud Storage a una instancia de Filestore con el gcloud CLI puede ser lenta. Para obtener información detallada sobre cómo mejorar el rendimiento, consulta Cómo mejorar el rendimiento en los recursos de Google Cloud.