Tante opzioni e così poco tempo per testarle tutte ... Mi chiedo se qualcuno abbia esperienze con i file system distribuiti per lo streaming video e la memorizzazione/codifica.Luster, Gluster o MogileFS ?? per archiviazione video, codifica e streaming
Ho un sacco di enormi file video (da 50 GB a 250 GB) che ho bisogno di memorizzare da qualche parte, essere in grado di codificarli in MP4 e trasmetterli in streaming da diversi server Adobe FMS. L'unico modo per gestire tutto questo è con un file system distribuito, ma ora la domanda è quale?
La mia ricerca finora mi dice:
- Luster: maturo soluzione collaudata, utilizzata da un sacco di grandi aziende, meglio con i file> 10G è un driver del kernel.
- Gluster: nuovo, meno maturo, basato su FUSE che significa facile da installare ma forse più lento a causa del sovraccarico di FUSE. Meglio gestire un numero elevato di file più piccoli ~ 1 GB
- MogileFS: sembra essere solo per file di piccole dimensioni ~ MB, utilizza HTTP per l'accesso ?? possibile associazione FUSE in futuro.
Finora Lustre sembra il vincitore ma mi piacerebbe sentire le esperienze reali per la particolare applicazione che ho.
Anche Hadoop, Redhat GFS, Coda e Windows DFS suonano come opzioni in modo che qualsiasi esperienza sia benvenuta. Se qualcuno ha dei parametri di riferimento, per favore condividi.
Dopo qualche esperienza reale questo è quello che ho imparato:
- Luster:
- Performance: incredibilmente veloce! Posso affermare che Lustre può servire molti stream e che la velocità di codifica non è influenzata dall'accesso ai file via Lustre.
- Compatibilità con POXIS: Molto buono !. Non c'è bisogno di modificare le applicazioni per usare lustro.
- Replica, bilanciamento del carico e failover: molto male !. Per il carico di replica bilanciamento noi e failover abbiamo bisogno di fare affidamento su altri software come IP virtuali e DRDB.
- Installazione: Il peggio !. Impossibile installare da semplici mortali. Richiede una combinazione molto specifica di kernel, patch di lustro e modifiche per ottenere il risultato corretto con lo . E le patch di lustro correnti di solito funzionano con vecchi kernel che sono incompatibili con il nuovo hardware/software .
- MogileFS:
- Performance: Per file di piccole dimensioni, ma non utilizzabile per le medie e grandi file. Questo è principalmente a causa dell'overhead HTTP poiché tutti i file sono inviati/ricevuti tramite richieste HTTP che codificano tutti i dati in base64 aggiungendo un overhead del 33% a ciascun file.
- La compatibilità con POXIX è inesistente. Tutte le applicazioni richiedono di essere modificate per utilizzare mogilefs che lo rende inutile per lo streaming/codifica poiché la maggior parte dei server di streaming e gli strumenti di codifica non comprendono il protocollo MogileFS.
- La replica e il failover out of the box e il bilanciamento del carico possono essere implementati nell'applicazione accedendo a più di un tracker alla volta.
- L'installazione è relativamente facile e i pacchetti pronti all'uso esistono nella maggior parte delle distribuzioni. L'unica difficoltà che ho riscontrato è stata l'impostazione del database master-slave per eliminare il singolo punto di errore .
- Gluster:
- Prestazioni: Molto male per lo streaming. Non riesco a raggiungere più di qualche Mbps su una rete a 10 Gbps. Client e Server CPU salgono alle scritture pesanti. Per la codifica funziona perché la CPU è satura prima della rete e I/O.
- POXIS: quasi compatibile. Gli strumenti che uso possono accedere a gluster mount come normali cartelle nel disco ma in alcuni casi periferici le cose iniziano a causare problemi. Controlla le mailing list del gluster e vedrai che ci sono molti problemi.
- Replica, failover e bilanciamento del carico: il migliore! se hanno effettivamente funzionato Gluster è molto nuovo e ha un sacco di bug e problemi di prestazioni.
- L'installazione è troppo facile. La linea di comando di gestione è sorprendente e l'impostazione replicata, a strisce e volumi distribuiti tra diversi server non può essere più semplice.
Conclusione finale:
Purtroppo la conclusione è "Nessuna singola pallottola d'argento".
Attualmente abbiamo i file multimediali in Gluster3.2 in un volume replicato per l'archiviazione e la transcodifica. Finché non si hanno molti server, evitare la geo-replica e i volumi di stripe funzionano correttamente.
Quando si esegue lo streaming dei file multimediali, li copia in un volume di lustro che viene replicato in un secondo volume di lucentezza tramite DR: DB. Il server di wowza quindi legge i file multimediali dai volumi di lustro.
Infine, utilizziamo MogileFS per servire le anteprime nei nostri server di applicazioni Web.
Penso che si chiami Lustre ... – Sean
Gluster ha molti problemi con la replica. È bacato. La guarigione del volume non funziona correttamente. –
questa non è una domanda di programmazione e in realtà non appartiene a questo. Ma ... vorrei raccomandare qualche forma di software per la sincronizzazione di file come, unison, ifolder o rsync. dato che i file non sono così grandi da poterli sedere su tutti i server. Tutti i file system di clustering non sono quieti a mio modesto parere. – mog