NAS-System auf Basis von FreeBSD 6.2

FreeNAS: Network Attached Storage im Eigenbau

27.03.2008 von Juergen Donauer
Im Enterprise-Umfeld sind NAS-Systeme mittlerweile Standard, wenn es um eine flexible Speicherlösung geht. Mithilfe des BSD-Derivats FreeNAS rücken diese praktischen Netzwerkspeicher auch in die Reichweite des Mittelstands. Wir zeigen Ihnen, wie Sie kostengünstig eine komplette NAS-Umgebung aufsetzen.

Einen ausführlichen Praxis-Workshop zur neueren Version FreeNAS 0.7.1 finden Sie unter FreeNAS 0.7.1 - kostenlose Network-Attached-Storage-Lösung.

Festplatten werden immer billiger und der Speicherhunger immer größer. Anstatt teure Server aufzustellen, heißt das Rezept NAS. Die Abkürzung steht für Network Attached Storage. Dabei handelt es sich um mit Zugriffsrechten ausgestattete Massenspeicherverbunde. Weitere Informationen finden Sie in diesem Grundlagenartikel. Alternativ zu den kommerziellen Lösungen gibt es das Open-Source-Projekt FreeNAS, das auf FreeBSD basiert. Das System eignet sich laut Entwickleraussage aber auch für den Einsatz in größeren Dimensionen, am interessantesten ist es für den KMU-Bereich und für Heimanwender.

Die Idee hinter NAS-Systemen ist einfach. Man benötigt einfach erweiterbaren Speicherplatz, der aus dem gesamten Netzwerk erreichbar ist. Mit FreeNAS lässt sich dieses Ziel erreichen, ohne neue Server anschaffen zu müssen. Im Gegenteil, ausgemusterte PCs eignen sich in den meisten Fällen als Grundlage.

FreeNAS gibt es in zwei verschiedenen Versionen. Zum einen als Live-CD (46,5 MByte). Eventuelle Änderungen können Sie auf eine Diskette oder einen USB-Stick speichern. Diese Konfiguration können Sie bei einem Neustart wieder einladen. Die Embedded-Variante (22,9 MByte) dagegen eignet sich zur Installation auf eine Festplatte.

Hardwareanforderungen von FreeNAS

Das System gibt sich bereits mit einem Pentium-Prozessor und 64 MByte RAM zufrieden. Die Entwickler empfehlen allerdings mindestens einen Pentium 2. Wollen Sie mit Software-RAIDs arbeiten, darf es ein Pentium 3 oder äquivalent sein. Für den Einsatz von FreeNAS in einer Umgebung mit großen Massenspeichern und hohem Datenverkehr sollten Sie einen Pentium 4 oder höher verwenden.

FreeNAS: ein freier, kostenloser NAS-Server.

Die Embedded-Version verlangt mindesten 128 MByte Arbeitsspeicher. Für iSCSI-Ziele setzt FreeNAS 256 MByte RAM voraus. Haben Sie 1 TByte oder mehr an Speicherplatz zu verwalten empfehlen die FreeNAS-Entwickler 512 MByte oder mehr Hauptspeicher. Als Hardware unterstützt FreeNAS alles, was FreeBSD 6.2 auch handhaben kann, Informationen dazu finden Sie in den FAQs von FreeBSD.

Installation oder Live-CD?

Wie bereits erwähnt gibt es zwei verschiedene Geschmacksrichtungen von FreeNAS. Eine Live-Variante und eine installierbare. Zunächst will TecChannel zeigen, wie Sie mit der Live-Version umgehen. Im Anschluss daran behandeln wir die installierbare Version.

FreeNAS als Live-CD

Was kann es so Spannendes geben, den Einsatz einer Live-CD zu behandeln? Um ehrlich zu sein – nicht sonderlich viel. Allerdings liefern wir einige nützliche Informationen, die Ihnen das Suchen in der Dokumentation, der FAQ oder den Foren ersparen kann. Wenig geheimnisvoll dürfte sein, dass Sie die Live-Variante von CD starten. Schon kurze Zeit nach einlegen der CD und Starten des Rechners ist FreeNAS einsatzbereit. Zunächst einmal bleibt das Startbild mit dem Teufelchen scheinbar ewig stehen. Drücken Sie hier auf die Enter-Taste und Sie haben Zugriff auf das Konsolen-Setup.

