[Network FS] Hoe mijn bestanden te delen?

Pagina: 1
Acties:

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025
Ik wil graag op mijn kamer(tje) en op mijn werk een klein aantal bestanden (ca. 10)beschikbaar hebben (ca 80 mb). Hoewel het niet vaak voor zal komen, is het mogelijk dat er aan allebij de kanten gelezen en geschreven wordt. Meestal wordt het echter niet tegelijktertijd gebruikt, en heb ik graag op beide plekken hoge performance op zowel lezen als schrijven. Bij uitval van bijvoorbeeld stroom of netwerk vind ik data corruption geen groot bezwaar, uiteraard heb ik dat liever niet :). De te delen bestanden zijn onderdeel van een file-based DBMS, een beetje in de stijl van dbaseIII. Dit houdt in dat er ongeveer evenveel gelezen als geschreven wordt, en dat er wijzigingen maar heel klein zijn. (enkele bytes).

De ene kant heeft een chello lijntje (2mbit theoretisch), de andere kant maakt gebruik van een 1mbit geknepen lijn van luna. De gemiddelde afstand tussen de twee machines is ongeveer 13 hops dat doorgaans een vertraging van ongeveer 40 tot 60 ms. Van mijn kamer naar mijn werk heb ik een praktische bandbreedte van 15 kB/s, andersom is dat ongeveer 20 kB/s.

Aan allebei de kanten draait er debian/woody (2.4). Indien nodig heb ik een webserver tot mijn beschikking die ook debian/woody draait (2.2). Die webserver kan 100mbit trekken, maar wordt geknepen op 16 mbit. Alle genoemde systemen hebben een vrijwel permanente uptime.

opties
RSync is efficient met zijn dataoverdracht. Alleen de wijzigingen worden overgestuurd. Een groot nadeel (en voor mij showstopper) is het feit dat simultaan schrijven en lezen niet mogelijk is. Met wat scripting zou een geavanceerd locking systeem te schrijven zijn om conflicten te voorkomen, maar dat gaat in de praktijk waarschijnlijk alleen maar ergernissen opleveren.

NFS (en samba etc) sharen hun bestanden, maar cachen niet echt structureel. Dit betekent dat ik op mijn werk, of op mijn kamer een belabberde performance ga krijgen.

mijn oplossing
Graag zou ik een kruising zien tussen RSync en NFS, dat houdt in: Alle bestanden staan aan allebei de kanten en worden continue gemirrord. Lees performance is hoog, schrijfperformance matig indien aan beide kanten geschreven wordt, anders relatief hoog.

Het grote probleem: Ik weet niet of het bovenstaande systeem bestaat, en hoe het dan zou heten. Heeft iemand een idee?


(ik heb de search wel gebruikt, maar NFS, network filesystem en filesharing zijn te algemene termen in de toch al niet te frisse search)

Localhost, sweet localhost


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Volgens mij is CODA of InterMezzo zo'n beetje wat je zoekt.

In dit topic staat wat meer informatie (en linkjes) :).

"He took a duck in the face at two hundred and fifty knots."


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025
Inderdaad zijn clustered filesystems een goede optie... Ik ga vannavond maar eens een paar uurtjes docs lezen. Algemener vraagje: Het lijk er op alsof alles in expirimental of beta status is... Klopt dat?

Localhost, sweet localhost


Verwijderd

Als je SunOS machines hebt aan beide kanten zou hebben, zou je gebruik kunnen maken van nfs + cachefs. Aangezien dit geen optie is voor linux (brakke nfs support + geen cachefs) zou je evt nog gebruik kunnen maken van AFS wat wel een vorm van caching ondersteund...

En als antwoord op je algemene vraag: Ja, meestal wel, maar daar doen we het toch voor 8)

[ Voor 15% gewijzigd door Verwijderd op 27-12-2002 17:59 ]


Verwijderd

AFS. AFS heeft wel caching. www.openafs.org

  • mpol
  • Registratie: September 2002
  • Laatst online: 19-01 18:45

mpol

root@localhost

De te delen bestanden zijn onderdeel van een file-based DBMS
Is dat een database? Ik heb geen verstand van dbms....
Je zegt dat er aan beide kanten read write plaatsvind. Het probleem is natuurlijk dat bij gewone bestanden al versieproblemen komen wanneer er door 2 clients gecached en daarna gesyncd wordt. Welk systeem je ook gebruikt. Bij gewone bestanden valt er nog eens wat te repareren, bijv een diff draaien van textbestanden, of hoe dan ook. Bij een database kun je dat schudden. Dat draait gewoon stuk.
Als je een database wilt sharen zal je dat moeten doen op de manier zoals dat bij die database bedoeld is, hoe dat opgezet is. Dat moet je dan niet op een gewone nfs, of een distributed filesystem zetten.
Wil je een database wel compleet distribueren, dan zal je dat ook via de database zelf moeten doen, dmv van replication, oid.

https://timelord.nl


Verwijderd

over welk 'file-based DBMS' praten we hier? (hopelijk LDAP, want daarbij is replication makkelijk)
Pagina: 1