FreeBSD Fileserver - Fragen

-Nuke-

Well-Known Member
Hallo.

Ich plane mir nächsten Monat einen Fileserver zu bauen. Geplant sind so ca. 500 EUR "Erst"-Einsatz. ;) Jetzt habe ich ein paar Fragen rund um meine bisherige Planung und ich liste hier sie noch mal auf für mich zum merken und auch für euch, ob ihr mal bitte drüber gucken würdet ^_^

Zur allgemeinen Hardware:
Das Mainboard sollte einen IDE-Anschluss für Systemplatte und CD-Laufwerk und 6 SATA-Ports haben. Zuerst sollen nur 3 x 1,5 TB Festplatten rein. Später dann noch mal 3 Festplatten unbestimmter Größe.

Maximale Transferleistung ist nicht unbedingt entscheidend. Der Fileserver dient hauptsächlich zur Bereitstellung von DVD-Komplett-Rips (legal, Originale stehen im Schrank) und Musik-Daten. Schnell wäre natürlich trotzdem schön. ;) Aber z.B. eine schnellere Netzwerkkarte kann auch später eingebaut werden, da ich momentan eh nur einen 100MBit/s Switch habe.

Rausgesucht habe ich mir auf die schnelle mal das hier, fest steht es noch nicht, da ich erst in ca. 2-3 Wochen bestellen will:

Athlon X2 2,8 Ghz
4GB RAM DDR2-1066
ASRock K10N78 (hat GLAN, VGA, etc. OnBoard)
3 x Samsung HD154UI 1,5 TB (ggf. nehme ich doch noch 7200 U/min Platten, mal schauen, muss noch genauer vergleichen)

1. Was würdet ihr als System-Datenträger empfehlen?: Da von dort nur beim Booten gelesen wird und ich eigentlich auf großartiges Logging (da Privat) verzichten kann, dachte ich zur Haltbarkeit und Stromverbrauch an eine 4GB oder 8GB-CompactFlash-Karte mit IDE-Adapter. Spricht was dagegen? Oder besteht sogar eine einfache Möglichkeit einen USB-Stick zu nutzen? Was meint ihr? Eine IDE-SSD kommt aus Kostengründen nicht in Frage.


Zur Software allgemein:
Ich dachte an FreeBSD 8 (amd64) in einer minimalen Installation. Die Platten sollen in einem ZFS RAID-Z verbunden werden. Die 3 zukünftigen Platten dann ebenfalls in einem RAID-Z und dann zum Pool hinzugefügt. Die Daten sollen dann ganz einfach per NFS freigegeben werden (Clientseitig nur OS X). Mehr soll eigentlich gar nicht passieren, daher kann ich, denke ich, sogar auf weitere Ports verzichten, um das System schlank zu halten.

Bei der Datenplatten-Partitionierung dachte ich an GPT.

2. Muss ich da immer diese ganzen Partitionen (boot, etc.) anlegen, oder reicht es da auch einfach eine große GPT Partition anzulegen, die über die ganze Platte geht? Die Platten sollen reine Datenplatten werden. Davon soll weder gebootet noch sonst was werden.
Keine Partition für Datenpools nötig.

3. Ich habe in den unteren Links gelesen, dass man seinen Platten eindeutige Namen mit glabel geben soll, da es besser für ZFS wäre. Ist das noch so korrekt?
http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009377.html
http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009378.html

So, ich denke das war es erst mal :)
 