Einstellbar: Mittels der Konsole können Sie das System grob konfigurieren.

Die Standard-IP-Adresse der Live-CD von FreeNAS ist 192.168.1.250. Diese lässt sich mit der Option „2“ umstellen. Sie könnten die Netzwerkkarte theoretisch mittels DHCP einstellen lassen, eine fixe IP macht aber für den Server Sinn. FreeNAS ist per Standard nicht konfiguriert, ins Internet zu gehen. Es sind weder Gateway- noch DNS-Adressen eingetragen. Das hat den Grund, dass die Laufwerke im Normalfall nur innerhalb des LANs verwendet werden. Die weitere Konfiguration und Feineinstellung können Sie mittels Browser erledigen.

Geschafft: Der Server läuft mehr oder weniger vollautomatisch.

In unserem Fall rufen wir dazu http://192.168.1.250 auf. Als Login-Daten ist der Anwender auf admin und das Passwort auf freenas gesetzt. Mehr zur Konfiguration finden Sie im Kapitel „Konfiguration und Feintuning“.

Installation von FreeNAS

Die Live-Variante beinhaltet auch die Embedded-Version, welche Sie auf eine Festplatte oder einen USB-Stick installieren könnten, wählen Sie dazu „Option 9“ im Setup. Die Entwickler empfehlen, FreeNAS wenn möglich auf ein USB-Gerät zu installieren. Dies spart einen IDE-, SATA- oder SCSI-Slot für weitere Massenspeicher. Die Entscheidung bleibt natürlich jedem selbst überlassen.

Die Qual der Wahl: Hier entscheiden Sie sich für die Art der Installation.

FreeNAS unterscheidet zwischen einer eingebetteten und einer vollen Installation. Beim „full install“ hätten Sie die Möglichkeit, weitere FreeBSD-Pakete einzuspielen. Die „embedded version“ nutzt eine RAM-Disk, um Schreib- und Lesezugriffe zu limitieren. Vorsicht!: Beide Installationsarten löschen alle Partitionen und Daten auf der designierten Festplatte. Die Installation ist in sehr kurzer Zeit erledigt. Nun können Sie die CD entfernen und den Computer neu starten.

Konfiguration und Feintuning

Wenn das System läuft, können Sie zur Konfiguration fortschreiten. Dies alles geschieht nun via Webbrowser. Wie schon erwähnt ist die Standardadresse 192.168.1.250. FreeNAS bietet eine Vielzahl an Einstellmöglichkeiten. Alle zu behandeln würde etwas den Rahmen sprengen. Deswegen will TecChannel auf die wichtigsten und wahrscheinlich am häufigsten benutzten eingehen. Als ersten Schritt sollten Sie das Passwort und/oder Login für den Administrator ändern. Dies geschieht im ersten Unterpunkt von System – General. Hier können Sie auch die Sprache auf Deutsch einstellen, Hostnamen und Domäne ändern, DNS-Server hinterlegen und NTP-Server aktivieren.

Erste Schritte: des Administrators erste Tat – ein neues Passwort.

Im Konfigurationspunkt Schnittstellen – LAN können Sie bei Bedarf die IPv4-Adresse, MTU, IPv6, Gateways und Geschwindigkeit der Netzwerkkarten einstellen.

Hinzufügen der Massenspeicher

Als nächsten Schritt hat sich TecChannel für die Festplattenkonfiguration entschlossen. Im Testszenario wählten wir die Installationsoption „full install + data partition“. Nun wollen wir die Datenpartition einbinden, ohne die OS-Partition zu zerstören. Als ersten Schritt fügen Sie die komplette Festplatte ad0 unter Festplatten – Management durch klicken auf das Plussymbol hinzu. Während der Installation wurde die Datenpartition bereits mit dem Dateisystem UFS vorformatiert.

