Trasferisci set di dati di grandi dimensioni da Cloud Storage a Filestore

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Utilizza Storage Transfer Service per spostare grandi set di dati da Cloud Storage nelle condivisioni file di Filestore.

Un flusso di lavoro che mostra lo spostamento dei dati da Cloud Storage a un'istanza di Filestore utilizzando Storage Transfer Service. L'istanza Filestore viene montata in più istanze Compute Engine.

Storage Transfer Service ti consente di trasferire in modo rapido e sicuro grandi set di dati tra sistemi di archiviazione di oggetti e file, indipendentemente dal fatto che i tuoi dati siano ospitati in Cloud Storage, provider cloud di terze parti o on-premise.

Storage Transfer Service supporta trasferimenti accelerati di grandi set di dati, gestendo facilmente centinaia di TB di dati o più. Sposta i grandi set di dati sul cloud per sfruttare le operazioni di analisi e machine learning disponibili a partire dalle istanze di Compute Engine sottostanti in cui sono montate le tue istanze Filestore.

Con Storage Transfer Service puoi creare facilmente i trasferimenti gestiti da Google o configurare i trasferimenti self-hosted per il controllo completo sul routing della rete e sull'utilizzo della larghezza di banda.

Trasferisci i dati da un bucket Cloud Storage a una condivisione file di Filestore

Il trasferimento di dati da Cloud Storage a una condivisione file di Filestore utilizzando Storage Transfer Service richiede le seguenti attività:

  1. Configurare l'ambiente.
  2. Configura Filestore.
  3. Configurare Storage Transfer Service.
  4. Crea e avvia il job di trasferimento.

Le sezioni seguenti descrivono ciascuna attività.

Configura l'ambiente

  1. Seleziona o crea un progetto.

    Ai fini di questa guida, assicurati che le risorse di origine e di destinazione si trovino nello stesso progetto.

    Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto.

    Se stai testando Filestore e non hai intenzione di mantenere le risorse che crei, ti consigliamo di creare un progetto anziché selezionarne uno esistente. Una volta terminato il test, puoi eliminare il progetto rimuovendo tutte le risorse associate.

    Vai al selettore progetti

  2. Abilita la fatturazione.

    Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare che la fatturazione sia attivata per il tuo progetto.

  3. Abilita le API seguenti:

    • API Filestore

    • API Resource Manager

    • API Pub/Sub

    • API Cloud Storage

    • API Storage Transfer

    • API Cloud Logging

    • API Compute Engine

    • API Service Usage

    • API Identity and Access Management

  4. Facoltativo: gcloud, un componente principale di Google Cloud SDK, è installato su ogni VM di Compute Engine. Se esegui uno dei seguenti passaggi dalla riga di comando locale, configura Google Cloud SDK.

    Installa e inizializza Google Cloud SDK.

    Se hai installato Google Cloud SDK in precedenza, assicurati di avere la versione più recente eseguendo questo comando:

    gcloud components update
    
  5. Crea un account di servizio. Nella sezione Concedi a questo account di servizio l'accesso al progetto, assegna i seguenti ruoli:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Pub/Sub Editor

    • Cloud Filestore Editor

    • Storage Object Admin

    • Storage Transfer Admin

    • Storage Transfer Agent

    1. Copia e salva il nome dell'account di servizio che hai creato per un passaggio successivo.

    2. Crea una chiave dell'account di servizio per l'account appena creato. Ai fini di questa guida, crea una sola chiave. Scarica il file della chiave e salva per un passaggio successivo.

  6. Assegna i ruoli a un account utente. Nella pagina IAM, individua l'account dell'utente e assegnagli i seguenti ruoli:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Storage Transfer Admin

    • Storage Admin

    Per saperne di più, vedi Autorizzazioni dell'utente.

