Condividi / home tra datacenter


15

Ho due server, collocati presso datacenter in Olanda e Francia. Entrambi eseguono Debian Wheezy. Ho bisogno di condividere / casa tra loro, con buone prestazioni. Ci sono 300 utenti di qualcosa sui server, circa 30 di loro dovrebbero essere in grado di avere processi attivi su un determinato server in un dato momento, ognuno con letture a 50 kbit e scritture a 20 kbit / secondo, con picchi brevi intorno a 2000 kbit / s lettura. misure con iotop su memoria locale. Ho molti file di piccole dimensioni, circa 500000 in totale e ho bisogno della latenza più bassa possibile. Il ping tra server è di 17 ms e la connessione è in grado di raggiungere circa 20-30 MB / s quando si utilizza scp e wget. Sembra che ci dovrebbe essere molta larghezza di banda disponibile anche per farlo funzionare, ma ...

Quello che ho scoperto finora: sshfs: Sembrava che avesse prestazioni migliori rispetto a nfs, ma ha cambiato le autorizzazioni dei file in root, causando il crash dell'applicazione.

nfs: Modo di rallentare, ho provato a mezzogiorno un sacco di altre opzioni, ma continua a comportarsi lentamente, anche quando sono attivi solo pochi processi.

drbd: 5 ore di lavoro senza uscita, quando ho capito che non potevo effettivamente montare il filesystem su entrambi i sistemi :-(

glusterfs: Avere una copia locale di tutti i dati sembrava davvero promettente, ma l'accesso casuale ai file è molto lento e dopo un po 'di tempo diventa incredibilmente lento e quasi si blocca. noatime non aiuta.

di nuovo nfs: ancora lento.

Piangere nella tastiera: nessun miglioramento.

Cosa provare dopo? Ognuna delle prove fallite ha richiesto una serata o forse più durante l'ultima settimana e mi piacerebbe davvero che il metodo successivo funzionasse. E sì, è fondamentale che i filesystem siano condivisi tra entrambi i server.

Grazie per eventuali nuove idee su questo problema.


6
"Piangere nella tastiera: nessun miglioramento." OK, questo mi fa +1.
Ceejayoz,

Probabilmente vorrai o glusterfs o ceph. Un filesystem distribuito. Inoltre, puoi montare drbd più volte, ma solo una lettura-scrittura, ed è comunque una cattiva idea spaventosa.
Sirex,

Ho provato glusterfs e, sebbene funzioni alla grande con file di grandi dimensioni, diventa molto lento durante la lettura o la scrittura di piccoli file. Sembra essere un problema comune con glusterfs, e non sono stato in grado di trovare una soluzione per questo. Esaminerò Ceph. L'hai provato, l'hai provato tu stesso?
user3850506

3
Montare lo stesso dispositivo a blocchi e lo stesso filesystem, anche RO su un altro sistema è un juju negativo a meno che il driver del filesystem capisca che il dispositivo a blocchi di backup può cambiare arbitrariamente in qualsiasi momento. Il dispositivo a blocchi potrebbe cambiare e invalidare completamente la cache dell'inode e VFS leggerebbe felicemente i dati che non si trovano più dove pensavi. I filesystem compatibili con il disco condiviso come GFS2 e veritas possono farlo su DRBD o su qualsiasi disco simile a SAN. Non posso dire con certezza che le prestazioni dei tuoi file di piccole dimensioni saranno accettabili.
Andrew Domaszek,

Risposte:


2

Ci sono alcune possibili soluzioni per questo:

  1. Puoi optare per una memoria a blocchi replicata come DRBD (o MARS come menzionato sopra), ma devi impostare un file system del cluster in cima alla memoria a blocchi. Tali file system potrebbero essere GFS2 o OCFS2, entrambi disponibili nel kernel Debian afaik. DRBD può gestire primario / primario e puoi montarlo su entrambi i server contemporaneamente. Ma se lo fai con un file system standard, un server non è a conoscenza dell'altro e distruggeresti il ​​tuo file system in pochi secondi. Un file system cluster nella parte superiore gestirà la comunicazione e il blocco in modo che entrambi i nodi possano scrivere nello stesso blocco.

  2. Utilizzare un file system distribuito per / home. Troverai un elenco di tali file system su http://en.wikipedia.org/wiki/Comparison_of_distributed_file_systems . Ma fai attenzione e scegli con saggezza. Non tutti possono fare magie e tutti hanno i loro svantaggi. Gluster è un tale file system. Per alcuni sistemi, potresti aver bisogno di più di solo due nodi.

  3. Se non è necessario replicarlo in tempo reale e una sincronizzazione dei file quasi in tempo reale sarebbe sufficiente, dai un'occhiata a BitTorrent Sync ( http://www.getsync.com/ ), Dropbox o alternative. Ogni server ha il proprio / home, ma le modifiche vengono replicate in base ai file sull'altro server.


1
rsync ftw 123456
dmourati,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.