NSS: Novells Dateisystem unter Linux

06.03.2007 von Martin Kuppinger
Mit dem OES hat Novell die Storage Services als neues Linux-Dateisystem veröffentlicht. Für dessen Nutzung gibt es einige gewichtige Gründe – auch wenn man zur Konfiguration nicht nur Linux-, sondern auch OES-Kenntnisse benötigt.

Mit dem OES (Open Enterprise Server) hat Novell im Jahr 2005 eine Plattform vorgestellt, die Linux und NetWare miteinander verbindet. Basierend auf einem NetWare- oder Linux-Kernel können die wichtigsten NetWare-Dienste genutzt werden. Das eDirectory, die File- und Printserver-Dienste und die Cluster-Dienste stehen auf beiden Plattformen zur Verfügung. Die Integration geht so weit, dass sogar gemischte Cluster mit Knoten, die teils unter NetWare und teils unter Linux arbeiten, realisiert werden können.

Da die Fileserver-Funktionalität immer eine Stärke der NetWare war, ist dieser Dienst im Zusammenhang mit dem OES besonders interessant. Es gibt unter Linux zwar etliche Dateisysteme wie Ext2 (Second Extended File System), Ext3 (Third Extended File System), ReiserFS (Reiser File System), JFS (Journaling File System) oder XFS (Extended File System). Die Novell Storage Services (NSS) machen trotz der großen Auswahl Sinn. Die enge Integration mit dem Novell eDirectory, die sehr differenzierten Zugriffsberechtigungen, eine einfache Konfiguration über Pools und der Fakt, dass es das Dateisystem ist, das als einziges in gemischten Clustern des OES genutzt werden kann, stellen die wichtigsten Gründe für seine Nutzung dar.

Einfach: Die Funktionen für das Management von Pools und Volumes stehen sowohl unter NetWare als auch Linux zur Verfügung und bieten eine hohe Flexibilität bei der Konfiguration der NSS.

Es gibt zwar einige kleinere Unterschiede zwischen der NetWare- und der Linux-Variante. So werden die Archivierungs- und Versionierungsdienste unter Linux bisher nicht unterstützt. Außerdem können Verschlüsselungsfunktionen in gemischten Clustern nicht eingesetzt werden. Insgesamt ist die Kompatibilität aber doch sehr hoch. Und für den isolierten Betrieb nur auf dem OES for Linux spielen die meisten Unterschiede ohnehin keine Rolle.

Wichtige Details zu den NSS und die Rolle von NCP

Die NSS für Linux unterscheiden sich in einigen wichtigen Details von der NetWare-Version, sowohl in Bezug auf die Implementierung als auch die Administration. So unterstützt beispielsweise der Novell Remote Manager (NRM) in der Linux-Variante im Gegensatz zu NetWare-Servern kein Partitionsmanagement. Das ist aber insofern kein Problem, als der iManager für das Pool- und Volume-Management sowohl bei Linux- als auch NetWare-Plattformen eingesetzt werden kann und das grundlegende Partitionsmanagement mit YaST erfolgt.

Nicht vollständig: Beim Novell Remote Manager für die Linux-Version des OES fehlt die Funktionalität für das Partitionsmanagement der NSS, so dass hier mit dem iManager respektive mit lokalen Tools unter Linux gearbeitet werden muss.

Auf der technischen Ebene gibt es bei den so genannten Security Equivalence Vectors (SEVs) Unterschiede. Die SEVs beschreiben die Sicherheitsinformationen für Benutzer. Bei NetWare werden diese beim Verbindungsaufbau eines Benutzers zu den NSS vom eDirectory angefordert und anschließend als Teil der Verbindung verwaltet. Die Lebensdauer des SEVs bei der Nutzung der NSS entspricht damit der Lebensdauer der Verbindung.

Bei Linux-Servern mit dem OES werden die Informationen dagegen beim ersten Zugriff in den Cache genommen und verbleiben dort bis zum Neustart eines Servers oder dem Löschen des Benutzers aus dem eDirectory. Sie werden aber regelmäßig aktualisiert, wobei das Aktualisierungsintervall konfigurierbar ist.

