Utilizza Storage Transfer Service per spostare set di dati di grandi dimensioni da Cloud Storage alle condivisioni file di Filestore.
Storage Transfer Service ti aiuta a trasferire in modo rapido e sicuro set di dati di grandi dimensioni tra sistemi di archiviazione di oggetti e di file, indipendentemente dal fatto che i tuoi dati siano ospitati in Cloud Storage, in fornitori di servizi cloud di terze parti o on-premise.
Storage Transfer Service supporta i trasferimenti accelerati di set di dati di grandi dimensioni, gestibili anche per centinaia di TB di dati. Sposta i set di dati di grandi dimensioni sul cloud per sfruttare le operazioni di analisi e machine learning disponibili dalle istanze Compute Engine sottostanti su cui sono montate le istanze Filestore.
Con Storage Transfer Service puoi creare trasferimenti gestiti da Google o configurare trasferimenti self-hosted per avere il controllo completo sul routing della rete e sull'utilizzo della larghezza di banda.
Trasferisci dati da un bucket Cloud Storage a una condivisione file Filestore
Il trasferimento di dati da Cloud Storage a una condivisione file Filestore utilizzando Storage Transfer Service richiede le seguenti attività:
- Configurare l'ambiente.
- Configura Filestore.
- Configura Storage Transfer Service.
- Crea e avvia il job di trasferimento.
Le sezioni seguenti illustrano ogni attività.
Configura l'ambiente
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 console Google Cloud, nella pagina del selettore di progetti, 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é selezionarne uno esistente. Al termine del test, puoi eliminare il progetto e tutte le relative risorse.
Attiva la fatturazione.
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare che la fatturazione sia attivata per il tuo progetto.
-
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
(Facoltativo)
gcloud
, un componente principale di Google Cloud SDK, è installato su ogni VM Compute Engine. Se esegui uno dei seguenti passaggi dalla riga di comando locale, configura Google Cloud SDK.Installa e inizializza l'SDK Google Cloud.
Se hai già installato Google Cloud SDK, assicurati di avere la versione più recente disponibile eseguendo:
gcloud components update
Crea un account di servizio. Nella sezione Concedi a questo account di servizio l'accesso al progetto, assegnate i seguenti ruoli:
Owner
Project IAM Admin
Role Administrator
Pub/Sub Editor
Cloud Filestore Editor
Storage Object Admin
Storage Transfer Admin
Storage Transfer Agent
Copia e salva il nome dell'account di servizio che hai creato per un passaggio successivo.
Crea una chiave dell'account di servizio per l'account che hai appena creato. Ai fini di questa guida, crea una sola chiave. Scarica il file della chiave e salvalo per un passaggio successivo.
Assegnare i ruoli a un account utente. Nella pagina IAM, individua il tuo account utente e assegna i seguenti ruoli:
Owner
Project IAM Admin
Role Administrator
Storage Transfer Admin
Storage Admin
Per ulteriori informazioni, vedi Autorizzazioni utente.
Configura Filestore
Crea un'istanza di Filestore. Quando crei l'istanza, applica le seguenti specifiche:
Assicurati che il bucket Cloud Storage, la VM client e l'istanza Filestore si trovino nella stessa regione.
Seleziona un tipo di istanza regionale o enterprise.
(Facoltativo) Per set di dati più grandi, richiedi un aumento della quota.
Copia il nome e l'indirizzo IP dell'istanza e salvali per un passaggio successivo.
Monta un'istanza Filestore su una macchina client.
Questa guida descrive un trasferimento che utilizza quattro VM Compute Engine come macchine client NFS. Dovrai creare un singolo account di servizio che operi per conto delle quattro macchine client. Su ogni computer client verranno installati tre agenti Storage Transfer Service.
Crea un'istanza VM Compute Engine con accesso ad altri servizi Google Cloud.
Configura una VM con le seguenti specifiche:
Quando specifichi una posizione, assicurati che il bucket Google Cloud, la VM client e l'istanza Filestore si trovino nella stessa regione.
Ogni agente Storage Transfer Service richiede 4 vCPU e 8 GB di RAM. Per il miglior rendimento, esegui più agenti per VM. Ai fini di questa guida, esegui il provisioning di un'istanza di macchina virtuale
e2-standard-32
Compute Engine.Nella sezione Identità e accesso API, specifica quanto segue:
- Nel menu a discesa Account di servizio, seleziona l'account di servizio che hai appena creato.
Una volta creata l'istanza VM di Compute Engine, accedi alla macchina tramite SSH. Nella pagina Istanze VM Compute Engine, individua l'istanza che hai creato e fai clic su SSH.
Utilizza un editor di testo come Vim per creare una copia del file della chiave dell'account di servizio e salvarlo temporaneamente localmente nella VM. Ad esempio,
service-account-key.json
.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 utilizzaregcloud
:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
dove:
ACCOUNT è l'indirizzo email dell'account di servizio che hai 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
.
Sempre dalla riga di comando SSH, installa NFS:
sudo apt-get -y update && sudo apt-get install nfs-common
Crea una directory locale da mappare alla condivisione file di Filestore. Quando ripeti questi passaggi per le istanze VM 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
.
- MY_DIRECTORY è il nome della directory POSIX locale per l'istanza VM di Compute Engine. Ad esempio,
Monta la condivisione file associata all'istanza Filestore eseguendo il comando
mount
. Puoi utilizzare qualsiasi opzione di montaggio NFS. Per ottenere il massimo delle prestazioni, consulta i consigli per il montaggio NFS in Montaggio di una condivisione file su un'istanza VM Compute Engine:sudo mount -o rw IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
dove:
IP_ADDRESS è l'indirizzo IP dell'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 che hai mappato nel passaggio precedente. Si tratta di una directory sull'istanza VM di Compute Engine su cui vuoi montare l'istanza Filestore.
Conferma il punto di montaggio:
mount -l | grep nfs
Viene restituito quanto segue o un valore 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 valore 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
Prendi nota del percorso della directory POSIX locale e salvalo per un passaggio successivo.
Ripeti i passaggi precedenti per creare altre tre istanze VM di Compute Engine e monta la stessa istanza Filestore su ciascuna. Utilizza lo stesso account di servizio per gestire tutte e quattro le VM Compute Engine. Salva temporaneamente una copia locale della chiave dell'account di servizio in ogni VM.
Configurare Storage Transfer Service
Autorizza l'agente di servizio per tutte le funzionalità di Storage Transfer Service.
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
.
Prendi nota della notifica restituita relativa all'agente di servizio e salva l'indirizzo email associato per il passaggio successivo.
- KEY_FILE è il percorso locale relativo al file della chiave che hai copiato in precedenza. Ad esempio,
Dopo alcuni minuti, dovresti vedere l'agente di servizio nella pagina IAM. Una volta propagata, verifica che siano assegnati i seguenti ruoli:
Pub/Sub Editor
Storage Admin
Installa gli agenti di trasferimento.
Ogni agente Storage Transfer Service richiede 4 vCPU e 8 GB di RAM.
Ti consigliamo di installare più agenti per massimizzare la tolleranza agli errori e sfruttare la scalabilità dinamica offerta da Storage Transfer Service. L'esempio seguente mostra come installare tre agenti su un computer client. Dalla riga di comando SSH, esegui il seguente 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 creato in precedenza. Ad esempio,
my-agent-pool
.MY_SERVICE_ACCOUNT_KEY_FILE è il percorso relativo alla chiave del account di servizio. Ad esempio,
/relative/path/to/service-account-key.json
.
Ripeti questi passaggi per ogni computer client.
Crea e avvia il job di trasferimento
- Crea un job di trasferimento per spostare i dati dal bucket Cloud Storage all'istanza Filestore.
Fai riferimento alla home 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 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 qualcosa di simile:
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, vedi Monitorare l'attività dell'agente o Dettagli sul trasferimento del file system.
Passaggi successivi
- Migliora le prestazioni nelle risorse Google Cloud.
- Crea un'istanza VM Compute Engine con accesso ad altri servizi Google Cloud.