OpenSolaris als Fileserver

Dank eines sehr schnellen SMB/CIFS-Servers und den Möglichkeiten des modernen Dateisystems ZFS ist OpenSolaris eine gute Wahl zum Aufbau eines Dateiservers fürs LAN.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 18 Min.
Von
  • Dr. Oliver Diedrich
Inhaltsverzeichnis

Ein leistungsfähiger Dateiserver fürs Heimnetz im Eigenbau ist kein Hexenwerk: Ein nicht zu lahmer Prozessor, ein bis zwei GByte RAM, Gigabit-Netzwerk, ein SMB/CIFS-Server für Windows-, Linux- und MacOS-Clients, ein paar Platten, zu einem RAID-5 zusammengefasst. Das ist schon für 400 bis 500 Euro zu haben und verspricht mehr Datensicherheit und vor allem eine deutlich höhere Performance als eine simple Netzwerkfestplatte (siehe c't 26/08, ab 8.12. am Kiosk).

Performance ist (neben der höheren Flexibilität) auch das schlagende Argumente gegenüber besseren NAS-Filern (Network Attached Storage) mit mehreren Platten: In den Tests bei c't erreichten auch Geräte mit Preisen deutlich über 500 Euro lediglich Datenraten zwischen 10 und 50 MByte/s und blieben damit weit hinter dem in einem Gigabit-Netz Möglichen zurück.

Um die Kosten niedrig zu halten, empfiehlt sich eines der freien Betriebssysteme, die alle auch als SMB-Server arbeiten können. Von Linux und FreeBSD existieren sogar spezielle Varianten für den NAS-Einsatz (siehe c't 26/08, ab 8.12. am Kiosk). Aber warum nicht OpenSolaris? Immerhin ist Solaris ein bewährtes Server-Betriebssystem, das mit ZFS eine moderne Storage-Lösung mitbringt, die RAID-Funktionen und einen Logical Volume Manager mit einem modernen Dateisystem kombiniert.

Solaris-Hersteller Sun setzt ZFS und OpenSolaris in seinen neuen Open-Storage-Servern ein, die auf x86-Hardware bis zu 576 TByte Massenspeicher via NFS, SMB/CIFS, FTP und iSCSI bereitstellen. Das dort verwendete "Fishworks Appliance Kit with OpenSolaris", ein speziell auf den Storage-Betrieb angepasstes OpenSolaris mit einer komfortablen Management-Oberfläche, ist zwar noch nicht zur Installation auf eigener Hardware verfügbar; aber auch das frei verfügbare OpenSolaris enthält alle für einen Dateiserver notwendigen Komponenten – wenn auch nicht ganz so komfortabel verpackt wie in Suns Open-Storage-Servern zu Preisen ab 10.000 Euro.

Dass OpenSolaris für diese Aufgabe taugt, haben wir im Vergleich mit anderen Betriebssystemen gesehen: Mit einer Leserate von 111 MByte/s und einer Schreibrate von 86 MByte/s ließ das Sun-Unix alle anderen freien Systeme hinter sich, lag gleichauf mit dem Windows Server 2008 und erreichte Werte nahe dem in einem Gigabit-Netz maximal möglichen Datendurchsatz.

Der größte Vorteil von OpenSolaris für einen Fileserver ist das Dateisystem ZFS, das die Verwaltung der Massenspeicher enorm vereinfacht. Das Zusammenfassen mehrerer Platten zu einem RAID-5-Array samt Anlegen eines Dateisystems und dauerhaftem Einbinden in den Verzeichnisbaum erfordert lediglich einen einzigen Befehl auf der Kommandozeile -- kein Hantieren mit Partitionen, physischen und logischen Volumes, fdisk, Dateisystem- und RAID-Tools, Konfigurationsdateien und Skripten. Weitere Dateisysteme in dem Speicherpool lassen sich im Handumdrehen anlegen und ins System einbinden; fügt man eine Platte hinzu, steht der neue Speicherplatz sofort allen Dateisystemen zur Verfügung. Integrierte Funktionen zum Anlegen von speichersparenden Snapshots und Images sorgen für Datensicherheit.

Checksummen sichern die Datenintegrität vom Betriebssystem bis zum physischen Speicher, Fehler werden erkannt und automatisch korrigiert – egal, ob auf dem SATA-Kabel gelegentlich ein paar Bits kippen oder eine Platte zickt. Als 128-Bit-Dateisystem wird ZFS auf absehbare Zeit an keine praktisch relevanten Grenzen stoßen: Die maximale Größe für Dateien und Dateisysteme liegt bei 16 Exabyte (16 Millionen Terabyte). Ein Speicherpool, der physische Speichergeräte zu einer virtuellen Platte zusammenfasst, kann bis zu 256 Zettabyte verwalten – IDC schätzt den weltweit verfügbaren Speicherplatz im Jahr 2007 auf rund 250 Exabyte, also ein Tausendstel davon.

ZFS arbeitet mit copy-on-write: Geänderte Daten werden auf der Platte nicht überschrieben, sondern in neuen, freien Blöcken auf der Platte abgelegt. Das garantiert zum einen ein jederzeit konsistentes Dateisystem, da man auf die alten Daten zugreifen kann, bis die neuen Daten vollständig geschrieben sind. Zum anderen erlaubt es das einfache Anlegen von Snapshots: Hebt man die alten Datenblöcke auf, statt sie nach Abschluss der Schreiboperation freizugeben, kann man jederzeit zu einem älteren Stand einer Datei zurückkehren – so ist das ressourcensparende Anlegen von Snapshots möglich.

Wir haben sowohl die ältere Version 2008/05 als auch das aktuelle OpenSolaris 2008/11 auf der Hardware unseres Selbstbau-NAS installiert (siehe c't 26/08, ab 8.12. am Kiosk): AMD Athlon64 X2, 2 GByte RAM, Intel-Gigabit-LAN, vier SATA-Platten à 250 GByte, eine 4-GByte-SSD als Bootgerät. Die OpenSolaris-Live-CD erkannte sämtliche Hardware; die Installation aus dem Live-System heraus ist mit wenigen Mausklicks erledigt.

Der OpenSolaris-Installer bringt das System mit wenigen Mausklicks auf die Platte.

OpenSolaris enthält zwei SMB/CIFS-Server: das aus der Linux-Welt bekannte Samba und den Sun-eigenen SMB-Server. Letzterer ist besser ins System und in das ZFS integriert und bietet neben der Anbindung des Solaris-Servers an ein Active Directory verschiedene Optionen, Windows- und Solaris-Benutzer aufeinander abzubilden und die Zugriffsrechte auf Freigaben zu regeln. Alle Feinheiten beschreibt der Solaris CIFS Administration Guide – im Folgenden wollen wir lediglich einen Leitfaden geben, wie man einen OpenSolaris-Rechner in einen einfachen File-Server für ein kleines LAN verwandelt.

Der Sun-SMB-Server muss in OpenSolaris nachinstalliert werden. Er steckt in den Softwarepaketen SUNWsmbs und SUNWsmbskr, die man über den grafischen Paket-Manager, zu finden im Menü Systemverwaltung, einspielt. Um den SMB-Server im System registrieren, bootet man das System anschließend einfach neu; um ihn ohne Reboot in Betrieb zu nehmen, sind einige Klimmzüge nötig.

Der Package Manager installiert weitere Programmpakete aus dem Netz.