Bleibt noch die Frage, wie eigentlich der Zugriff auf die NSS erfolgt. Aus Linux-Sicht handelt es sich „nur“ um ein Dateisystem mit besonders granularen Zugriffsberechtigungen. Damit Clients aber die NSS auf einem Linux-Server in der gleichen Weise wie auf einem NetWare-Server sehen, ist ein weiterer Dienst erforderlich, der NCP-Server. Bei NetWare ist dieser Teil des Betriebssystems und muss nicht extra eingerichtet werden. Beim OES for Linux muss man ihn zusätzlich installieren und konfigurieren. Danach können Clients aber auf den Linux-Server in der gleichen Weise wie auf einen NetWare-Server zugreifen.

Die Partitionierung unter Linux

Der erste Schritt bei der Einrichtung der NSS auf einem OES-Linux-Server ist die Partitionierung. Dabei gibt es eine spezielle Anforderung: Die NSS benötigen EVMS (Enterprise Volume Management System) statt LVM (Logical Volume Management) als Basis für das Volume-Management. Wenn die NSS direkt bei der Installation des Linux-Systems mit eingerichtet werden, kann man auch gleich EVMS mit einrichten. Werden die NSS auf einer getrennten Partition installiert, kann man ebenfalls EVMS nutzen. Die einzige wirkliche Herausforderung ist die nachträgliche Einrichtung von EVMS auf einem Boot-Volume. In der Praxis sollte man diese – in der Dokumentation von Novell umfassend beschriebene – Variante aber vermeiden.

Falls die NSS gleich bei der Installation eines OES-Linux-Servers installiert werden sollen, muss die vorgeschlagene Partitionierung angepasst werden, um dort einen von EVMS verwalteten Bereich zu schaffen. Die Standard-Partitionierung belässt nicht ausreichend freien, nicht partitionierten Platz auf dem Datenträger.

Gut integriert: Die NSS können beim OES for Linux einfach über YaST eingerichtet und konfiguriert werden.

Falls die NSS noch nicht installiert sind, können sie über YaST nachträglich konfiguriert werden. Der Dienst findet sich dort im Bereich System. Nach seiner Auswahl erfolgt die automatische Installation und Konfiguration. Dabei sind keine speziellen Aspekte bezüglich der Partitionierung zu beachten. Vielmehr lassen sich anschließend mit den speziellen Tools des OES innerhalb des verfügbaren freien Platzes auf der Partition zusätzliche logische Volumes anlegen.

Zu beachten ist, dass man nicht gleichzeitig lokal mit OES-Tools und YaST arbeiten darf, da es ansonsten zu Zugriffskonflikten kommt. Man muss also YaST zunächst beenden, bevor man die weiteren Konfigurationsschritte durchführt.

Pools und Volumes

Die Erstellung von Pools und Volumes kann zum einen mit dem Novell iManager, zum anderen aber auch mit der NSSMU (NSS Management Utility) durchgeführt werden. Letztere hat den Vorteil, dass man damit direkt auf dem Server arbeiten kann. Sie arbeitet zeichenorientiert.

Zeichenorientiert: Die NSSMU unter Linux ist ein Werkzeug für die schnelle und einfache Erstellung von Pools und Volumes für die NSS.

Dort muss zunächst das Gerät ausgewählt werden, auf dem die Partitionen, Pools und Volumes erstellt werden sollen. Im Hauptmenü kann auf die vorhandenen physischen Datenträger zugegriffen werden. Zu jedem Gerät werden die Informationen über den nicht partitionierten Plattenplatz angegeben. Wenn Sie einen zusätzlichen Datenträger erstellt und NSS erst später eingerichtet haben, müssen Sie sdb auswählen. Die weitere Steuerung erfolgt über die Funktionstasten am unteren Rand.

Im ersten Schritt müssen Sie das Gerät für die Verwendung durch die NSS initialisieren. Durch diesen Schritt werden vorhandene Partitionen gelöscht. Anschließend können Sie den Befehl Pools im Hauptmenü wählen. Für diesen müssen Sie eine Partition erstellen. Dazu geben Sie zunächst den Namen des Pools an und wählen danach das – nun für die NSS vorbereitete – Gerät aus, auf dem der Pool angelegt werden soll. Im Anschluss können Sie die Partitionsgröße angeben. Der Pool und die Partition werden dadurch erstellt. Ein Pool kann sich grundsätzlich über mehrere Partitionen erstrecken, ebenso wie eine Partition mehrere Pools enthalten kann.

Anschließend können Sie in dem Pool Volumes erstellen. Dazu verwenden Sie den entsprechenden Menüpunkt im Hauptmenü der NSSMU. Erst nach der Erstellung eines Volumes können Benutzer mit den NSS arbeiten.

