Fileserver

RobJ

Well-Known Member
Hallo und frohe Ostern!

ich versuche eine Entscheidung abzuwägen. Mein bevorzugtes System wäre ZFS mit geli auf FreeBSD. Doch dagegen sprechen die Berichte des noch nicht stabilen ZFS.
Ein Fileserver soll Dateien verschlüsselt ablegen und über Samba/NFS zur Verfügung stellen.
Folgende Alternativen beschäftigen mich:

1. FreeBSD mit geli und ZFS (RaidZ) auf 64Bit System mit 4GB RAM und 8fach SATA Controller.

2. FreeBSD mit geli und ufs auf Hardwarer SCSI-Easyraid mit SCSI Controller auf C7 Board mit >=1GB RAM.

3. OpenSolaris/Nexenta mit ZFS auf DualXeon (ULV) und viel RAM mit 8-fach SATA Controller.

4. OpenSolaris/Nexenta mit ZFS auf C7 mit viel RAM mit 8-fach SATA Controller.

5. FreeBSD mit geli auf geom basiertem Software Raid auf C7Board >=1GB RAM; späterer Umstieg auf ZFS fällt leicht.

6. Debian mit dm-LUKS auf LVM und Soft- oder Hardwareraid.

Es lassen sich noch beliebige Mischformen aus den Alternativen bilden.
Daneben habe ich noch offene Punkte:

1. RaidZ lässt sich noch nicht um einzelne Platten erweitern/verrigern, oder?

2. Können in einem Linux LVM einzelne Platten entfernt werden? Hinzufügen müsste ja schon klappen.

3. Gibt es verschlüsselte Filesysteme unter Opensolaris/Nexenta? Hab bisher nichts gefunden.

Das Ziel ist ein stromsparendes 24x7 dauerlaufendes System mit >20MB/s Verfügbarkeit der (ent-)verschlüsselten Daten.

Vielleicht habt Ihr Ideen/Anmerkungen dazu?
Danke vorab für Eure Mühe.

Viele Grüße
Christian
 
Ich verstehe die Anforderung der transparenten Verschlüsselung nicht, weil es sich ja um nen Fileserver handelt. Das Dingen ist an - über nfs und samba kann man die Daten recht einfach abgreifen.
Aber egal, zur Sache - wieviel Speicherplatz willst du zur Verfügung stellen und muss dieser Speicherplatz auf einer Partition zusammengefasst sein?

Ein einfaches ufs2 mit 16fach SATA-escalade+BBU, und 1GB RAM in Erwägung gezogen?
Preislich interessant und performant...
 
Also einmal sollte gesagt sein, dass man ZFS sowohl unter Solaris als auch unter FreeBSD mit Vorsicht behandeln sollte. Zwar ist Solaris einige Versionen weiter und ein Haufen Probleme - darunter vor allem Verklemmungen - wurden beseitigt, aber auch dort ist die Fehlerliste länger als Abrahams Bart. Also nur wegen ZFS auf Solaris zu setzen ist daher vielleicht nicht ganz so optimal. Und wie du schon schriebst, ein RaidZ lässt sich im Moment in der Größe nicht ändern, was das ganze eher zum Spielzeug degradiert.

So, nun noch Empfehlung: Du möchtest eine relativ hohe Verfügbarkeit erreichen, kombiniert mit ausreichender Geschwindigkeit. Wenn du ein RAID5 möchtest, was hier ja durchaus sinnvoll wäre, würde ich im Moment immer noch auf jeden Fall den Weg über einen Hardwarecontroller gehen. RaidZ ist einfach noch nicht weit genug um so eins zu ersetzen, andere Lösungen sind langsam und stehen nicht ganz zu unrecht im Ruf eher langsam zu sein.
Ich würde daher ein System im mitleren Leistungsbereich zu Grunde legen. Athlon X2CV BE-2350, 2GiB RAM, entsprechendes Mainboard mit möglichst vielen PCIe Slots. Darauf einen 3Ware Controller mit BBU und natürlich PCIe Interface, eine Intel NIC im PCIe. Als Speichermedium acht Seagate Platten der NS-Serie mit 24/7 Freigabe. Davon packst du sechs Platten in ein RAID5, zwei kleinere Platten packst du in ein RAID0. Die Daten liegen in folgendem Stack auf dem RAID5: Hardware-RAID -> GELI -> GJournal -> FFS (UFS2). Auf das RAID0 legst du das Journal und die Swap. Hierdurch erreichst du recht hohe Verfügbarkeit, da kein fsck gebraucht wird. Die Kiste ist also schnell wieder hoch. Als schönen Eebeneffekt ist das RAID5 dank GJournal auch noch geringfügig schneller als mit Softupdates. Wenn das RAID0 mal durchknallen sollte, ist es auch egal, da ja keine Nutzdaten drauf liegen.
GELI nutzt crypto(5) als Backend und ist damit multithreadfähig. Es kann also mehrere CPUs auch sinnvoll nutzen. So ein oben vorgeschlagener Athlon dürfte dort durchaus seine 25MB/s bringen, wenn mehr benötigt wird, ist es sinnvoller auf mehr CPUs zu setzen - also Opterons oder Xeons (die aber am besten nur Dualcore) - als auf mehr Herzen. Allerdings machen mehr CPUs die Sache nicht stromsparender. Alternativ vielleicht eine Cryptokarte, wobei mir keine mit PCIe-Sockel bekannt ist. Interessant wäre vielleicht auch eine VIA-Cpu, da deren Hardwarecrypto auch aktuelle CPUs in vierfacher Ausführung erreicht, aber deutlich weniger Strom verbraucht. Hier stellt sich aber meist das Problem der PCIe-Sockel.
 
