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

Utilizzare Storage Transfer Service per spostare set di dati di grandi dimensioni da Cloud Storage a Filestore condivisioni di file.

Un flusso di lavoro che mostra i dati che vengono spostati da Cloud Storage a un Filestore
utilizzando Storage Transfer Service. L'istanza Filestore è montata
a più istanze di Compute Engine.

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

Storage Transfer Service supporta trasferimenti accelerati di grandi set di dati, e gestire centinaia di TB di dati o più. Sposta i tuoi set di dati di grandi dimensioni nel cloud per sfruttare le operazioni di analisi e machine learning disponibili Le istanze di Compute Engine sottostanti. in cui sono montate le istanze Filestore.

Con Storage Transfer Service puoi creare trasferimenti o configurare i trasferimenti self-hosted per avere il pieno controllo del routing di rete dell'utilizzo della larghezza di banda.

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

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 illustrano 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 risiedono nello stesso progetto.

    Nella pagina del selettore progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Se stai testando Filestore e non prevedi di conservare le risorse che crei, ti consigliamo di creare un progetto anziché selezionare un progetto esistente. Al termine del test, puoi eliminare il progetto, rimuovendo tutte le risorse associate al progetto.

    Vai al selettore progetti

  2. Abilitare la fatturazione.

    Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare che la fatturazione sia abilitata 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) È installato gcloud, un componente principale di Google Cloud SDK 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 già installato Google Cloud SDK, assicurati di avere la versione più recente all'ultima versione disponibile eseguendo:

    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, creare una sola chiave. Scarica il file della chiave e salvalo per un passaggio successivo.

  6. Assegna i ruoli a un account utente. Nella sezione IAM individua il tuo account utente e assegnagli i seguenti ruoli:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Storage Transfer Admin

    • Storage Admin

    Per ulteriori informazioni, vedi Autorizzazioni utente.

Configura Filestore

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

    1. Assicurati che il bucket Cloud Storage, la VM client e Filestore Tutte le istanze risiedono nella stessa regione.

    2. Seleziona una regione regionale enterprise.

    3. (Facoltativo) Per 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. Installa un'istanza Filestore su una macchina client.

    Questa guida descrive un trasferimento che utilizza quattro VM di Compute Engine come delle macchine client NFS. Dovrai creare un solo account di servizio che opera su per conto delle quattro macchine client. Ogni computer client avrà Agenti Storage Transfer Service installati.

    1. Crea 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 VM client e l'istanza Filestore risiedono tutte nella nella stessa regione.

        2. Ogni agente Storage Transfer Service ha bisogno di 4 vCPU 8 GB di RAM. Per ottenere le prestazioni migliori, esegui più agenti per VM. Ai fini di questa guida, eseguire il provisioning di una e2-standard-32 di macchina virtuale Compute Engine.

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

          1. Nel menu a discesa Account di servizio, seleziona il servizio. l'account appena creato.
    2. Dopo aver creato l'istanza VM di Compute Engine, accedi mediante SSH. Dall'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 della chiave dell'account di servizio e lo salvi temporaneamente in locale sulla VM. Ad esempio: service-account-key.json.

    4. Installa Docker sulla VM.

    5. gcloud è già è già installato nell'istanza VM di Compute Engine. Dal comando SSH inserisci il seguente comando per autorizzare. l'account di servizio per utilizzare gcloud:

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

      dove:

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

      • KEY_FILE è il percorso locale relativo del file della chiave che 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 da mappare alla condivisione file di Filestore. Quando ripeti questi passaggi per la successiva VM di Compute Engine usano lo stesso nome e percorso:

      sudo mkdir -p MY_DIRECTORY
      

      dove:

      • MY_DIRECTORY è il nome della directory POSIX locale per di un'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 prestazioni ottimali, consulta i consigli sul 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 di Filestore in esecuzione in un'istanza Compute Engine. Puoi trovarlo nella Istanze Filestore .

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

      • MY_DIRECTORY è il nome della directory che hai mappato nel passaggio precedente. Questa è una directory sulla VM di Compute Engine in cui vuoi montare l'istanza Filestore.

    9. Conferma il punto di montaggio:

      mount -l | grep nfs
      

      Viene restituito quanto segue o un risultato simile:

      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 utilizzare il seguente comando:

      df -h --type=nfs
      

      Viene restituito quanto segue o un risultato simile:

      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 VM di Compute Engine e montare la stessa istanza Filestore su ciascuna. Utilizza le funzionalità di lo stesso account di servizio per gestire tutte e quattro le VM di Compute Engine. Salva temporaneamente una copia locale della chiave dell'account di servizio su ogni VM.

Configura Storage Transfer Service

  1. Crea un pool di agenti.

  2. Autorizza l'agente di servizio per tutto Storage Transfer Service e le funzionalità di machine learning.

    1. Inserisci questo comando:

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

      dove:

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

      Annota la notifica restituita relativa all'agente di servizio e salva associato per il passaggio successivo.

    2. Dopo alcuni minuti, dovresti vedere l'agente di servizio nella IAM. Dopo la propagazione, verifica sono 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 di RAM.

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

      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 che hai usato in precedenza è stato creato. Ad esempio, my-agent-pool.

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

    2. Ripeti questi passaggi per ogni computer client.

Crea e avvia il job di trasferimento

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

Monitora lo stato del trasferimento

Console

Monitora lo stato del trasferimento dalla sezione Job di trasferimento della console Google Cloud.

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 o dati simili:

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 maggiori informazioni, consulta Monitorare l'attività degli agenti. o Dettagli sul trasferimento del file system.

Passaggi successivi