Configura Filestore

  1. Crea un'istanza di Filestore. Quando crei l'istanza, applica le seguenti specifiche:

    1. Assicurati che il bucket Cloud Storage, la VM client e l'istanza Filestore si trovino nella stessa area geografica.

    2. Seleziona un tipo di istanza Enterprise.

    3. (Facoltativo) Per i set di dati più grandi, richiedi un aumento della quota.

    4. Copia il nome e l'indirizzo IP dell'istanza e salvali per un passaggio successivo.

  2. Montare un'istanza di Filestore su una macchina client.

    Questa guida descrive un trasferimento che utilizza quattro VM di Compute Engine come macchine client NFS. Creerai un unico account di servizio che opera per conto delle quattro macchine client. Su ogni computer client saranno installati tre agenti Storage Transfer Service.

    1. Creare un'istanza VM di Compute Engine con accesso ad altri servizi Google Cloud.

      1. Configura una VM con le seguenti specifiche:

        1. Quando specifichi una località, assicurati che il bucket Google Cloud, la VM client e l'istanza Filestore si trovino nella stessa area geografica.

        2. Ogni agente Storage Transfer Service richiede 4 vCPU e 8 GB RAM. Per ottenere prestazioni ottimali, esegui più agenti per VM. Ai fini di questa guida, esegui il provisioning di un'istanza di macchina virtuale e2-standard-32 Compute Engine.

        3. Nella sezione Identità e accesso API, specifica quanto segue:

          1. Nel menu a discesa Account di servizio, seleziona l'account di servizio appena creato.
    2. Una volta creata l'istanza VM di Compute Engine, accedi alla macchina utilizzando SSH. Nella pagina Istanza VM di Compute Engine, individua l'istanza che hai creato e fai clic su SSH.

    3. Utilizza un editor di testo come Vim per creare una copia del file della chiave dell'account di servizio e salvarlo temporaneamente nella VM. Ad esempio, service-account-key.json.

    4. Installa Docker sulla VM.

    5. gcloud è già installato sull'istanza VM di Compute Engine. Dalla riga di comando SSH, inserisci il seguente comando per autorizzare l'account di servizio a utilizzare gcloud:

      gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
      

      dove:

      • ACCOUNT è l'indirizzo email dell'account di servizio creato. Ad esempio, my-service-account@my-project.iam.gserviceaccount.com.

      • KEY_FILE è il percorso locale relativo al file della chiave che hai copiato in precedenza. Ad esempio, sa-key.json.

    6. Sempre dalla riga di comando SSH, installa NFS:

      sudo apt-get -y update && sudo apt-get install nfs-common
      
    7. Crea una directory locale per la mappatura alla condivisione file di Filestore. Quando ripeti questi passaggi per le istanze VM di Compute Engine successive, utilizza lo stesso nome e percorso:

      sudo mkdir -p MY_DIRECTORY
      

      dove:

      • MY_DIRECTORY è il nome della directory POSIX locale per l'istanza VM di Compute Engine. Ad esempio, /usr/local/my_dir.
    8. Monta la condivisione file associata all'istanza Filestore eseguendo il comando mount. Puoi utilizzare qualsiasi opzione di montaggio NFS. Per ottenere le migliori prestazioni, consulta i suggerimenti per il montaggio NFS in Montaggio di una condivisione file su un'istanza VM di Compute Engine:

      sudo mount -o rw,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
      

      dove:

      • IP_ADDRESS è l'indirizzo IP per l'istanza Filestore. Puoi trovarla nella pagina Istanze Filestore.

      • FILE_SHARE è il nome della condivisione file nell'istanza. Ad esempio, my_fs_instance.

      • MY_DIRECTORY è il nome della directory a cui hai eseguito la mappatura nel passaggio precedente. Si tratta di una directory sull'istanza VM di Compute Engine in cui vuoi montare l'istanza di Filestore.

    9. Conferma il punto di montaggio:

      mount -l | grep nfs
      

      Verrà restituito quanto segue:

      10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=262144,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.66.55.194,mountvers=3,mountport=2050,mountproto=udp,local_lock=none,addr=10.66.55.194)
      

      In alternativa, puoi anche usare il seguente comando:

      df -h --type=nfs
      

      Verrà restituito quanto segue:

      Filesystem                       Size  Used Avail Use% Mounted on
      10.66.55.194:/my_fs_instance  1.0T     0  1.0T   0% /home/usr/my_dir
      
    10. Prendi nota del percorso della directory POSIX locale e salvalo per un passaggio successivo.

    11. Ripeti i passaggi precedenti per creare altre tre istanze VM di Compute Engine e montare la stessa istanza di Filestore su ciascuna. Utilizza lo stesso account di servizio per gestire tutte e quattro le VM di Compute Engine. Salvare temporaneamente una copia locale della chiave dell'account di servizio in ogni VM.

Configura Storage Transfer Service

  1. Crea un pool di agenti.

  2. Autorizzare l'account di servizio gestito da Google per tutte le funzionalità di Storage Transfer Service.

    1. Inserisci questo comando:

      gcloud transfer authorize --add-missing --creds-file=KEY_FILE
      

      dove:

      • KEY_FILE è il percorso locale relativo al file della chiave che hai copiato in precedenza. Ad esempio, sa-key.json.

      Osserva la notifica restituita relativa all'account di servizio gestito da Google e salva l'indirizzo email associato per il passaggio successivo.

    2. Dopo qualche minuto, dovresti vedere l'account di servizio gestito da Google nella pagina IAM. Dopo la propagazione, verifica che siano assegnati i seguenti ruoli:

      • Pub/Sub Editor

      • Storage Admin

  3. Installa agenti di trasferimento.

    Ogni agente Storage Transfer Service richiede 4 vCPU e 8 GB RAM.

    1. Consigliamo di installare più agenti per massimizzare la tolleranza di errore e sfruttare la scalabilità dinamica offerta da Storage Transfer Service. L'esempio seguente mostra come installare tre agenti su una macchina client. Dalla riga di comando SSH, esegui il comando seguente:

      gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \
      --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
      

      dove:

      • MY_AGENT_POOL è il nome del pool di agenti creato in precedenza. Ad esempio, my-agent-pool.

      • MY_SERVICE_ACCOUNT_KEY_FILE è il percorso relativo alla chiave dell'account di servizio. Ad esempio, /relative/path/to/service-account-key.json.

    2. Ripeti questi passaggi per ciascun computer client.

Crea e avvia il job di trasferimento

  1. Crea un job di trasferimento per spostare i dati dal bucket Cloud Storage all'istanza Filestore. Fai riferimento alla directory POSIX locale salvata in precedenza per specificare il percorso di destinazione. Ad esempio: /home/usr/my_dir.

Monitorare lo stato del trasferimento

console

Monitora lo stato del trasferimento dalla pagina Job di trasferimento di Google Cloud Console.

Riga di comando

Puoi monitorare lo stato utilizzando la riga di comando:

gcloud transfer jobs monitor JOB_NAME

dove:

  • JOB_NAME è il nome del job di trasferimento. Ad esempio, transferJobs/OPI6300379522015192941.

La risposta mostra quanto segue:

Polling for latest operation name...done.
Operation name: my-sts-project_transferJobs/OPI6300379522015192941_0000000001660692377
Parent job: OPI6300379522015192941
Start time: 2022-08-16T23:26:17.600981Z
SUCCESS | 100% (731.9MiB of 731.9MiB) | Skipped: 129.8kiB | Errors: 0
End time: 2022-08-16T23:27:23.429472Z

Per ulteriori informazioni, consulta Monitorare l'attività dell'agente o Dettagli sul trasferimento del file system.

Passaggi successivi