OpenSolaris als Fileserver
Seite 2: Netzwerk, RAID
Netzwerk
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.
RAID
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.
Kontrolle
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.