Einfacher als es erscheint: Das Hinzufügen der Datenpartition sieht auf den ersten Blick komplizierter aus, als es tatsächlich ist.

Wählen Sie auch dies hier aus. Im Untermenü Festplatten – Mount Verzeichnis müssen Sie nun die Festplatte ad0 und die Partition 2 auswählen. Nach einer Vergabe des Namens können Sie jetzt den Knopf Hinzufügen klicken. Vergessen Sie nicht, die Änderungen zu bestätigen. Alle eingebundenen Massenspeicher finden Sie auf Shell-Ebene im Verzeichnis /mnt wieder.

RAID-Systeme einrichten

Sollten Sie keinen unterstützten RAID-Controller besitzen, kann FreeNAS ebenfalls sogenannte Software-RAIDs einrichten. Wollen Sie diese Funktion verwenden, müssen Sie die dafür gedachten Festplatten erst vorbereiten. Wiederum in Festplatten – Management fügen Sie die Massenspeicher hinzu. Diesmal wählen Sie aber als vorformatiertes Dateisystem die Option Software RAID.

Verbundsache: Wollen Sie ein Software-gesteuertes RAID-System aufsetzen, müssen Sie das dem System sagen.

Der nächste Schritt führt dann zu Festplatten – Software RAID. Hier haben Sie nun die Auswahlmöglichkeiten JBOD, RAID 0, RAID 1, RAID 5 und Geom Vinum. Letzteres ist allerdings noch als instabil deklariert. Mit einem Klick auf das Pluszeichen können Sie nun ein Software-RAID hinzufügen. Im Test haben wir uns für ein RAID 5 entschieden.

RAID 5: Die Minimalanforderung für RAID 5 sind drei Partitionen.

Sobald Sie die Änderungen übernommen haben, baut FreeNAS das RAID-System auf. Warten Sie auf den Status „COMPLETE“, bevor Sie das RAID formatieren und einbinden. Bei der Formatierung des Festplattenverbunds hat sich TecChannel wieder für das Dateisystem UFS entschieden. Danach können Sie unter Mount Verzeichnis das RAID 5 einbinden.

Bereit: Nach wenigen Schritten ist der Festplattenverbund einsatzbereit.

Zusatzinformation: Das Formatieren von Software-RAIDs als FAT ist in Version 0.686.2 nicht möglich!

Datenträger verschlüsseln

Um die Sicherheit zu erhöhen, kann FreeNAS die Festplatten verschlüsseln. Als Algorithmen stehen Ihnen AES, Blowfish oder 3DES zur Verfügung. Eine Einschränkung hat die Verschlüsselung allerdings: Alle bisher gespeicherten Daten dieses Massenspeichers gehen verloren.

Datentresor: Mit FreeNAS können Sie Datenträger verschlüsseln.

Ist der erste Schritt getan, können Sie den verschlüsselten Datenträger formatieren. Danach binden Sie diesen wie gehabt mittels Festplatten – Mount Verzeichnis in das Betriebssystem ein. Das Verschlüsseln einzelner Partitionen ist nicht möglich. Mit FreeNAS 0.686.2 können Sie lediglich ganze Datenträger verschlüsseln.

Beachten Sie außerdem, dass verschlüsselte Datenträger nach einem Neustart manuell hinzugefügt werden müssen. Diese binden sich nicht automatisch in das System ein! Dieser Schritt geschieht im Menüpunkt Festplatten – Verschlüsselung. Klicken Sie auf das runde e-Symbol, wählen als Befehl attach aus und geben das gesetzte Passwort ein. Dies hat durchaus Sinn. Würde alles automatisch geschehen, wäre die Verschlüsselung relativ sinnlos.

Keine Panik nach dem Neustart: Verschlüsselte Laufwerke haben gern eine Sonderbehandlung.

Festplatten auf Fehler prüfen

Sollte das NAS-System Fehler melden ist es sinnvoll, die einzelnen Platten auf Fehler zu untersuchen. Die entsprechende Option findet sich unter Festplatten – Mount Verzeichnis – Fsck. Dies können Sie im laufenden Betrieb machen oder das Volume kurzfristig aushängen. Letzteres unterbindet logischerweise den Zugriff für die Dauer des Prüfprozesses. Laufwerke, die von einer Auslagerungsdatei, einem iSCSI-Target oder einem anderen Prozess verwendet werden, kann das System nicht aushängen.

