Spostamento dei dati tra i bucket

Ad un certo punto diventerà necessario spostare o eseguire il backup dei tuoi dati in una regione IBM Cloud® Object Storage differente. Un approccio per spostare o replicare i dati tra diverse regioni di object storage consiste nell'utilizzare uno strumento di "sincronizzazione" o "clonazione", come l'utilità da riga di comando open source rclone. Questo programma di utilità sincronizza una struttura ad albero di file tra due ubicazioni, inclusa l'archiviazione oggetti cloud. Quando rclone scrive i dati in COS, utilizza l'API COS/S3 per suddividere gli oggetti molto grandi e carica le parti in parallelo in base alle dimensioni e alle soglie impostate come parametri di configurazione.

Questa guida fornisce istruzioni su come copiare i dati da un bucket IBM Cloud Object Storage a un altro bucket Object Storage all'interno della stessa regione o a un secondo bucket Object Storage in una regione diversa Object Storage. Questa procedura deve essere ripetuta per tutti i dati che desideri copiare da ogni bucket. Dopo che i dati sono stati migrati, puoi verificare l'integrità del trasferimento utilizzando rclone check, che produrrà un elenco di tutti gli oggetti che non corrispondono per checksum o dimensione file. Inoltre, puoi mantenere sincronizzati i bucket eseguendo in modo regolare rclone sync dalle tue origini disponibili alle destinazioni di tua scelta.

Crea un bucket IBM Cloud Object Storage di destinazione

Hai l'opzione di utilizzare la tua istanza esistente di IBM Cloud Object Storage o di crearne una nuova. Se desideri riutilizzare la tua istanza esistente, vai al passo #2.

  1. Puoi creare un'istanza di IBM Cloud Object Storage dal catalogo.
  2. Crea tutti i bucket di cui hai bisogno per archiviare i tuoi dati trasferiti. Leggi attentamente la guida introduttiva per familiarizzare con i concetti chiave come endpoint e classi di archiviazione.
  3. L'utilità " rclone " non copierà alcuna configurazione dei bucket né i metadati degli oggetti. Pertanto, se si utilizza una qualsiasi delle funzionalità di Object Storage, quali scadenza, archiviazione, protezione con chiave e così via, assicurarsi di configurarle correttamente prima di eseguire la migrazione dei dati. Per vedere quali funzioni sono supportate nella tua destinazione COS, fai riferimento alla matrice delle funzioni.

La documentazione sulla configurazione della funzione e sulle politiche di accesso può essere visualizzata nelle pagine del portale IBM Cloud elencate qui di seguito:

Configura una risorsa di calcolo per eseguire lo strumento di migrazione.

  1. Scegliete un server Linux™/macOS™ /BSD™ oppure un server bare metal o virtuale dell'infrastruttura IBM Cloud che si trovi il più vicino possibile ai vostri dati. In genere, la scelta migliore è quella di selezionare un data center situato nella stessa regione del bucket di destinazione (ad esempio, se si trasferiscono dati da mel01 a au-syd, utilizzare un VM o un server Bare Metal disponibile all'indirizzo au-syd). Ti consigliamo la seguente configurazione: 32 GB di RAM, 2-4 processori core e velocità di rete privata di 1000 Mbps.
  2. Se stai eseguendo la migrazione su un IBM Cloud Infrastructure Bare Metal o Virtual Server utilizza gli endpoint privati COS per evitare addebiti in uscita dalla rete.
  3. Altrimenti, utilizza gli endpoint pubblici o diretti COS.
  4. Installa rclone tramite un gestore di pacchetti oppure un file binario precompilato.
curl https://rclone.org/install.sh | sudo bash

Configura rclone per i dati di origine COS

Crea dei 'profili' per l'origine e la destinazione della migrazione in rclone.

Se necessario, ottieni le credenziali COS

  1. Seleziona la tua istanza COS nella console IBM Cloud.
  2. Fai clic su Credenziali del servizio nel riquadro di navigazione.
  3. Fai clic su Nuova credenziale per generare le informazioni sulla credenziale.
  4. Seleziona le opzioni Avanzate.
  5. Attiva le credenziali HMAC selezionando Attivo.
  6. Fai clic su Aggiungi.
  7. Visualizza la credenziale che hai creato e copia il contenuto JSON.

