OpenSolaris als Fileserver

Seite 2: Netzwerk, RAID

Inhaltsverzeichnis

Nun muss man sich auf die Kommandozeile begeben, wo man sich mit

su -

Root-Rechte verschafft. Der Befehl

svcadm enable -r smb/server

startet den SMB-Server;

svcs smb/server

gibt anschließend als Status des Dienstes "online" aus.

Das Programm svcadm (service administration) muss man in OpenSolaris 2008/05 auch bemühen, falls der OpenSolaris-Rechner eine feste Netzwerkadresse kriegen soll (was für den Betrieb als Fileserver aber nicht unbedingt erforderlich ist): Die Befehle

svcadm disable network/physical:nwam
svcadm enable network/physical:default

schalten die "Network Auto-Magic" ab, die standardmäßig eine IP-Adresse via DHCP bezieht, und erlauben stattdessen die Konfiguration einer festen Adresse. Am bequemsten geht das mit dem in der Systemverwaltung zu findenden GUI-Tool zur Netzwerkkonfiguration. Im aktuellen OpenSolaris 2008/11 kümmert sich das Netzwerktool selbst darum, die Network Automagic abzuschalten, wenn man eine feste IP-Adresse einstellen möchte.

Anschließend geht es an das Einrichten des RAID-5-Arrays. Der Befehl

format

zeigt die Namen der Platten im System an; er kann mit Strg-C abgebrochen werden. Anschließend fasst

zpool create daten raidz1 c4t0d0 c4t1d0 c4t2d0 c4t3d0

die vier Platten unseres Selbstbau-Fileservers – die jeweils ersten Platten (d0) an den Target Devices 0 bis 3 des fünften Massenspeicher-Controllers im System (c4, der SATA-Controller; c0 bis c3 sind die IDE-Controller) – zu einem RAID-5-Speicherpool (RAID-Z1 in der ZFS-Terminologie) namens daten zusammen, der gleich mit einem Dateisystem versehen und unter /daten eingebunden wird.

Wer es eine Nummer kleiner will und sich mit zwei Platten zufrieden gibt, die sich gegenseitig spiegeln (RAID-1), verwendet stattdessen den Befehl

zpool create daten mirror c4t0d0 c4t1d0

Beim Anlegen eines RAID-Arrays können auch gleich hot spares mit angegeben werden, Platten, die das System automatisch verwendet, wenn eine der Platten im RAID nicht mehr funktioniert. Mehr dazu verraten die man-page zu zpool und der Artikel Speichermeister in c't 21/08.

Der Befehl

zpool list

zeigt eine Übersicht der Speicherpools samt ihrer Belegung an;

zpool iostat

gibt Auskunft über Lese- und Schreiboperationen – mit der Option -v auch für die einzelnen Devices im Pool.

Wichtiger für einen Fileserver ist allerdings der Zustand der Platten:

zpool status

verrät, ob es den Platten im Array gut geht und ob Checksummenfehler beim Lesen von Dateien aufgetreten sind. Falls das Tool bei einer Platte Fehler meldet, gibt

zpool status -v

genauere Auskunft. Mit

zpool scrub daten

liest das System alle Blöcke des Speicherpools ein und gleicht ihren Inhalt gegen die Checksumme ab. Das Scrubbing erfolgt im Hintergrund, erzeugt allerdings eine recht hohe I/O-Last. Sun empfiehlt, das Scrubbing bei Desktopplatten ein Mal pro Woche, bei Serverplatten ein Mal im Monat durchzuführen.

Bei Ausfall einer Platte wechselt ein RAID-Array von "online" in den Zustand "degraded", zudem schreibt der Fault Manager Daemon fmd einen entsprechenden Eintrag ("drive offline") nach /var/adm/messages. Daten lassen sich noch immer lesen und schreiben, jetzt freilich ohne redundante Speicherung. Daher will man in diesem Fall schnellstmöglich für Ersatz sorgen:

zpool replace daten c4t1d0 c4t2d0

ersetzt die ausgefallene oder auszutauschende Platte c4t1d0 durch c4t2d0. ZFS spiegelt dabei die Daten der verbliebenen Platte automatisch auf die neue Platte, was je nach Datenmenge einige Minuten bis Stunden dauern kann. Nach Abschluss dieses "Resilvering", währenddessen der Zugriff auf die Daten weiterhin möglich ist, ist das RAID-Array wieder voll funktionstüchtig.

Bei Hardware-Fehlern wechselt das Array in den Zustand degraded.