Zugriff für Clients und Dienste

Nachdem nun die Massenspeicher konfiguriert sind, ist der Zugriff auf die Volumes einzurichten. Dieses Kapitel widmet sich den von FreeNAS unterstützten Diensten und deren Konfiguration. Neben den üblichen Verdächtigen CIFS/SMB, FTP, NFS und SSH stellt das freie NAS-System noch weitere Alternativen bereit.

Der Klassiker: Zugriff über CIFS und SMB

In heterogenen Netzwerken ist der Einsatz von Windows-Clients der De-facto-Standard. Doch die größte Ansammlung an Festplatten nützt nichts, wenn man nicht darauf zugreifen kann. Im Normalfall wird CIFS/SMB-Dienst hierfür verwendet. Dazu müssen Sie den Service allgemein aktiv schalten. Anschließend können Sie die genaueren Einstellungen vornehmen. Wer sich schon einmal mit Samba oder Windows-Servern beschäftigt hat, dürfte hier keine Schwierigkeiten haben. Mit am wichtigsten ist wohl die Art der Authentifizierung. Hier haben Sie drei Möglichkeiten zur Auswahl: Anonymous, Local User und Domain.

Wer darf?: In diesem Menüpunkt können Sie unter anderem die Art der Authentifizierung einstellen.

Haben Sie Anonymous eingestellt, darf sich ausnahmslos jeder zu den freigegebenen Verzeichnissen verbinden. Die Optionen Local User und Domain sollten für sich selbst sprechen. Selbstredend müssen Sie eventuell zunächst Benutzer unter Zugriff – Benutzer & Gruppen einrichten. Im Menüpunkt Freigaben konfigurieren Sie, welche Pfade Sie veröffentlichen wollen. Auf diese haben standardmäßig alle zulässigen Benutzer Vollzugriff. Wollen Sie die Zugriffe einschränken, müssen Sie das auf Shell-Ebene zum Beispiel mittels chmod oder chown regulieren.

Vernetzt: Mittels CIFS/SMB können auch Windows-Clients auf das NAS zugreifen.

Datenfreigabe via NFS

Den NFS-Server zu aktivieren ist einfach. Sie definieren die Anzahl der Server-Prozesse, klicken auf Freigeben und starten den Dienst. Anschließend ist noch eine Freigabe einzurichten, danach es sollte es funktionieren. Für NFS kann es hilfreich sein, einen Hostnamen im Menüpunkt System – Hosts zu definieren.

FreeNAS als FTP-Server

Die FTP-Konfiguration ist an sich nicht sonderlich kompliziert, hier wollen wir nur auf die Logik „FTP und FreeNAS“ eingehen. Sollte Sie anonyme Zugriffe zulassen, werden diese Benutzer bei aktivierter Option „Wurzel-Verzeichnis für alle Benutzer ändern, bis auf den root“ ins Verzeichnis /mnt geleitet. Melden Sie sich als ein lokal existierender Benutzer an, so landet der User in seinem designierten Home-Verzeichnis.

Umleitung: Hier können Sie unter anderem einstellen, in welchem Verzeichnis der Anwender landen soll.

Schnelle Backups mittels rsync

In der UNIX- und Linux-Welt sorgt rsync für schnelle Backups. Da rsync nur die Änderungen von Dateien überträgt, lässt sich mit einem solchen System viel Zeit und Plattenplatz sparen. Praktischerweise bringt FreeNAS gleich die Unterstützung für rsync mit. Sie können sogar zeitgesteuert verschiedene Rechner oder Server synchronisieren.

Einfacher sichern: Richtig eingesetzt, kann Ihnen rsync viel Arbeit und Sorgen ersparen.

rsync selbst ist zu mächtig, um es in diesem Artikel zu erklären. Weitere Hintergrundinformationen finden Sie unter „Automatisch Backups mit Linux“.

Sichere Authentisierung dank SSH