Zuletzt bearbeitet:
Hallo troll,

Ich verstehe die Anforderung der transparenten Verschlüsselung nicht, weil es sich ja um nen Fileserver handelt. Das Dingen ist an - über nfs und samba kann man die Daten recht einfach abgreifen. ...

Aber nur für den Fall, DASS der Rechner läuft. Sobald er runter gefahren wird, müssen die Daten sicher sein.

Aber egal, zur Sache - wieviel Speicherplatz willst du zur Verfügung stellen und muss dieser Speicherplatz auf einer Partition zusammengefasst sein?
...

Es sollen 8x750 GB sein. Schick finde ich den SCSI Ansatz mit einem Infortrend Hardwareraid. Zwei schmucke Gehäuse, und das Thema ist erledigt. Sollte es mal mehr Speicher brauchen, ließe sich die SCSI Kette verlängern mit einem zweiten Raid. Leider ist man immer an den Raidcontroller gebunden. Deshalb kam mir der Gedanke, ZFS zu verwenden.

Ein einfaches ufs2 mit 16fach SATA-escalade+BBU, und 1GB RAM in Erwägung gezogen? Preislich interessant und performant...

Ja, hab' ich. Wie bekomme ich die vielen Platten nur ordentlich gekühlt?
Ein Bigtower bringt es nicht. Ordentlich wäre wohl ein Chenbro:
http://http://cgi.ebay.de/Chenbro-Servergehaeuse-3HE-RM31408-Sata2-SAS-Backplane_W0QQitemZ130207773798QQihZ003QQcategoryZ47789QQssPageNameZWDVWQQrdZ1QQcmdZViewItem

Ist leider ein wenig teurer.

Grüße
Christian
 
Ich hab meine AMD X2 mal auf 1000Mhz gestellt und geguckt wie der Durchsatz so is:

geli (Blowfish 192) ==> 38MB/s

OpenSSL auch auf 1000Mhz, nutzt nur eine CPU:
Code:
openssl speed aes-128-cbc aes-192-cbc aes-256-cbc bf-cbc
[...]
OpenSSL 0.9.8e 23 Feb 2007
built on: Thu Mar 13 14:11:16 CET 2008
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx) 
compiler: cc
available timing options: USE_TOD HZ=128 [sysconf value]
timing function used: getrusage
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
blowfish cbc    113006.04k   120331.57k   121961.92k   122639.04k   122721.97k
aes-128 cbc      59588.31k    60275.95k    60940.38k    61120.69k    61185.82k
aes-192 cbc      52326.15k    52874.88k    53417.63k    53548.42k    53572.12k
aes-256 cbc      46137.48k    46615.76k    46996.25k    47090.69k    47093.99k
 
Ja, hab' ich. Wie bekomme ich die vielen Platten nur ordentlich gekühlt?
Ein Bigtower bringt es nicht. Ordentlich wäre wohl ein Chenbro:

Ja, das Problem hast du immer. Ich selbst halte Backplanes für die "vernünftigste" Lösung, "vernünftig" in Anführungsstrichen, weil es auf die Location ankommt, wo die Kiste steht. 4xSATA kann man noch mit dem 120er Gehäusekühler ruhig halten, bei 8 Platten muss meistens was raus. Daher halte ich sauber angeordnete Backplanes für sinnvoll. Wenn die Kiste nur in nem Serverschrank in einem Büro steht, dann wirds allerdings sehr laut.
 
Zurück
Oben