Zuletzt bearbeitet:
bei mir läuft sowas ganz ähnliches, mit leicht unterschiedlicher HW.
Ich bekomme noch nicht ZFS13, weil die passenden BSD oder OpenSolaris Versionen nicht von einem Stick booten wollen (auf meiner HW, auf einem ganz ähnlichen PC bootet es problemlos, auch ohne Labels).
USB-Stick ist sinnvoller und besser, als CF-Karte. Die Lebensdauer dürfte größer sein, das Handling ist einfacher. Bei mir hane ich den Anschluss ins Gehäuse verlegt, so dass nicht versehentlich jemand mal den Stick im Betrieb ziehen kann. Trotzdem ist schnell auch mal ein anderes System (etwa ein Klon des Sticks) außen angesteckt und gebootet. Dazu brauche ich dann einen Monitor und Tastatur und da habe ich auch eine Graka eingebaut, die noch übrig war. Ansonsten arbeitet der PC als Fileserver mit nur Ethernet und sonst nichts angeschlossen.
ZFS macht auf Datenseite wohl alles, was du brauchst. Nenn einfach die Platten, die zum Pool kommen sollen und fertig. Partitionen brauchst du nicht. Es genügt auch ein einziger Pool, was aber natürlich Geschmacksache ist. Du kannst auch mehere anlegen. NFS exportiert nicht über Partitions / Poolgrenzen hinweg (bei NFS3 ist das so gewesen). Doch Verzeichnisse innerhalb eines Pools kannst du verschieden exportieren.

Meine Zeit ist knapp, aber das noch: http://blog.lostpackets.de/2008/10/06/freebsd-im-apple-netz/
funktioniert bis auf ignorable Fehlereinträge ganz ausgezeichnet und hat Vorteile gegenüber NFS.
 
NFS exportiert nicht über Partitions / Poolgrenzen hinweg (bei NFS3 ist das so gewesen). Doch Verzeichnisse innerhalb eines Pools kannst du verschieden exportieren.

Hmm... was heißt das genau? Wenn ich jetzt in einem Pool noch einen Pool habe und ich gebe den Hauptpool frei, kann ich nicht per NFS auf den unteren Pool zugreifen?

Meine Zeit ist knapp, aber das noch: http://blog.lostpackets.de/2008/10/06/freebsd-im-apple-netz/
funktioniert bis auf ignorable Fehlereinträge ganz ausgezeichnet und hat Vorteile gegenüber NFS.

Das klingt auch interessant. Das muss ich noch mal überlegen.
 
500 EUR ohne Platten ist zuviel ;) Und für die Systemplatte brauche ich kein RAID. Ein mal einrichten, Image machen und gut ist.
 
Hmm... was heißt das genau? Wenn ich jetzt in einem Pool noch einen Pool habe und ich gebe den Hauptpool frei, kann ich nicht per NFS auf den unteren Pool zugreifen?

ich habe nicht alles probiert.
Ohne ZFS kannst du etwa /dev/ar0s1a auf /freigabe mounten und /dev/ar0s1b auf /freigabe/inhalt und wenn du /freigabe exportierst, kommst du nicht auf /freigabe/inhalt. Dazu muss dann /freigabe/inhalt nochmal separat exportiert werden.
das wird wahrscheinlich bei den pools innerhalb des ZFS nicht anders sein.
Du brauchst aber nicht unbedingt weitere Pools oder Partitionen, wenn nicht etwas hinsichtlich der jeweiligen Rechte dafür spricht. Wenn du also nicht extra eine Partition etwa mit noexec haben willst. Du kannst einfach ein Dateisystem auf dem kompletten ZFS anlegen und die Zweige exportieren. Das hat auch den Vorteil, dass du keine Gedanken hinsichtlich der Größe der einzelnen Partitionen zu machen brauchst.

Bei mir genügte ein einziger Pool.
Den habe ich raid1 genannt, weil es einen raid0 schon irgendwo gab.
/etc/exports:
/raid1/Exports/db_96-Filme -alldirs 192.168.0.96
/raid1/Exports/db_97-Filme -alldirs 192.168.0.97
/raid1/Exports/db_98-Filme -alldirs 192.168.0.98
exportiert diese als NFS Freigaben für jeweils einen Client.
Diese Clienst sind Dreamboxen, busybox/linux digatale Sat-Receiver, die so auf den Server aufnehmen.
Diese Aufnahmen können auch von dem Mac betrachtet werden, etwa mit
/usr/local/etc/AppleVolumes.default:
/raid1/Exports/db_96-Filme allow:pit dbpath:/var/AppleDB options:usedot,noadouble,nohex,rw volcharset:ISO-8859-1 cnidscheme:cdb
darf das nur ich.

