AllInfo

Come Montare un S3 Secchio in Locale su Linux

In molti modi, S3 secchi agire come come il cloud hard disk, ma sono solo “oggetto di archiviazione di livello”, non a livello di blocco di archiviazione come EBS o EFS. Tuttavia, è possibile montare un secchio come un filesystem, e accedere direttamente tramite la lettura e la scrittura dei file.

I Vantaggi e le Limitazioni di S3 come un Filesystem

La magia che rende tutto questo lavoro di messa a punto è un programma di utilità chiamato s3fs-fusibile. FUSIBILE sta per Filesystem in Userspace e crea un montato il filesystem virtuale. s3fs interfacce con S3, e supporta un ampio sottoinsieme dello standard POSIX, tra cui la lettura, la scrittura, la creazione di directory e file di impostazione di metadati.

Uno dei grandi vantaggi di utilizzare S3 rispetto al tradizionale metodo di archiviazione è che è molto efficace per la memorizzazione di oggetti individuali a lungo termine, con nessun limite sul totale dimensione del secchiello. È possibile memorizzare un massimo di 10 foto o 10 milioni di foto in S3, e lavorerò in gran parte la stessa. In applicazioni In cui è necessario un grande (e costoso) del disco, S3 ha un senso, e se l’applicazione che si sta integrando voglia di accesso ai file, questo è un buon modo per collegare i due.

Naturalmente, non è senza limiti. Mentre si lavora abbastanza relativamente ad un S3 API in termini di prestazioni, la memorizzazione e il recupero di tutto il file, ovviamente non sostituisce il molto più veloce (network attached storage blocco completamente. C’è un motivo per questa configurazione non è supportata ufficialmente da AWS—si incorrerà in problemi di concorrenza con più clienti utilizzando i file, soprattutto se si dispone di client in diverse regioni di accedere allo stesso secchio. Naturalmente, S3 dispone anche di questa limitazione, e non ti impedirà di avere più client collegati, ma è più evidente quando il FUSIBILE sembra dare “diretta” di accesso. Non è, e dovrete tenere queste limitazioni in mente.

AWS ha un servizio simile a questa—Storage Gateway, che può agire come un NAS locale e fornisce locale del blocco di archiviazione supportata da S3. Tuttavia, questo è più di una soluzione enterprise, e richiede un intero server fisico per distribuire un’immagine di VMWare. s3fs, invece, è un semplice server di soluzione, anche se non fa molto di memorizzazione nella cache.

Quindi, se è possibile di convertire le applicazioni utilizzando le API S3 piuttosto che un FUSIBILE, lo si dovrebbe fare, invece. Ma, se si sta bene con un po ‘ di hacky soluzione, s3fs può essere utile.

Impostazione s3fs-fusibile

Rispetto a come hacky è, è sorprendentemente facile da impostare. s3fs-fusibile è disponibile dalla maggior parte dei gestori di pacchetti, anche se può essere chiamato solo s3fs su alcuni sistemi. Per i sistemi basati su Debian, come Ubuntu, che sarebbe:

sudo apt install s3fs

Devi creare un IAM utente e dargli i permessi per accedere al secchio che si desidera montare. Alla fine, si otterrà una chiave di accesso segreta:

È possibile incollare questi standard AWS credenziali file ~/.aws/credenziali, ma se si desidera utilizzare una chiave diversa, s3fs supporta una password personalizzata di file. Incollare l’ID della chiave di accesso e segreto in /etc/passwd-s3fs , nel seguente formato:

eco ACCESS_KEY_ID:SECRET_ACCESS_KEY > /etc/passwd-s3fs

E assicurarsi che le autorizzazioni in questo file sono impostati correttamente, o ti lamentare:

chmod 600 /etc/passwd-s3fs

Quindi, è possibile montare il secchio con il seguente comando:

s3fs secchio-nome /mnt/secchio nome

Se questo non funziona, è possibile attivare l’output di debug con un paio di bandiere:

-o dbglevel=info -f -o curldbg

Se si desidera che questo per montare al boot, è necessario aggiungere a /etc/fstab:

s3fs#secchio-nome /mnt/secchio nome fusibile _netdev,allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0

Exit mobile version