Projekt: Home-NAS


Da ich bis jetzt schlechte Erfahrungen in Hinsicht auf Performance und Flexibilität mit fertigen NAS-Geräten (kleine Kiste für Festplatte mit Ethernet-Anschluss) gemacht habe, entschloss ich mich, das Thema selbst in die Hand zu nehmen. Natürlich gibt es NAS-Geräte, welche die Anforderungen locker erfüllen, jedoch nicht in meiner Preisklasse.

Die Anforderungen sind schnell zusammengefasst:
- Geschwindigkeit: Sie sollte min. im Bereich eines 100Mbit/s Netzwerkes liegen,
- Sicherheit: Ein einfacher Datenspiegel (Raid 1) muß mit an Bord sein,
- Flexibilität durch offene Software. D.h. nach Möglichkeit eine OpenSource-Software/-Projekt,
- Speicherplatz: So groß wie möglich,
- Leise: Lautstarke Geräte gibt es genügend auf dem Markt - die nerven!
- Energiesparend: Der Umwelt zu liebe, ein geringer Energieverbrauch ist zwingend notwendig,

Diese Anforderungen ließen mich schnell in Richtung IPC denken. Druch eine Recherche im Internet habe ich mich für folgende Bauteile entschieden:

Stückliste:

Bauteil: Hersteller: Beschreibung:
Motherboard Jetway J7F21G2E 1200MHz Mini-ITX Passiv gekühltes Motherboard mit Via Eden-Prozessor. 1,2 GHz
LAN-Karte Jetway Adapter 1x Giga Lan Gigabit-LAN Erweiterungskarte für das Jetway Motherboard
Arbeitsspeicher Kingston 1GB PC-4200 Maximal-Ausbau der Arbeitsspeichers auf 1 GB
System-Laufwerk Flash Modul 2048MB vertikal 40pin Als "System-Laufwerk" soll hier ein Flash-Modul dienen. Energiesparend, leise und klein
Gehäse Morex Venus, Aluminium, schwarz Kleines Gehäse für IPC-Boards mit 2x5,25" Schächte und Netzteil
Wechselrahmen ICY DOCK Wechselrahmen, SATA, schwarz Um schneller an die Platten zu kommen. Weiterhin haben diese Wechselrahmen eine aktive Lüftung
Festplatten Samsung SpinPoint F1 HD753LJ
Samsung SpinPoint F2 HD154UI
2x SATA-Platten mit jeweils 750GB.
2x SATA-Platte mit 1,5 TB und 5400 RPM

Aufbau:

Bevor es an den Zusammenbau geht, hier erst mal die Einzelteile:
Das Flash-Modul mit IDE-Anschluß:
Das passiv-gekühlte Motherboard:
Die Festplatten:
Der genaue Zusammenbau soll hier nicht erläutert werden. Wenn man damit Probleme hat, sollte man seine Finger von solch einem Projekt lassen.
Jedoch nachfolgend ein paar Bilder um das Ganze durchsichtiger und interessanter zu machen:

Verkabelung von weiteren USB-Ports mittels Slot-Blende und Anschluß der Front-Tasten (Power, Reset, LED usw.)
Anschluß des SATA Wechselrahmen. Es geht es etwas eng her...

Verlegung der SATA-Kabel und Front-Anschlüsse.

Übersicht über das "Gesamtkunstwerk". Man erkennt hier auch die Huckepack-Platine des Gigabit-LAN-Anschlusses (links).

Klapper- und virbationsfreie Verstauung unbenötigter Kabel...

Installiertes IDE-Flash- und RAM-Modul.

Die fertige Rückansicht. Genügend freie Ports für USB-Erweiterungen.
Und die Front-Ansicht ohne bestückte Festplatten.

Software

Als mögliche Software für den Betrieb des NAS bieten sich folgende an:
- FreeNAS, ein Ableger der m0n0wall. www.freenas.org
- OpenFiler. "Fette" Distribution für einen NAS/SAN-Filer. www.openfiler.com
- Native-Linux. Eigene Installation und Anpassung eines Linuxes.

Meine Performance-Messungen haben bei den verschiedenen Distributionen folgendes ergeben:

