Vor einiger Zeit wurde mir klar, dass ich eine zentrale Lösung brauche, auf der ich meien Daten möglichst sicher speichern kann.
Ich habe mich also Erkundigt – verschiedene Systeme berücksichtigt – und bin final zu dem Schluss gekommen – Fertiglösungen taugen nichts, es wird mal wieder Zeit zum basteln :-)
Also habe ich mich erkundigt und ein energiesparendes System zusammengestellt, welches meinen Ansprüchen genügt.
Komponenten:
- Mainboard – Zotac NM10-DTX
- Gehäuse – Chenbro ES34069
- RAM – 2 x 2 GB Kingston
- HDD – 4 x 2 TB SAMSUNG HD203WI
- SSD – 32 GB Transcend TS32GSSD25S-M
Auswahl der Komponenten:
Mainboard:

Das Mainboard hat folgende einzigartigen Features, welche für mich entscheidungskritisch waren und alle anderen Mainboards ausschloss:
- Atom D510 Prozessor , 1.6GHz Dual Core mit Hyperthreading (4 Virtuelle Cores)
- 6 Sata Anschlüsse (4 „echte“ Anschlüsse, 2 x SATA intern, 1 x eSATA, 1 x 4-fach SATA Multiplier)
- 2 Bänke für normalen DDR-2 Speicher
- DTX-Baugröße (Passt in das bevorzugte Gehäuse)
- Passiv gekühlt
Eine anderes Mainboard mit 6 internen SATA Ports und aktuellem D510 Prozessor in der ITX/DTX Baunorm gab es zum Kaufzeitpunkt nicht.
Gehäuse:

Das Gehäuse ist ausgelegt als kleines NAS Gehäuse:
- Integriertes 4x SATA Backplane
- Mini-ITX/DTX Baunorm
- Externes, passives 120 Watt Netzteil mit hohem Wirkungsgrad
- Formschön :-)
SSD:

- 32 GB Speicher
- Für 25€ aus zuverlässiger Quelle gebraucht erworben
- Stromsparend
- Vibrationsfrei
Zusammenbau war einfach – inbetriebnahme ebenso.
Als Betriebssystem kommt FreeBSD 8 zum Einsatz, da FreeBSD zum einen ein hervorragendes Serverbetriebssystem ist und zum anderen Unterstützung für ZFS bietet – einem Copy-on-Write Dateisystem mit Snapshots. Das Betriebssystem ist auf einem UFS formatierten Slice auf der SSD installiert. Für die Dateisysteme auf der SSD ist die Mount-Option „no-atime“ gesetzt, wodurch die Zugriffszeitpunkte auf Dateien nicht gespeichert werden. Dies erhöht die Lebensdauer der SSD, indem Schreibzugriffe minimiert werden.
Die 4 Festplatten sind mit ZFS formatiert und laufen im Raid-Z. Hierdurch kann eine der 4 Festplatten ausfallen ohne die Dateisystemintegrität zu gefährden. Die Paritätsdaten aller Festplatten werden gleichmäßig über alle Platten verteilt. Zusätzlich wird die korrektheit der Paritätsdaten einmal in der Woche geprüft. Die „/tmp“ und „/var“ Verzeichnisse sind auf das ZFS-Dateisystem ausgelagert, da hier oft temporäre Dateien geschrieben werden. Dies verringert Abermals die Schreibzugriffe auf die SSD und erhöht die Performance.
Auf dem Server läuft ein Cronjob der in regelmäßigen Abständen Snapshots der ZFS Dateisysteme erstellt. Ein Snapshot ist eine Speicherplatzsparende Sicherung des aktuellen Zustandes eines Dateisystems.
Hintergrund: Auf einem ZFS Dateisystem werden bei jeder Schreiboperation die zu schreibenden Daten in einen noch leeren Datenblock geschrieben – die alten Daten bleiben erhalten. Das bedeutet, dass wenn eine Datei geändert wird, die Änderungen erstmal noch erhalten bleiben. Erstellt man nun einen Snapshot, so wird der aktuelle Zustand des Dateisystems festgehalten. Snapshots kosten also erstmal keinen Platz, bis Änderungen an Dateien vorgenommen werden.
Funktion im Netzwerk: Der Server stellt das ZFS Dateisystem einerseits per NFS und andererseis per AFP zur Verfügung. Die NFS Freigabe kann sowohl auf Computern mit Mac OS X als auch Windows oder Linux verwendet werden. Die Freigabe per AFP erlaubt es Apple Computern ihre Backups per Time-Machine auf den Server zu erstellen.
Fazit: Ich bin mit dem Server sehr glücklich und zufrieden. Mitlerweile habe ich noch meinen Jabber-Server auf ihm eingerichtet und ein paar andere Funktionen auf ihn ausgelagert. Er läuft sehr stabil und leise. Letzteres insbesondere dadurch, dass das Mainboard samt Prozessor komplett passiv gekühlt wird. Die 4 Festplatten werden momentan von einem 70cm Lüfter gekühlt, womit sie im Betrieb bei ca 40° handwarm laufen.
Dies war mein erster Blogpost bei Azureus – ich hoffe er hat euch gefallen – auch wenn er voller Techtalk ist.
Euer iD4G
5 Antworten auf „Fila – ein kleiner Fileserver“
Tolles how to!
…es sieht gut aus, die technischen daten sind auch toll… ich habe jetzt die gleiche konfiguration. das einzige wo ich nicht weiterkomme ist das ich für meine vier sata platten kene möglichkeiten sehe sie einzeln zu betreiben. lange rede kurzer sinn, wie sind deine bios enstellungen.
*bert
Hi!
Freut mich, dass es Dir gefällt.
Nun zu Deiner Frage:
Die Bios Konfiguration ist bei für den „onboard controller“ auf „AHCI“ eingestellt. Der Sata-Multiplier steht auf „Single Disc“. Damit wird beim Booten auch in der Raid Configuration nur eine einzelne Platte angezeigt.
Beim booten erkennt FreeBSD jedoch jede einzelne der Platten.
Kleiner Tip:
Sollten die Platten garnicht anlaufen: Im laufenden Betrieb einfach alle Platten die nicht anlaufen, einmal aus dem Backplane ziehen und neue reinschieben. Dann werden sie erkannt. Dies muss nur einmal initial passieren. Anscheinend erkennt der Raid Controller nur dann die Platten, wenn sie einmal während er aktiv war, eingeschoben wurden.
Viele Grüße
iD4G
vielen danke für deine tips!
aber irgendwie habe ich es nicht geschafft die platten unabhängig von einander in betrieb zunehmen – vielleicht liegt es daran, dass bei mir freenas zum einsatz kommt?!
anyway, mit dem gigabyte board „d510 ud“ läuft mein server. ich hätte noch eine frage zu den cron jobs. wie sind deine einstellungen bzw. wie oft lässt du ein snapshot machen? und noch ’ne frage, hast du irgendwelche zfs tunings bei dir laufen?
neugierige grüße,
bert
Hallo!
Also, ich habe keinerlei ZFS Tunings aktiviert, das läuft auch so einwandfrei.
Zu den Cronjobs:
Ich hab dafür ein spezielles Script geschrieben. Ich erstelle stündliche, nächtliche, wöchentliche und monatliche Snapshots, die rotiert werden. Bei Gelegenheit werde ich das script leicht modifiziert uppen.
ja vielen dank… würde mich freuen!
grüße