Ottieni l'endpoint COS

  1. Fai clic su Bucket nel riquadro di navigazione.
  2. Fai clic sul bucket di destinazione della migrazione.
  3. Fai clic su Configurazione nel riquadro di navigazione.
  4. Scorri verso il basso fino alla sezione Endpoint e scegli l'endpoint in base a dove stai eseguendo lo strumento di migrazione.
  5. Crea la destinazione COS copiando quanto segue e incollandolo in rclone.conf.
[COS_SOURCE]
type = s3
provider = IBMCOS
env_auth = false
access_key_id =
secret_access_key =
endpoint =

Utilizza [COS_DESTINATION] come nome del profilo che devi creare per configurare la destinazione. Ripeti la seguente procedura,

Utilizzando le tue credenziali e l'endpoint desiderato, completa i seguenti campi:

access_key_id = <access_key_id>
secret_access_key = <secret_access_key>
endpoint = <bucket endpoint>

Configura rclone per i dati di destinazione COS

Ripeti la precedente procedura per i bucket di destinazione.

Verifica che l'origine e la destinazione siano configurate correttamente

  • Elenca i bucket associati all'origine per verificare che rclone sia configurato correttamente.
rclone lsd COS_SOURCE:
  • Elenca i bucket associati alla destinazione per verificare che rclone sia configurato correttamente.
rclone lsd COS_DESTINATION:

Se si utilizza la stessa istanza COS sia per l'origine che per la destinazione, gli elenchi dei bucket corrisponderanno.

Esegui rclone

  1. Testare la configurazione con un'esecuzione a secco (in cui non vengono copiati dati) di rclone per verificare la copia degli oggetti nel bucket di origine (ad esempio, source-test) nel bucket di destinazione (ad esempio, destination-test), dove source-test e destination-test sono i rispettivi nomi dei bucket di origine e di destinazione.
   rclone --dry-run copy COS_SOURCE:source-test COS_DESTINATION:destination-test

  1. Controlla che i file che desideri migrare siano visualizzati nell'output del comando. Se tutto sembra a posto, rimuovi l'indicatore --dry-run e aggiungi facoltativamente l'indicatore -v e/o -P per copiare i dati e tenere traccia dei progressi. L'utilizzo dell'indicatore --checksum facoltativo evita l'aggiornamento di tutti i file con gli stessi hash MD5 e dimensione oggetto in entrambe le ubicazioni.
   rclone -v -P copy --checksum COS_SOURCE:source-test COS_DESTINATION:destination-test

Prova a sfruttare al massimo la CPU, la memoria e la rete sulla macchina che esegue rclone per ottenere il tempo di trasferimento più veloce.

Ci sono altri parametri da prendere in considerazione quando ottimizzi rclone. Diverse combinazioni di questi valori influenzeranno CPU, memoria e tempi di trasferimento per gli oggetti nel tuo bucket.

Indicatore Immettere Descrizione
--checkers int Numero di programmi di controllo da eseguire in parallelo (il valore predefinito è 8). Questo è il numero di checksum che confrontano i thread in esecuzione. Ti consigliamo di aumentarlo a 64 o più.
--transfers int Questo è il numero di oggetti da trasferire in parallelo (il valore predefinito è 4). Si consiglia di aumentare questo valore a 64, 128 o oltre quando si trasferiscono molti file di piccole dimensioni.
--multi-thread-streams int Scarica file di grandi dimensioni (> 250M) in più parti in parallelo. Questo migliorerà il tempo di download di file di grandi dimensioni (il valore predefinito è 4).
--s3-upload-concurrency int Il numero di parti dei file di grandi dimensioni (> 200M) da caricare in parallelo. Questo migliorerà il tempo di caricamento di file di grandi dimensioni (il valore predefinito è 4).
{: caption="Opzioni di rclone " caption-side="top"}

La migrazione dei dati tramite rclone copy copia ma non elimina i dati di origine.

Il processo di copia dovrebbe essere ripetuto per tutti gli altri bucket di origine che richiedono migrazione/copia/backup.