Messgrundlagen:
- Es wurde immer ein Raid 1 (Spiegel) konfiguriert.
- Das RAID war vollständig syncronisiert.
- Zugriff via SMB (NetBIOS-Laufwerks-Freigabe).
- Unnötige Dienst (z.B. iSCSI) wurden abgeschaltet.
- Die Ubuntu-Installation ist eine "alternate" Installation via Text-Mode mit dem aktuellsten Samba.

Distribution
Lesen / Schreiben
2 GB File
Lesen / Schreiben
100 x 10 MB Files
Lesen / Schreiben
1000 x 1 MB Files
Bereich
FreeNAS
26,6 Mbit/s / 26,2 Mbit/s
24,1 Mbit/s / 24,0 Mbit/s
21,2 Mbit/s / 21,3 Mbit/s
2,65 - 3,25 MBytes/s
OpenFiler
112 Mbit/s / 108 Mbit/s
106 Mbit/s / 104 Mbit/s
82 Mbit/s / 83 Mbit/s
10,25 - 14,0 MBytes/s
Ubuntu
320 Mbit/s / 319 Mbit/s
279 Mbit/s / 278 Mbit/s
261 Mbit/s / 261 Mbit/s
32,625 - 40,0 MBytes/s

Der Performance-Favorit ist relativ leicht aus der Tabelle zu entnehmen. Es sprechen noch andere Gründe für eine eigene Linux-Installation:
- OpenFiler hat keine eigene User-Verwaltung, sonder greift auf ein vorhandenes Directory (AD, LDAP, RADIUS, ...) zu,
- FreeNAS ist ein sehr interessantes Projekt, jedoch noch etwas unstabil. Es stürzte beim Kopieren von großen Files (> 1GB) mehrmals ab,

Faszinierend ist auch die "Onboard"-Performance des RAIDs bei der Syncronisation:

	root@nas:/proc# cat /proc/mdstat
	Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
	md0 : active raid1 sda1[0] sdb1[1]
		732571904 blocks [2/2] [UU]
		[===============>.....]  resync = 76.5% (560725632/732571904) finish=14.7min speed=82931K/sec
	
	unused devices: 
	root@nas:/procd#
Als weitere Konfiguration empfiehlt es sich, das Directory /var auch auf die Platten zu legen, da hier doch einiges an Dateibewegungen (Lock-Files, Log-Files, usw.) statt findet. Das FLASH-Modul verträgt zwar 4 Millionen Schreib-/Lösch-Zyklen, jedoch sollte man das nicht auf die Spitze treiben.

Eine Konfiguration des RAIDs wurde mittels mdadm erledigt. Nach erfolgreicher Erstellung des RAIDs stellt es sich wie folgt dar:
root@gd-nas:/# mdadm --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Mon Feb 11 14:42:07 2008 Raid Level : raid1 Array Size : 732571904 (698.64 GiB 750.15 GB) Used Dev Size : 732571904 (698.64 GiB 750.15 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Mon Feb 11 15:20:48 2008 State : active, resyncing Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Rebuild Status : 77% complete UUID : ca733071:6fd1f30b:cbce3f8a:6590c3e7 (local to host gd-nas) Events : 0.11 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 root@gd-nas:/#

Als weitere Software kommt nur noch Samba zum Einsatz. Natürlich kann auch ein FTP-, iSCSI- oder NFS-Server installiert werden. Auch das Thema WebDAV ist ganz interessant. Zumindest über Platz braucht man sich keine Gedanken machen. Es ist noch Luft für Erweiterungen:

root@nas:/# df -h
Dateisystem            Größe Benut  Verf Ben% Eingehängt auf
/dev/hda1             1,9G  587M  1,3G  33% /
varrun                474M  412K  473M   1% /var/run
varlock               474M     0  474M   0% /var/lock
udev                  474M   60K  474M   1% /dev
devshm                474M     0  474M   0% /dev/shm
lrm                   474M   34M  440M   8% /lib/modules/2.6.22-14-generic/volatile
/dev/md0              688G  387M  653G   1% /data
root@nas:/#

Energie


