Home
» Come fare
»
Configurare l'archiviazione BLOB S3 per ownCloud Infinite Scale
Configurare l'archiviazione BLOB S3 per ownCloud Infinite Scale
Per archiviare il contenuto dei file utente in S3 con ownCloud Infinite Scale (oCIS), configura il servizio Storage-Users in modo che utilizzi il s3ngdriver, indirizzalo a un bucket preesistente e mantieni la directory dei metadati del servizio su una memoria POSIX persistente. S3 memorizza i blob dei file; non sostituisce ogni percorso dati locale di oCIS.
La configurazione riportata di seguito segue la documentazione di ownCloud Infinite Scale 8.2. Prima di apportare modifiche a un sistema di produzione, confronta i nomi delle variabili e gli esempi di implementazione con la documentazione della versione installata.
Verificare la disposizione dello spazio di archiviazione prima della configurazione.
In questo contesto, un blob è il contenuto del file memorizzato e i metadati sono le informazioni che oCIS utilizza per organizzare e trovare i file. Con S3NG, i blob vanno nell'archivio oggetti compatibile con S3, mentre i metadati rimangono su un filesystem POSIX. Mantieni tale filesystem montato in modo permanente e incluso nei backup. Il driver di archiviazione di sistema dovrebbe rimanere ocis.
Utilizzate questa breve lista di controllo pre-volo:
Scegli un provider S3 e verifica il relativo endpoint, la regione, il nome del bucket, le operazioni API S3 supportate e i limiti per le richieste multipart.
Creare il bucket prima di avviare oCIS. La configurazione S3NG documentata prevede l'esistenza di un bucket.
Crea un'identità di accesso dedicata per oCIS e memorizza la relativa chiave e il segreto nel gestore dei segreti o nelle impostazioni dell'ambiente protetto della tua implementazione.
Scegli un percorso persistente per i metadati locali e verifica che il processo oCIS possa leggerlo e scriverlo.
Per un'installazione esistente, pianifica una migrazione supportata prima di modificare il driver di archiviazione. La modifica di un'impostazione di backend non equivale a una copia o migrazione dei dati dei file esistenti.
Esempio delle tre impostazioni di archiviazione principali: S3NG per i blob utente, una radice di metadati POSIX persistente e il driver di sistema oCIS.
Crea il bucket e concedi l'accesso richiesto
Configura il bucket nella console del provider o negli strumenti di infrastruttura, quindi concedi all'identità del servizio oCIS solo l'accesso necessario per il suo bucket. La pagina S3 di ownCloud documenta una policy di base per un'API S3 in stile AWS. Sostituisci bucket-namecon il tuo bucket e adatta la sintassi della policy al tuo provider se è compatibile con S3 anziché con Amazon S3.
L'ARN a livello di bucket e l'ARN a livello di oggetto sono diversi: il primo consente di elencare il bucket; il secondo applica azioni agli oggetti al suo interno. Attenersi ai requisiti della policy del bucket S3 di ownCloud e alla documentazione della policy del proprio provider. Non incollare le credenziali in un file di policy, in un repository di codice sorgente o in uno screenshot.
L'esempio separa l'autorizzazione per l'elenco dei bucket dalle autorizzazioni per gli oggetti e per il caricamento multipart; sostituire l'ARN del bucket segnaposto.
Imposta le variabili S3NG Storage-Users
Per un ambiente di servizio o un file Compose che accetta variabili d'ambiente oCIS standard, impostare i seguenti valori. Questi valori di esempio sono segnaposto; utilizzare l'endpoint e la regione assegnati dal provider.
Monta /var/lib/ocis/storage/users(o la directory radice selezionata) su un'archiviazione POSIX durevole. Non puntare questo percorso di metadati al bucket S3. Inserisci la chiave di accesso e il segreto in modo sicuro; i riferimenti alle variabili sopra riportati presuppongono che la tua distribuzione fornisca tali valori segreti. L'endpoint deve essere raggiungibile dal servizio oCIS e il nome del bucket, la regione e le credenziali devono fare riferimento allo stesso account provider e allo stesso bucket.
Se si utilizza ocis_fulll'esempio Compose modulare di ownCloud, il relativo overlay S3 opzionale utilizza un'impostazione specifica per l'esempio S3NGe un s3ng.ymlfile di configurazione separato. Seguire tale esempio come modello di implementazione completo, anziché combinarlo ciecamente con un altro file Compose. Consultare l' esempio di implementazione Compose ufficiale di oCIS e la documentazione di riferimento sull'ambiente Storage-Users .
Inserisci l'endpoint, la regione e il bucket del tuo provider; evita di includere le chiavi di accesso e segrete nella configurazione definitiva.
Dimensioni dei caricamenti multipart per i file previsti
I file di grandi dimensioni vengono caricati in blocchi multiparte. Amazon S3 documenta una dimensione massima dell'oggetto di 5 TiB e un limite di 10.000 parti; la dimensione di ciascuna parte deve essere compresa tra 5 MiB e 5 GiB. La dimensione predefinita di ciascuna parte documentata da S3NG è di 16 MiB. Con questa impostazione predefinita, il limite del numero di parti può diventare il limite massimo effettivo prima di raggiungere la dimensione massima dell'oggetto stabilita dal provider. La pagina relativa alla versione 8.2 di ownCloud stima un limite predefinito di 160 GiB; utilizzare la dimensione della parte configurata e le regole del proprio provider per calcolare un limite massimo sicuro e lasciare un margine.
L'unico parametro multipart che ownCloud documenta come configurabile qui è STORAGE_USERS_S3NG_PUT_OBJECT_PART_SIZE. Aumenta la dimensione della parte se la dimensione del file supportato richiederebbe più di 10.000 parti. Il valore è un uint64(un intero senza segno), quindi configuralo come numero di byte, non come una stringa con "MiB" aggiunto. Mantienilo entro l'intervallo documentato di 5 MiB–5 GiB e verifica che il tuo provider S3 supporti il valore scelto. Per un oggetto di 5 TiB su 10.000 parti, la parte media dovrebbe essere di 500 MiB.
Riservate inoltre spazio di archiviazione temporaneo sull'host o sul container oCIS: ownCloud specifica che necessita di una capacità temporanea almeno pari alla dimensione massima prevista per il file, al fine di memorizzare temporaneamente i dati in arrivo. Un bucket e credenziali validi non impediranno gli errori causati da un limite di partizione insufficiente o da un disco temporaneo pieno. Consultate i limiti di caricamento S3 di ownCloud e il relativo riferimento al tipo di variabile d'ambiente .
Applicare, verificare e proteggere i dati
Dopo aver salvato la configurazione, riavviare o ridistribuire oCIS seguendo la procedura specificata per la propria installazione. Controllare i log del servizio per individuare eventuali errori di configurazione, endpoint, autorizzazioni o connessione. Quindi eseguire il controllo del blobstore nello stesso ambiente di runtime configurato per oCIS:
ocis storage-users blobstore check
Questo comando di manutenzione utilizza il blobstore configurato ed esegue un ciclo completo di caricamento, download ed eliminazione con un payload di prova casuale. Si tratta di un controllo mirato dello storage, non di una garanzia che ogni flusso di lavoro rivolto all'utente o ogni caricamento di grandi dimensioni avrà successo. La documentazione di riferimento del comando blobstore ne descrive le opzioni, inclusa la possibilità di configurare la dimensione del payload di prova.
Eseguire questo comando con la stessa configurazione oCIS per verificare il blobstore configurato; l'immagine non mostra alcun risultato del test.
Infine, carica un piccolo file di prova tramite il client o l'interfaccia web e verifica che venga visualizzato e si apra correttamente. Per la distribuzione di file di grandi dimensioni, testa anche un file di dimensioni rappresentative prima di affidarti alla configurazione. Un test di successo con un piccolo file non convalida la capacità multipart o lo spazio su disco temporaneo disponibile.
Eseguire il backup degli oggetti S3 e dei metadati POSIX, della configurazione e degli altri dati oCIS necessari come un set coordinato. Le linee guida di ownCloud per il backup raccomandano di arrestare l'istanza per eseguire il backup e di gestire separatamente i blob S3 archiviati esternamente. Conservare copie ripristinabili di entrambi i livelli di archiviazione e testare una procedura di ripristino prima di considerare l'implementazione protetta: considerazioni sul backup di ownCloud .
Lista di controllo rapida per la convalida
STORAGE_USERS_DRIVERè s3ng; la memoria di sistema rimane ocis.
La directory radice dei metadati è un archivio POSIX persistente e il bucket S3 esiste già.
L'endpoint, la regione, il bucket, le credenziali e la policy corrispondono allo stesso account del provider.
La gestione di parti multiple, la capacità di 10.000 parti e l'archiviazione temporanea coprono il file pianificato di maggiori dimensioni.
Il controllo del blobstore ha esito positivo, il caricamento da un client reale si apre correttamente e sia i metadati che il contenuto del bucket sono inclusi nei piani di backup e ripristino.