Home ORDIX AG             Dienstleistung             Trainingsshop    Kunden / Referenzen Aktuelles    Kontakt
Home  Pfeil  ORDIX News  Pfeil  1/2003
suche: 

ORDIX News Archiv

Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.

Cluster-Konsole:
Die Herrin der Server-Fernwartung

Eine Möglichkeit, Server aus der Ferne zu warten, ist Telnet oder ssh. Aber kann man auch wirklich alles pflegen? Erreiche ich damit auch einen Server, der sich im Open Boot Prompt befindet oder der gerade neu bootet? Für eine Cluster-Konsole mit serieller Verbindung zum Server ist das kein Problem! In diesem Artikel wird beschrieben, wie eine Cluster-Konsole unter Linux RedHat 7.2 aufgesetzt wird, um Solaris-Server fernzuwarten.

Benötigte Hardware

Zu verwendende Software

Benötigte RPM-Pakete für die Installation

Installation des Equinox-Treibers

Folgende Schritte sind für die Installation des Treibers erforderlich:

  1. Wir gehen davon aus, RedHat ist schon installiert und die Netzwerkkarte konfiguriert.
  2. Entpacken des Treiber-RPM’s:
    tar -xvf eqnx-4.04.tar (enthält das Source RPM)
  3. Installation des Source RPM:
    rpm -i eqnx-4.04-1.src.rpm
  4. Erzeugen des Binary RPM:
    rpm -bb /usr/src/redhat/SPECS/eqnx.spec
  5. Installation des Binary RPM:
    rpm -ivh /usr/src/redhat/RMPS/i386/eqnx-4.04-1.i386.rpm
  6. Erzeugen sämtlicher für den Systemstart oder Shutdown notwendigen Links in den Verzeichnissen /etc/rc.d/rc?.d mit Hilfe des Installskriptes /usr/sbin/eqnx-installrc
  7. Treiber laden und Devicefile erstellen:
    /etc/rc.d/init.d/eqnx start

Das neue Kernelmodul wird auf diesem Weg automatisch erstellt und eingebunden. Im Normalfall ist die Defaulteinstellung der Ports ordnungsgemäß gesetzt. Die Porteinstellungen können auch nachträglich mit dem zur Equinox-Karte mitgelieferten Tool sstty verändert werden. Je nach Multiportkarte heißen die Ports anders. Die EQUI SST–8P verwendet /dev/ttyQ1a1 bis /dev/ttyQ1a8. Anmerkung: Es kann zu Konflikten zwischen den ersten Ports der Multiport-Karte und den systemeigenen seriellen Ports Com1 und Com2 kommen. Durch Deaktivieren der seriellen Schnittstellen im Bios des Rechners lässt sich dies vermeiden.

Installation der Equinox-Tools

Unter /usr/src/redhat/BUILD/eqnx-4.04-1/utils muss man zunächst den Befehl make und anschließend make install eingeben. Jetzt befinden sich unter usr/bin diverse Utilities.

Die physikalische Verbindung von Konsole und Server

Sobald die serielle Verbindung hergestellt ist, kann man sie auf Funktionsfähigkeit prüfen. Am einfachsten geht das, indem man von einem Rechner aus ein echo "Hallo Welt" sendet und auf dem Rechner an der Gegenstelle mit cat [Device] mithört. Gehen Daten in beide Richtungen durch die Ports, ist eine Synchronisation gewährleistet. Ansonsten müssen die Ports noch mit sstty und ssdiag konfiguriert werden.

Hier ein Auszug unserer vorgenommenen Einstellung:

-ixon -ixany -fb -lp -li -lo -cts -rts -pc -xprn -lb -xon -sscrn -lck -hs

Verwenden von UUCP und CU

Um den entfernten Rechner auch interaktiv bedienen zu können, ist das Verfahren mit echo und cat natürlich ungeeignet. Daher gibt es eine Reihe von Programmen, die das interaktive Fernbedienen anderer Rechner per serieller Schnittstelle ermöglichen. Klassiker ist sicher UUCP mit CU. Alternativen sind Seyon (mit grafischer Oberfläche) und Kermit (mit einer eigenen Scriptsprache). In diesem Artikel wird aber nur UUCP beschrieben, da es bei (fast) jedem Unix zum Standardlieferumfang gehört.

Das RPM-Paket von UUCP lässt sich mit rpm -i uucp-1.06.1-31.rpm installieren.

Wichtig: UUCP braucht Zugriffsrechte auf die seriellen Schnittstellen. Mit chmod 666 /dev/ttyQ1a* bekommt UUCP Lese- und Schreibrechte auf die Ports der Karte.

Damit dem seriellen Port der Konsole ein Server zugewiesen wird, müssen folgende Einträge vorgenommen werden. Abb. 1 zeigt den Eintrag für zwei Systeme.