Es ist nicht praktikabel, wenn die Sicherung nachts nicht anlaufen kann, da ein Passwort einzugeben ist. Um die Übertragung dennoch sicher zu gestalten, setzen wir auf eine Authentifizierungsmethode über den genannten public_key. Notwendig ist dazu nur das Paket openssh, das im Installationsumfang bereits enthalten ist. Um das Szenario anschaulicher zu gestalten, legen wir folgendes Beispiel fest:

Client: Das ist der Rechner, der gesichert werden soll. Da normalerweise nur ein User alle Zugriffsrechte besitzt, stößt root das Backup-Script an. IP-Adresse 192.168.1.200.

FreeNAS-Server: Dies ist unser Sicherungsrechner. IP-Adresse 192.168.1.250.

Der erste Schritt ist die Erstellung eines ssh-Schlüsselpaars für root auf dem Client, was ssh-keygen –t rsa erledigt. Die drei nächsten Zeilen jeweils mit „Enter“ bestätigen. Wichtig ist, keine Passphrase einzugeben. Wenn Sie hier ein Kennwort vergeben, verlangt die Anmeldung an FreeNAS nach einem Passwort. Und genau das wollen wir vermeiden. Im Verzeichnis /root/.ssh befindet sich nun unter anderem die Datei id_rsa.pub. Diese enthält den öffentlichen Schlüssel von root. Kopieren Sie die Datei id_rsa.pub auf den FreeNAS-Server.

Im nächsten Schritt überlegen Sie sich, welcher Benutzer auf dem FreeNAS-Server das Backup annehmen soll. In unserem Fall haben wir uns für den Anwender tecchannel entschieden. Wechseln Sie in das Home-Verzeichnis von Benutzer tecchannel und legen Sie das Verzeichnis .ssh mit mkdir .ssh an. Die Rechte für das Verzeichnis setzen Sie mit chmod 700 .ssh. Vergessen Sie nicht, den Besitzer für das Verzeichnis .ssh richtig zu setzen. In diesem Fall wäre das chown tecchannel .ssh. Beachten Sie auch, dass vor ssh ein Punkt zu setzen ist.

Danach kopieren Sie den öffentlichen Schlüssel id_rsa.pub in die Datei authorized_keys: cat id_rsa.pub >> <Homeverzeichnis tecchannel>/.ssh/authorized_keys. Anschließend testen wir, ob alles funtioniert. Melden Sie sich vom Client aus mit ssh tecchannel@192.168.1.250 am FreeNAS-Server an. Beim ersten Loginversuch fragt Client unter Umständen, ob FreeNAS in die Liste der bekannten Systeme aufgenommen werden soll. Sobald Sie dies mit einem ausgeschriebenen „yes“ bestätigt haben, ist die Konfiguration abgeschlossen. Nun könnten Sie zum Beispiel mit dem Befehl rsync –avu /home/ backup@192.168.1.250:/mnt/<Sicherungsverzeichnis> Sicherungen automatisieren.

Sichern und Wiederherstellen der FreeNAS-Konfiguration

Gerade bei einem Einsatz der Live-CD sind das Sichern und Wiederherstellen der FreeNAS-Konfiguration essenziell. Wer möchte schon jedes Mal aufs Neue alle Einstellungen händisch eingeben? Die Entwickler stellen eine einfache Routine bereit. Jeder sollte damit schnell klarkommen. Im Menüpunkt System – Sichern/Wiederherstellen haben Sie nur zwei Optionen. Zum einen können Sie die Konfiguration herunterladen, zum anderen aus einer Datei wiederherstellen.

Backups können nie schaden: Mit nur einem Mausklick können Sie sich eventuell Zeit sparen.

Die Sicherung der Konfiguration wird als XML-Datei abgelegt. Diese könnten Sie vor einer Wiederherstellung theoretisch manuell anpassen.

Die erweiterte Konfiguration

Das Konfigurationsmenü „Erweitert“ hilft, wenn Sie keinen Konsolenzugriff auf das FreeNAS-System haben. Hier können Sie Dateien hoch- und herunterladen, Befehle ausführen lassen und sogar Dateien bearbeiten. Die Entwickler weisen darauf hin, dass „Befehl ausführen“ offiziell nicht unterstützt wird, und man solle es auf eigenes Risiko verwenden.

