Copiar datos en instancias o desde ellas

En esta página se explica cómo copiar datos de:

  • Segmentos de Cloud Storage a recursos compartidos de archivos de Filestore
  • Ordenadores de tu entorno a sistemas de archivos compartidos de Filestore
  • Sistemas de archivos compartidos de Filestore a segmentos de Cloud Storage

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

Antes de empezar

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

Copiar datos de un segmento de Cloud Storage a un sistema de archivos compartido de Filestore

Para copiar datos de un segmento de Cloud Storage a un recurso compartido de archivos de Filestore montado en una instancia de VM de Compute Engine, usa el comando gcloud storage rsync. Este comando funciona en máquinas virtuales Linux y Windows. Para copiar datos en instancias de máquina virtual 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.

    Ir a la página de instancias de Compute Engine

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

  3. Copia los datos en el sistema de archivos compartido de Filestore activado ejecutando el siguiente comando. Para sincronizar de forma recursiva los subdirectorios de la ubicación que especifiques, usa la opción --recursive con el comando gcloud storage rsync.

    gcloud storage rsync gs://bucket mount-directory
    

    donde:

    • bucket es el segmento, el directorio o el subdirectorio de Cloud Storage desde el que se van a copiar los datos.
    • mount-directory es el directorio del cliente en el que se monta el sistema de archivos compartido de Filestore.

Ejemplo

El siguiente comando copia los datos del segmento data y todos los subdirectorios en el 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.

    Ir a la página de instancias de Compute Engine

  2. Elige una instancia de VM de Compute Engine que tenga el recurso compartido de archivos 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. Copia los datos en el recurso compartido de archivos de Filestore asignado ejecutando el siguiente comando. Para sincronizar de forma recursiva los subdirectorios de la ubicación que especifiques, usa la opción --recursive con el comando gcloud storage rsync.

    gcloud storage rsync gs://bucket mount-directory
    

    donde:

    • bucket es el segmento, el directorio o el subdirectorio de Cloud Storage desde el que se van a copiar los datos.
    • mount-directory es el directorio del cliente en el que se monta el sistema de archivos compartido de Filestore.

Ejemplo

El siguiente comando copia los datos del bucket data y de todos los subdirectorios en la unidad Z:, que está asignada al recurso compartido de archivos de Filestore.

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

Copiar datos de un ordenador de tu entorno en un recurso compartido de archivos de Filestore

Para copiar datos de un ordenador de tu entorno a un sistema de archivos compartido de Filestore que esté activado en una instancia de máquina virtual Linux de Compute Engine, usa el comando gcloud compute scp . El comando gcloud compute scp no funciona en instancias de máquina virtual de Windows.

  1. Usa SSH para conectarte al ordenador que contiene los datos que quieres copiar.
  2. Comprueba si tienes instalada la CLI de gcloud ejecutando el siguiente comando:

     which gcloud
    

    Si la CLI de gcloud está instalada, el comando devuelve la ruta de instalación. Si no se devuelve ninguna ruta de instalación, sigue las instrucciones de Instalar gcloud CLI para instalarlo.

  3. Copia los datos en el sistema de archivos 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 de local-data-path.
    • client-name es el nombre de la instancia de VM de Compute Engine en la que se ha montado el sistema de archivos compartido de Filestore.
    • mount-directory es el directorio del cliente en el que se monta el sistema de archivos compartido de Filestore.
    • project-id es el ID del proyecto que contiene la instancia de VM cliente. Si has definido el proyecto predeterminado gcloud mediante 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 has definido la zona predeterminada gcloud mediante gcloud config set compute/zone zone, puedes omitir esta marca y usar la zona predeterminada.

Ejemplo

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

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

Copiar datos de un recurso compartido de archivos de Filestore en un segmento de Cloud Storage

Puedes copiar datos de un sistema de archivos compartido de Filestore que esté activado en una instancia de VM de Compute Engine a un segmento de Cloud Storage mediante el comando gcloud storage rsync.

Antes de continuar, asegúrate de que la máquina virtual de Compute Engine pueda escribir en Cloud Storage:

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

    Ir a la página de instancias de Compute Engine

  2. Elige una instancia de VM de Compute Engine que tenga montado el sistema de archivos compartido de Filestore de origen.

  3. Comprueba si la instancia tiene el ámbito Lectura y escritura:

    1. Haz clic en el nombre de la instancia para abrir la página de detalles de la instancia.
    2. Amplía Permisos de acceso a la API de Cloud y comprueba si Storage tiene el permiso Lectura/escritura.

Si la VM de Compute Engine no tiene el permiso Lectura y escritura, sigue estos pasos:

  1. Detén la instancia de Compute Engine haciendo clic en Detener.
  2. Cuando la instancia se haya detenido, haz clic en Editar en la parte superior de la página.
  3. En Permisos de acceso, seleccione Definir acceso para cada API.
  4. En Almacenamiento, 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 recurso compartido de archivos de Filestore en un segmento de Cloud Storage, sigue estos pasos:

Linux

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

    Ir a la página de instancias de Compute Engine

  2. Elige una instancia de VM de Compute Engine que tenga montado el recurso compartido de archivos de Filestore de origen y, a continuación, haz clic en SSH para abrir una terminal en esa instancia de VM.

  3. Copia los datos del recurso compartido de archivos de Filestore montado ejecutando el siguiente comando. Para sincronizar de forma recursiva los subdirectorios de la ubicación que especifiques, usa la opción --recursive con el comando gcloud storage rsync.

    gcloud storage rsync mount-directory gs://bucket
    

    donde:

    • mount-directory es el directorio del cliente en el que se monta el sistema de archivos compartido de Filestore.
    • bucket es el segmento, el directorio o el subdirectorio de Cloud Storage en el que se van a copiar los datos.

Ejemplo

El siguiente comando copia los datos del directorio /mnt/filer y de todos sus subdirectorios en el segmento 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.

    Ir a la página de instancias de Compute Engine

  2. Elige una instancia de VM de Compute Engine que tenga montado el recurso compartido de archivos de Filestore de origen y, a continuación, haz clic en RDP para abrir una conexión de escritorio remoto a esa VM.

  3. Copia los datos del recurso compartido de archivos de Filestore asignado ejecutando el siguiente comando. Para sincronizar de forma recursiva los subdirectorios de la ubicación que especifiques, usa la opción --recursive con el comando gcloud storage rsync.

    gcloud storage rsync mapped-drive gs://bucket
    

    donde:

    • mapped-drive es la unidad del cliente a la que se asigna el recurso compartido de archivos de Filestore.
    • bucket es el segmento, el directorio o el subdirectorio de Cloud Storage en el que se van a copiar los datos.

Ejemplo

El siguiente comando copia los datos de la unidad asignada Z: y todas las subcarpetas en el segmento archive.

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

Solución de problemas

Copiar datos de Cloud Storage a una instancia de Filestore mediante la CLI de gcloud puede ser un proceso lento. Para obtener información detallada sobre cómo mejorar el rendimiento, consulta el artículo Mejorar el rendimiento de los recursos Google Cloud .