In der /etc/uucp/port
type direct
port /dev/ttyQ1a1-
device /dev/ttyQ1a1
speed 9600
port /dev/ttyQ1a2
device /dev/ttyQ1a2
speed 9600

und in der /etc/uucp/sys
system [Servername1]
port /dev/ttyQ1a1
system [Servername2]
port /dev/ttyQ1a2

Abb. 1: Die nötigen Einträge
für zwei Systeme

An den Server müssen jetzt noch die Standardein- und ausgaben auf den seriellen Konsolenport gelegt werden. Dies ist bei Solaris Rechnern zwingend Port A. Das Solaris Kommando heißt eeprom .

An der Shell eeprom output-device=ttya eeprom input-device=ttya setzen.

Der Login des Servers muss noch auf den Konsolenport gelegt werden. Das erfolgt in der /etc/inittab mit dem Eintrag:

/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T vt100 -d /dev/console -l console -m ldterm,ttcompat

Jetzt kann man sich mit cu [Servername] die Standardausgabe des Servers auf die Konsole holen. Nach Betätigen der ENTER Taste erscheint das Login der jeweiligen Maschine.

Zum Trennen der Verbindung ~ . eingeben. Das gleiche Verfahren kann auch für die Fernwartung der Rechner anderer Betriebssysteme (z. B. HP-UX und Reliant-Unix) eingesetzt werden, die Kommandos zur Konfiguration der Schnittstellen und die Tastenkombinationen, um in den Prom Monitor zu kommen, sind allerdings herstellerabhängig und (leider) nicht genormt.

Bei Solaris Systemen – Der Wechsel in den Open Boot Prompt (OBP)

Bei einer Standardkonfiguration erzeugt man mit ~%break ein Breaksignal und der Server wechselt in den OBP. Dabei entsteht ein Problem: Fährt man die Konsole runter oder trennt man die serielle Verbindung, wird den Servern auch ein Break-Signal gesendet, und sie wechseln ungewollt in den OBP.

Um dies zu vermeiden, muss auf den Servern in der /etc/default/kbd eine Einstellung geändert werden. Die Raute (#) vor dem Eintrag KEYBOARD_ ABORT=alternate musste entfernt werden. Dann mit kbd –i die neue Keyboard Device Einstellung (kbd) laden. Nun wird auf ein Break-Signal nicht mehr reagiert. Das Ausschalten der Konsole oder das Trennen der seriellen Kabel lässt die Server unberührt.

Jetzt wechselt man mit der Zeichensequenz Enter ~ ~ Ctrl+b in den OBP. Die zweite Tilde ist erforderlich weil ~ bei dem Kommando cu als Escapezeichen verwendet wird. Mit go verlässt man den OBP.

SCREEN

Mit Screen kann ein eingeloggter User seinen Bildschirm mit einem anderen User teilen. Ein Beispiel: User A meldet sich auf der Konsole an, startet mit screen das Tool Screen und wechselt mit cu [Servername] auf den Server. User B meldet sich auch auf der Konsole an und holt sich mit screen -x die Ansicht des Bildschirms von User A auf seinen eigenen Monitor. Damit können beide auf dem Server arbeiten und gleichzeitig mitverfolgen, was der andere macht.

Abb. 2: Open Boot Prompt des Servers über die Cluster-Konsole per Telnet.

Des Weiteren kann ein User seine aktuelle Sitzung mit Ctrl+a und dann Ctrl+d in einen Puffer legen. Mit screen -r kann er seine abgelegte Sitzung dann wieder holen. Das kann auch Tage später sein oder von einem anderen Arbeitsplatz aus geschehen. Ein Beispiel: User A arbeitet lokal auf der Konsole in Wiesbaden. Nach dem Start von screen speichert er seine Sitzung mit Ctrl+a und Ctrl+d in den Puffer. Am darauffolgenden Tag meldet er sich aus Paderborn über Telnet auf der Konsole an. Mit screen -r kann er seine Sitzung vom Vortag fortsetzen.

Fazit

Eine solche Cluster-Konsole für das Servernetz zu verwenden, bringt große Vorteile. Je nach Art der Multiportkarte können 8, 16, 64 und 128 Geräte seriell angeschlossen werden. Es ist auch möglich, mehrere Multiport-Karten in einem System zu verwenden.

+ Der Server ist immer erreichbar, auch wenn der Administrator nicht vor Ort ist.
+ Platzersparnis/Kostenersparnis durch Verwendung von nur einem Monitor und einer Tastatur.
+ Ältere Rechner können zur Konsole umfunktioniert werden.
- Linux wird von Multiport-Karten-Herstellern eher stiefmütterlich behandelt. Es ist schwer, verlässliche Aussagen über die Kompatibilität oder den Support zu bekommen.

Uwe Schütz (info@ordix.de).