Im Test klappte es aber einwandfrei, wir hatten keine nennenswerten Probleme mit einfachen Befehlen wie zum Beispiel ls –ltrh /mnt/. Für komplexere Befehle ist diese Methode aber unkomfortabel, die Administration via Kommandozeile und ssh geht weitaus einfacher von der Hand.

Dateien ändern: Kann sinnvoll sein, wenn weder Monitor noch ssh zur Verfügung stehen.

Die Möglichkeit, Dateien via Browser zu ändern, kann aber hilfreich sein. Da Sie weitere FreeBSD-Pakete einspielen können, lassen sich diese eventuell nicht mit dem FreeNAS WebGUI konfigurieren.

Dokumentation und weitere Hilfen

FreeNAS besitz eine umfangreiche Knowledgebase. Trotz Suchfunktion ist es nicht immer leicht, dort das Richtige zu finden. Manche Einträge sind veraltet und relativ unbrauchbar, dennoch lohnt sich ein Stöbern. Sollten Sie zum ersten Mal mit FreeNAS in Berührung kommen, können die Sektionen Beginning und Installation & Configuration hilfreich sein. Eine bessere Dokumentation wäre wünschenswert.

Weitere Hilfe finden Sie in den FreeNAS-Foren Help und Open Discussion auf Sourceforge.net. Ein Blick in den Bugtracker kann bei auftauchenden Fehlern ebenfalls nicht schaden. Eine FAQ zum Projekt FreeNAS steht auch in deutscher Sprache bereit.

Logdateien und Reporte

Der Menüpunkt „Status“ verrät viel über das laufende System. Dies kann zum Beispiel bei der Fehlersuche hilfreich sein. Administratoren möchten diese Informationen unter Umständen für Systemanalyse nutzen. Es lässt sich zum Beispiel auslesen, ob das System permanent überfordert ist. Ein logischer Schluss in solch einem Fall wäre zum Beispiel der Einsatz eines schnelleren Rechners. Automatisierte Berichte via E-Mail sind ebenfalls möglich.

Für Vergessliche: Wer nicht selbst an eine regelmäßige Prüfung denken will, lässt sich einfach den Report via E-Mail zusenden.

Die Logdateien und weitere hilfreiche Informationen können Sie unter „Diagnose„ einsehen. Ab und an ein Blick kann Ärger in der Zukunft ersparen.

Fazit

FreeNAS bietet viele Möglichkeiten der Zugriffsregulierung und ist schnell aufgesetzt. Besonders gut gefallen die Möglichkeiten wie Software-RAIDs und das Verschlüsseln von Datenträgern. Dies funktioniert mit wenigen Klicks und reibungslos. Ebenfalls gut umgesetzt sind die Arten der Zugriffsmöglichkeiten. Durch die Protokolle CIFS/SMB, FTP, NFS, SSH, RSYNCD und iSCSI kann man FreeNAS wunderbar in heterogenen Netzwerken und plattformübergreifend einsetzen. Ein weiterer Pluspunkt ist die Möglichkeit der Einbindung in Active Directory.

Zugegeben muss man sich zunächst an die Administrationsoberfläche gewöhnen. Gerade die Administration der Zugriffsrechte ist etwas umständlich. Die Integration der Rechtevergabe für Verzeichnisse wäre in der WebGUI wünschenswert. Dann müsste man Home-Verzeichnisse nicht via Shell oder manuellem Befehl anlegen. Dieser Kritikpunkt ist allerdings verschmerzbar.

Problematischer ist eher die teilweise nicht vorhandene oder veraltete Dokumentation. Manche Probleme stellen den Nutzer vor große Hürden, auch die Knowledgebase unterstützt nicht immer. Meist hilft dann nur die Trial-and-Error-Methode. Dennoch lohnt sich das Projekt für alle, die viel Speicher zum kleinen Preis in einem Netzwerk bereitstellen wollen. (mja)