Zum reinen Austausch von Daten hat ftp die beste Performance.
AFP ist beim Mac etwa gleich gut wie NFS und beides ist da besser, als Samba. AFP, NFS und SMB lassen aber die entfernten Verzeichnisse mounten und damit einen direkten Zugriff auf die externen Daten zu. Schön finde ich halt, dass beim Mac der entfernte Rechner angezeigt wird und mit Mausklick das einloggen eingeleitet wird. Bei mir gibt es Nutzer, die sich anmelden müssen, damit klar ist, welche Dateien die mit welchen Rechten angeboten bekommen. Das ist mit AFP besser zu realisieren, als mit Samba. Allerdings musste ich die Nutzer auf dem Server anlegen. Samba hat eine eigene Userdatenbank, AFPD nutzte die BSD-User. NFS < 4 hat keine User-Zuordnung.
 
500 EUR ohne Platten ist zuviel ;) Und für die Systemplatte brauche ich kein RAID. Ein mal einrichten, Image machen und gut ist.

Ja - ist sicher nicht muss

Athlon X2 2,8 Ghz
4GB RAM DDR2-1066
ASRock K10N78 (hat GLAN, VGA, etc. OnBoard)
3 x Samsung HD154UI 1,5 TB (ggf. nehme ich doch noch 7200 U/min Platten, mal schauen, muss noch genauer vergleichen)

Wie planst du das einzusetzen? Dauerbetrieb? Weil sonst würde ich lieber einmal mehr bei der Anschaffung zahlen - das hast du mit Stromverbrauch und sonstigem Ärger in ein paar Monaten wieder herinnen ...
Acer EasyStore bietet auch sowas ähnliches an ...
 
als ich mich vor einiger Zeit anfing dafür zu interessieren, gab es nur einen einzigen bezahlbaren, der NFS anbot und das mit einem busybox/Linux machte. Das war der Thecus 5200 und ich kaufte den. Das System ist dort auf CF-Karte und verschlossen. Es kann nur über ein Webif administriert werden und gerade NFS machte mir große Sorgen, weil es da einen Fehler im Webif gab. Nur durch Einspielen so genannter Module, konnte ich schließlich per ssh auf das gerät und dort das System so manipulieren, dass ich meine Exports erhielt. Das ärgerte mich von Anfang an ungemein. Außerdem ist das System für Änderungen und Erweiterungen nicht zugänglich. Deshalb schon bald, nachdem der Thecus voll wurde, die Entscheidung, den nächsten Fileserver selbst zu bauen.
Was ich investierte, kann ich nicht mehr sagen. Ein Gehäuse hatte ich, Platten hatte ich bestellt und zwar 5x 1TB, als ich Geld dafür übrig hatte und Motheboard und CPU beim nächsten Mal und den Rest hatte ich noch in der Gegend herum liegen. Insgesamt war es sicher nicht mehr, als der Thecus kostete, der auch 5 Platten enthält. (ich bin Fan von Raid5 und da sind zwar fünf Platten nicht vorgeschrieben, machen aber tatsächlich viel Sinn).

