# Suche Netzwerk-Dateisystem für gemeinsame Datenbank.

## Mr. Anderson

Hallo,

für folgendes Szenario suche ich ein Dateisystem:

auf einem weit entfernten Server soll das Dateisystem in einem verschlüsselten Container liegen. Jeder Client, der es nutzt, mountet (und entschlüsselt) es bei sich lokal und arbeitet damit. Dabei soll sichergestellt sein, dass mehrere Clients parallel daran arbeiten können, das heißt entsprechende Locking-Mechanismen sind wohl schwer zu vermeiden. Außerdem soll auch eine Datenbank gespeichert sein, die von sämtlichen Clients gemeinsam genutzt wird. Byte-Range-Locking sollte also auch möglich sein.

Welche Dateisysteme kommen da in Frage?

Über einen Tipp für eine geschickte Verschlüsselung, die damit gut zusammenarbeitet würde ich mich auch freuen.  :Smile: 

Danke.

----------

## AmonAmarth

es fehlen noch informationen bezüglich der zugriffsmethoden. kannst du block devices exportieren (iSCSI, infiniband, etc) oder muss das dateisystem auf dateisystemebene funktionieren wie zb. glusterfs? glusterfs würde deinen ansprüchen genüge tun, außer der punkt verschlüsselung. es gibt zwar verschlüsselung als plugin fähigkeit und man hat schon "ROT13" als beispiel implementiert, aber das kann man ja wohl nicht wirklich als verschlüsselung bezeichnen.

wenn deine clients auf den server über verschlüsseltes VPN zugreifen, brauchst du aber auch keine verschlüsselung des dateisystems da das layer unten drunter die arbeit verrichtet.

----------

## Mr. Anderson

Nach Möglichkeit sollte das Dateisystem in einer eigenen Datei liegen und beim Client loop?-gemountet werden. Die Verbindung zwischen Client und Server geschieht über TCP/IP (gemieteter Server). Da die Internetverbindung auch der Flaschenhals ist, braucht es keine hohe Leistung. Verschlüsselung und verteiltes Dateisystem dürfen auch zwei Dateisysteme ineinander sein, sofern kleine Änderungen im verteilten Dateisystem auch nur entsprechend kleine Änderungen im verschlüsselten Dateisystem bewirken.

VPN als einzige Verschlüsselung kommt nicht in Frage, da auch im Falle eines Einbruchs beim Server keine Daten lesbar sein sollen.

edit: ist das wirklich loop-mounten?

----------

## Mr. Anderson

Mittlerweile habe ich das Hauptproblem darauf reduziert, dass ich nicht weiß, wie ich es anstelle, dass mehrere Clients gleichzeitig auf einem zentralen Dateisystem arbeiten können und dabei das Ver- und Entschlüsseln bei sich erledigen. Das heißt, auf dem Server und auf dem Weg zwischen Client und Server sind die Daten nie entschlüsselt. Nur auf den Clients werden sie lesbar.

----------

## musv

Ich hab mal mit AOE (Ata over Ethernet) und nbd (Network Block Device) rumgespielt, da ich beim Abspielen MP3 im lokalen Netzwerk immer Stockungen hatte, was letztendlich damals aber an der blöden Vodafone-Easybox lag.

Egal, zumindest gibst du bei diesen Systemen ein Blockdevice frei. Damit sollte die clientseitige Entschlüsselung möglich sein. Jedoch hab ich meine Zweifel, was die Sicherheit beim gleichzeitigen Schreiben verschiedener Clients auf die freigegebene Partition/Platte angeht. Ich hab die Partitionen immer nur ro genutzt und Schreibvorgänge (xfs mit copy on write) beim Unmount verworfen.

Auf die Datenbank kannst du auch übers Netz zugreifen. Die musst du nicht ins lokale Dateisystem mounten.

----------

## Mr. Anderson

Habe im Forum Networking & Security noch einen Thread gestartet (https://forums.gentoo.org/viewtopic-t-868331.html).

Denkbare Ansätze, die ich aktuell habe, sindencfs auf afs

encfs auf glusterfs

cloudfs (welches auf glusterfs aufbaut)Bei ZFS bin ich mir nicht sicher, ob es wirklich das kann, was ich will.

SAN.FS von IBM und vermutlich auch der Nachfolger GPFS können anscheinend was ich mir wünsche. Eine reine FLOSS-Lösung würde ich aber bevorzugen. (Ganz davon abgesehen, dass die Kosten für GPFS-Lizenzen vermutlich völlig den Rahmen des frischen Projekts sprengen würden).

----------

## schmidicom

Das sollte doch mit iSCSI und GFS2 kein Problem sein?

Mit GFS2 können doch Problemlos mehrere Systeme über iSCSI auf ein einziges device zugreifen so als ob es eine lokale Festplatte wäre. Und dann muss jeder Client das ganze nur noch durch eine dm-crypt-loop Konfiguration jagen und fertig?

----------

## Christian99

hm, nur mal interessehalber:

Funktioniert denn das, wenn mehrere Datenbank Server auf die selben Datenbank-Daten zugreifen? Wäre es da nicht besser einen sicheren Rechner zum einzigen Datenbankserver zu machen?

----------

