GNU/Linux >> Linux Esercitazione >  >> Linux

File system distribuito, parallelo e tollerante ai guasti

In realtà, non credo che ci siano molte opzioni realistiche. In ordine di preferenza le mie scelte sarebbero:

  1. Amazon S3. Soddisfa tutte le tue esigenze e anche le tue qualità opzionali. Ha un ottimo track record di uptime e supporto. Non è interno; ma non è davvero un requisito che potresti aggirare, f.x. utilizzando l'accesso VPN o semplicemente il buon vecchio HTTPS... S3 sarebbe davvero la mia prima scelta, se la latenza WAN e i prezzi di Amazon funzionano per te. E se il prezzo non funziona per te, beh, dubito che una soluzione DYI finirà per essere molto meno costosa...
  2. MogileFS sembra adattarsi perfettamente alle tue esigenze. Non c'è molta attività intorno a MogileFS, ma ciò è dovuto principalmente al fatto che funziona come previsto per i suoi (relativamente pochi) utenti.
  3. Lustre ha una tecnologia davvero eccezionale alle spalle, è un normale filesystem POSIX locale (se questo è vantaggioso per te) ed è stato continuamente aggiornato nel corso degli anni. La grande domanda è se l'intera fusione Sun - Oracle avrà un impatto su Lustre. A lungo termine, se Sun gioca bene le sue carte, allora avere ZFS e Lustre sotto lo stesso tetto potrebbe portare a cose molto belle... In questo momento, penso che Lustre sia usato principalmente nelle iniziative HPC accademiche e commerciali e non nelle applicazioni Internet -- questo potrebbe non essere vero, ma se Lustre sta andando bene nelle applicazioni Internet, allora sicuramente non sta pubblicizzando bene questo fatto...

Hadoop Distributed File System (HDFS) non corrisponderebbe ai tuoi requisiti IMHO. HDFS è fantastico, ma il suo approccio simile a un bigtable significa che è meno accessibile dei filesystem di cui sopra. Ovviamente, se stai davvero cercando un'enorme scalabilità e una prospettiva a lungo termine, allora HDFS potrebbe essere la scelta giusta, con Yahoo, Facebook e altri che hanno investito nella crescita di Hadoop.

Un commento, la maggior parte dei sistemi di cui sopra copia l'intero file su 2-3 nodi per ottenere la ridondanza. Questo occupa molto più spazio rispetto alla codifica della parità / agli schemi RAID, ma è gestibile su larga scala e sembra essere la soluzione che tutti hanno adottato. Quindi non otterrai l'efficienza del 75% di cui parli...


Se fossi in me, userei GlusterFS. La versione attuale è piuttosto solida e conosco persone in alcune installazioni molto grandi sia nell'HPC che nello spazio Internet che fanno affidamento su di essa nei loro sistemi di produzione. Puoi sostanzialmente adattarlo alle tue esigenze disponendo i componenti quando ne hai bisogno. A differenza di Lustre, non ci sono server di metadati dedicati, quindi i punti centrali di errore sono ridotti al minimo ed è più facile ridimensionare la configurazione.

Purtroppo non credo che ci sia un modo semplice per soddisfare i tuoi criteri del 75% senza buttare giù le prestazioni.

Funziona su hardware di base, tuttavia le prestazioni brillano davvero quando si utilizza l'interconnessione Infiniband. Fortunatamente il prezzo di IB è davvero piuttosto basso in questi giorni.

Potresti voler dare un'occhiata ai ragazzi di Scalable Informatics e ai loro prodotti Jackrabbit come soluzione. Supportano GlusterFS sul loro hardware e il prezzo della loro soluzione è certamente in grado di competere con il costo di mettere insieme qualcosa da zero.


Linux
  1. Migliora le prestazioni del sistema Linux con noatime

  2. GZip ogni file separatamente

  3. Come reindirizzare l'output di system() su un file?

  4. Esiste un file system simile a git?

  5. File system distribuito con cache su disco locale

Come formattare le partizioni del disco in Linux

Introduzione al file system Linux

Comando Fsck in Linux (ripara file system)

SSHFS:montaggio di un file system remoto su SSH

Amministrazione di Network File System (NFS) su Linux

Che cos'è il file system Linux? Guida facile