Zunächst machte die Bastelarbeit schon mal Spaß.
Ob da ein GNU/Linux drauf sollte, oder ein FreeBSD oder OpenSolaris, da war ich relativ frei. Keinesfalls wollte ich mehr ein abgeschlossenes System, wie beim Thecus oder wie mit einem FreeNAS.
Dass schließlich nun FreeBSD drauf ist, naja, war irgendwie letztlich doch auch wieder klar und dass FreeBSD dann ZFS konnte, wirklich ein sehr großer Vorteil.
Was ich meine ist, dass bei mir etwa ein Script läuft und automatisch Mac's .aiff in einem bestimmten Verzeichnis sieht und nach .mp3 umwandelt. So können die kids ihre CDs einfach für einen MP3 Player umbauen, indem sie die auf den Ordner rippen. Den Rest macht mein Server sehr einfach. Oder, dass ich den VLC dort installieren und als Server laufen lasse. Oder, ich könnte den Fileserver auch als Proxy oder auch als Router, als DNS oder DHCP Server laufen lassen. FreeBSD bietet zu allem einfach installierbare Möglichkeiten und sowas leisten fertige Server nicht oder nie so, wie man das eigentlich will.
Bei einer solchen Bastel-Lösung hat man mehr Möglichkeiten, kommt billiger weg und bleibt offen für mehr. Sehr einfach kann auch ein komplettes Desktop-System eingerichtet und etwa über X aus der Ferne bedient werden. Egal was, mit einem offenen System hat man viel mehr Möglichkeiten und wenn man mal darüber nachdenkt, kommen einem immer neue Ideen. Ein Fax-Server, eine Telefon-Anlage, was weiß ich.
Ich würde es daher jedem empfehlen zu basteln, selbst wenn es nicht so billig gerät.
Eine Ausnahme: ich habe es nicht geschafft, den Raid-Verband zuverlässig schlafen zu schicken und lasse die Platten nun durchlaufen. Das stört mich ein wenig, denn in der Nacht wird der Server kaum gebraucht. Bei mir steht der aber nicht in einem Wohnraum und stört niemanden wirklich. Ausschalten und Neustart geht bequem über den Powerbutton, FreeBSD hat die ACPI-Events schon so vorbelegt. Damit kann also auch gelebt werden.
 
Wie planst du das einzusetzen? Dauerbetrieb?

Nein, kein Dauerbetrieb. Ich schalte bis auf den Kühlschrank eigentlich alle elektrischen Geräte per Netzschalter hier aus. Da ich von immer nur ein paar Stunden zu Hause bin in der Woche, lohnt sich das auch gar nicht ;) Da wird das Gerät nur ca. 1h am Tag genutzt. Da muss es nicht 23h rumidlen ;) Nur am WE wird er wohl länger an sein.

Ich probiere gerade etwas in der Virtuallen Maschine mit FreeBSD 8 Beta3 rum. Ab und zu "beglückt" mich noch der Kerneldebugger, der anspringt... naja, mal auf die RCs warten.
 
So, Hardware wird bald bestellt, jedoch ein anderes Board.

Naja, ich mache mir gerade noch mal Gedanken wegen dem Zugriff. Mir ist auch noch mal SSHFS in den Sinn gekommen. Hat schon mal jemand hier MacFUSE mit SSHFS getestet? Weiß da jemand wie die Performance ist?

Per Google finde ich nur Werte von 2007 wo sie von 2MB/s sprechen und in einem Forumseintrag von Ende 2008 habe ich mal etwas von 65MB/s gelesen. Aber aktuell ist ja auch das nicht.

Sicher werde ich wohl nicht um einen umfassenden Test mit allen Diensten rum kommen, aber vllt. hat hier ja jemand Erfahrung damit ;)
 
Naja, ich mache mir gerade noch mal Gedanken wegen dem Zugriff. Mir ist auch noch mal SSHFS in den Sinn gekommen. Hat schon mal jemand hier MacFUSE mit SSHFS getestet? Weiß da jemand wie die Performance ist?

Hatte das mal am laufen, so zum Testen. Irgendwie lief es aber nie besonders rund.
Die Geschwindigkeit ist natürlich - im Vergleich zu NFS etc. - relativ langsam. (Habe leider keine Zahlen mehr im Kopf)
Auch muss man sich fragen, ob man in seinem "sicheren" Heimnetz unbedingt verschlüsselte Übertragung benötigt. Gerade wenn es sich meist um nicht vertrauliche Daten, wie Filme oder Musik handelt.

Gruß
mrtonik
 
Also ich habe jetzt den Computer da.

Jetzt gibt's nur irgendwie ein Problem. Und zwar bootet FreeBSD irgendwie nicht von der USB-Platte. bzw. bootet schon, findet aber das root-Dateisystem nicht.