Die Partitionsinformationen werden in YaST übrigens als EVMS-Partition angezeigt. Diese ist immer in /opt/novell/nss/mnt/.pools gemountet. Konfigurationsänderungen können aber nur über die NSSMU oder den iManager, nicht aber mit YaST durchgeführt werden.

NSS nutzen

Zwei Tools für die Konfiguration der NSS wurden bereits vorgestellt. Neben der NSSMU und dem iManager gibt es noch die NSS Server Console. Dabei handelt es sich um eine Konsole, die einer NetWare-Server-Konsole ähnelt, aber nur NSS-Funktionen unterstützt. Sie wird mit /opt/novell/nss/sbin/nsscon geladen. Die Konsole hat einen eigenen Prompt.

In dieser Konsole lassen sich nun die meisten NSS-Befehle nutzen. Eine Übersicht erhält man mit nss help. Einer der wichtigsten Befehle ist nss status. Er zeigt den aktuellen Konfigurationsstatus der NSS an. Weitere Befehle wie

liefern detaillierte statistische Informationen zur Konfiguration und Nutzung der NSS. Die Cache-Statistiken sind besonders wichtig, um zu erkennen, ob es ausreichend Cache gibt und ob das Dateisystem damit ausreichend performant arbeiten kann.

Wie bei der NetWare: Auch für die NSS unter Linux gibt es eine Konsole, über die wichtige Steuerungsbefehle eingegeben und ausgeführt werden können.

Im Gegensatz zur NetWare-Variante gibt es für die Linux-Version keine Startbefehle oder -parameter. Stattdessen muss man gegebenenfalls die Datei /opt/novell/nss/conf/nssstart.cfg modifizieren. Dort lassen sich beispielsweise NSS-Befehle für die regelmäßige Pflege und Komprimierung von Volumes abspeichern.

Darüber hinaus gibt es noch einige spezielle Befehle wie rights, attrib oder ravsui für die Wartung. Sie sind in der Dokumentation der NSS for Linux umfassend erläutert und werden nur in Ausnahmefällen benötigt.

Der NCP-Server

Damit Novell-Clients auf die NSS eines Linux-Servers zugreifen können, ist aber noch ein weiterer Schritt erforderlich: die Einrichtung des NCP-Servers. NCP (NetWare Core Protocol) ist das Basisprotokoll für die Kommunikation mit Novells Server-Diensten. Es wird für die Authentifizierung ebenso wie für Fileserver-Zugriffe benötigt. Letztere erfolgen über das NFSP (NetWare File Sharing Protocol), dem zentralen Teil von NCP.

Volumes unter Linux: NCP-Volumes können einfach über den Novell Remote Manager freigegeben werden. Die Clients sehen damit einen Linux-Server so wie bisher einen NetWare-Server.

Die Installation des NCP-Servers erfolgt entweder direkt bei der Einrichtung eines OES-Servers auf Linux-Basis oder später über YaST. Dort findet sich der NCP-Server als Option im Bereich System. Er kann mit oder ohne NSS installiert werden, wobei eigentlich nur die Verwendung mit den NSS Sinn macht, da diese die gleichen Sicherheitsfunktionen wie die (ebenfalls über NSS arbeitenden) Volumes auf NetWare-Servern bereitstellen.

Bei der Einrichtung eines NCP-Servers werden so genannte Volume Mount Points für die Standard-Verzeichnisstrukturen public und login erzeugt. Weitere Volume Mount Points können später über den Befehl ncpcon oder über den Novell Remote Manager (NRM) erstellt werden. Jeder Volume Mount Point ist für den Benutzer in der gleichen Weise sichtbar wie ein Volume auf einem NetWare-Server. Damit kann man sehr einfach eine Struktur erstellen, die den Benutzern beispielsweise nach der Migration von einem NetWare- auf einen OES-Linux-Server eine identische Arbeitsumgebung bietet.

Im laufenden Betrieb wird ncpcon für die Verwaltung benötigt. Neben der Erstellung von Volume Mount Points bietet der Befehl beispielsweise Funktionen für die Abfrage statistischer Informationen und zum Aktivieren oder Deaktivieren von Volumes.

Insgesamt ist es Novell mit der Verbindung von NSS und NCP beim OES for Linux gelungen, eine hohe Kompatibilität zwischen den beiden Betriebssystemen zu erreichen – sowohl für die Administration als auch für die Nutzung. (Martin Kuppinger/ala)