Ein weitere Kriterium war das Thema Energieverbrauch. Messungen haben folgende Wirkleistungen ergeben:

Leerlauf: ca. 41 W

Die genaue Aufteilung ist nicht messbar (Aufwand), ich denke aber, dass es sich wie folgt aufteilt:

Motherboard 6-7 W
Festplatten 24-26 W (Summe über Beide)
Verlust im Netzteil ~10 W
Last: ca. 55-60 W

Auch hier nur eine Schätzung:

Motherboard 6-7 W
Festplatten 36-40 W (Summe über Beide)
Verlust im Netzteil ~12 W

Fazit


Das Projekt Home-NAS ist ein Erfolg. Dies zeigt sich sehr schnell, wenn man die Ergebnisse mit den Anforderungen zusammenlegt:

Geschwindigkeit
Die Geschwindigkeit des Systems überzeugt. Jetzt lohnt sich das Thema Gigabit-Netzwerk auch im Heim-Bereich...

Sicherheit
Ein einfacher Spiegel (RAID 1) ist unter Linux kein Problem mehr und garantiert Datensicherheit beim Ausfall einer Festplatte (Hardware-Defekt).

Flexibilität
Gerade durch den Einsatz von Nativ-Linux ergibt sich eine große Flexibilität. Es können z.B. weitere Protokolle, Backup-Tools, Photo-Pages, usw. installiert werden.

Speicherplatz
Ca. 700 GB (netto) als reiner Speicherplatz sind genug. Auch für die (nahe oder ferne) Zukunft.

Leise
Das ganze System ist nicht viel lauter, als z.B. eine externe USB-Festplatte von diversen Herstellern (Klingt ähnlich wie WC :-) ).

Energiesparend
Das Thema Umweltschutz und Energieeinsparung ist hier auch ganz gut gelöst. Das System sich um einiges sparsamer als ein alter PC, welcher als NAS mißbraucht wird.



Nachtrag: 07-2009:

Der Plattenplatz - netto ca. 640 GB - geht zu ende. Darum wurden die beiden Platten gegen 1,5 TB Platten von Samsung (F2) getauscht.
Es handelt sich hier um EcoGreen-Platten, welche "nur" mit 5400 RPMs drehen, schön ruhig und kalt bleiben, aber dennoch recht performant sind.

	root@nas:/proc# cat /proc/mdstat
	Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
	md0 : active raid1 sda1[0] sdb1[1]
		1546825467 blocks [2/2] [UU]
		[====>................]  resync = 36.3% (560725632/1546825467) finish=124min speed=118931K/sec
	
	unused devices: 
	root@nas:/procd#
Man sieht, dass die neuen Platten um einiges Performanter sind. Die Temperatur im Betrieb ändert sich wie folgt.
Einbauort 750er (GD753LJ)/vorher 1,5 TB (HD154UI)/nachher
Oben 42°C 36°C
Unten 41°C 35°C


Nachtrag 08-2009:

Um das NAS etwas leiser zu machen, wurden die kleinen 40mm Lüfter getauscht und durch einen Boden-Lüfter ersetzt. Hierzu habe ich im vorderen Bereich einen Aussparung für den Lüfter gesägt. Sowohl im vorderen Bodenbereich, als auch im Netzteil kommen zwei Noctuas (NF-R8) zum Einsatz. Beide sind mit LNA auf ca. 1300 RPM gedrosselt und lärmen nun mit gerade mal 10 dB(A) - also kaum hörbar.

Aussparung im Boden. Die Abstandsfüsse sind ca. 11mm hoch, so dass genügend Luft angesaugt werden kann.

Ansicht von Innen. Der noname-Lüfter dient nur als Schablone. Zum Produktiveinsatz kommen die Noctuas NF-R8...

Der Lüfter wurde mit Gumminippel montiert um eventuelle Vibrationen nicht zu übertragen.

Hier die Plattzverhältnisse mit eingebautem Motherboard.

Temperaturen mit alter und neuer Lüftung im Vergleich. Jeweils 5min unter 100% CPU-Last:
Status CPU Motherboard
Vorher 49°C 47°C
Nachher 42°C 39°C

Copyright by Gregor Domhan