D.h. es kommen die Kernel-Meldungen und wenn er das root-Dateisystem mounten will, sagt er mir, er könne es nicht finden und ich solle es angeben.

Scheinen wohl, laut google, mehrere das Problem zu haben:

Code:
Root mount waiting for: usbus4
umass0:0:0:-1: Attached to scbus0
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Hitachi HTS541680J9SA00 > Fixed Direct Access SCSI-2 device
da0: 40.000MB/s transfers
da0: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
Trying to mount root from ufs:/dev/da0s1a

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot>

http://lists.freebsd.org/pipermail/freebsd-current/2009-April/006042.html

So sieht's bei mir auch aus.
 
Was steht denn in Deiner fstab drinn? Stimmt das mit dem Schema der Platte überein, was Slices und Partitionen betrifft?
Zum Abschluss noch einen Tipp: Die Platte mit glabel labeln erleichtert Dir die Sache ungemein.

c.
 
Keine Ahnung, ich habe FreeBSD von der Install-CD gestartet und als Install-Device die USB-Platte ausgewählt. Danach neu gestartet und nunja...

Habe auch die gesamte Platte genutzt mit den Vorschlägen es Installers.
 
Dann würde ich nochmal von der CD booten und die Fixit/Reparatur Option wählen.
In der Konsole die Platte mounten und nachschauen.
Bei der Gelegenheit kannst Du die Platte auch gleich labeln und die fstab anpassen.
In Abhängigkeit von der FreeBSD Version die Datei /boot/loader.conf nicht vergessen, dort das Modul glabel laden lassen (glabel_load="YES"), das ist für ein 7er FBSD nicht nötig, für ein 6er ja.

Gruß c.
 
Labeln ist trotzdem bevorzugt, weil dann die Reihenfolge der Ports egal ist. Dann könntest du auch die Platte über einen normalen ATA/SATA Anschluss betreiben ohne irgend etwas zu ändern.
 
Hmm... war noch nicht ganz die Lösung. Ich habe auch schon auf Label umgestellt.

Und zwar folgender Effekt:

Starte ich den PC ohne angeschlossene USB-Tastatur findet er Root NIE. Schließe ich sie an, ist die Wahrscheinlichkeit, dass er Root findet deutlich höher. Ich denke mal, dass der Kernel schneller nach Root sucht, als die Platte sich per USB initialisieren/auslesen kann... und wenn die USB-Tastatur (mit Hub) dran ist, dauert das länger und die USB-Platte hat mehr Zeit.
 
Ich würde dir da als Boot Medium zu ner Industrial CF-Karte raten z.B. bei Transcend beziehbar. Läuft bei mir auch schon ne weile.
Was das Board angeht... grade wenn es was sein soll was länger halten soll kann ich dir eigentlich nur von ASRock abraten.
Worüber du in bezug auf ZFS noch nachdenken könntest wäre ECC-Ram was sich ja mit ner AMD Plattform nicht als Problem herausstellt da die CPUs es ja alle können, denn dann ist das Risiko dass ZFS Checksummenfehler aufgrund von gebricktem RAM auftreten schonmal aus dem weg.
 
Klingt blödsinnig, die Platte muss ja schon da sein um den Kernel zu laden. Setze einfach mal vfs.root.mountfrom.
 
Moment mal. Das ist ja ein 8.0-RC1, oder? Da wird im Moment versucht, genau das Problem zu patchen.
 
Das klingt gut ^_^

@Kamikaze

Na den Kernel von USB lädt ja der Bootloader. Der Kernel ist dann im Speicher und der lädt ja noch mal alles (klingt blöd, ist aber dank dem Urgestein "BIOS" nicht anders möglich ;)). Somit initialisiert der Kernel USB ja noch mal neu. Und bis die Platte initialisiert ist, verabschiedet er sich schon damit, dass er ROOT nicht laden kann.

Wenn ich eine Tastatur anschließe, sucht er da noch ein bisschen dran rum und die Platte hat Zeit. Somit bootet er.

@MuffiXXL

Das Mainboard ist jetzt von MSI.
 
Zurück
Oben