Installation von SuSE 10 - im Medienzentrum Oberberg

Transcription

Installation von SuSE 10 - im Medienzentrum Oberberg
Aufbau eines Linux-Terminalnetzes innerhalb des Arktur-Netzes
Ein Terminalserver in Verbindung mit ThinClients bzw. diskless Clients ist eine äußerst
pflegeleichte Sache. Alles was am Server verändert wird, wie zusätzlich installierte Software,
Updates oder gar ein komplett neues System erscheint sofort auch am Client. Ein weiterer Vorteil
ist, dass die Terminal-Arbeitsplätze auch alte Rechner mit minimalen Hardwarevoraussetzungen
sein dürfen, wie sie oft von Firmen nach der Abschreibung an Schulen gespendet werden.
In unserem Fall handelt es sich um etwa zwanzig PII/350 Rechner mit 128MB RAM, auf denen
ein lokales Windows 2000 nicht zufrieden stellend installiert werden kann.
Der Server selbst, also lediglich ein einziger Rechner sollte aber schon einigermaßen aktuell sein
mit einem Prozessor um die 3000Hz und 2GB Arbeitsspeicher. Dieser Terminalserver gibt seine
gesamte Rechenpower an die alten Clients weiter, die also anschließend so schnell sind, wie man
ihnen es gar nicht zutrauen würde. Als Test-Terminalserver funktionierte allerdings bei uns sogar
ein PIII/733 mit 512 MB RAM(!), natürlich langsamer.
Leider sind die unter Windows erhältlichen Terminal-Systeme äußerst teuer, weshalb sich die
Frage stellt, ob der Verwendungszweck der Arbeitsplatzrechner eine solch hohe Ausgabe
rechtfertigt. Vielleicht sollen sie ja lediglich als Internet-Surfstation dienen.
Im Gegensatz dazu ist ein Terminalnetz unter Linux komplett kostenlos. In meinen Augen ist eine
solche Lösung ideal für quer über das Schulgebäude verteilte Rechner, in denen das Internet
sowie der Zugriff auf die eigenen Dateien den Hauptzweck darstellt. Dabei muss betont werden,
dass Linux-Terminals keinesfalls nur als Surfstationen gebraucht werden können. Ein Zugriff auf
die Freigaben des Schulnetzes, das eigene Homeverzeichnis und angeschlossene Drucker ist damit
ebenso möglich wie die Benutzung von verbreiteter unter Linux lauffähiger Standardsoftware wie
OpenOffice, Gimp (Bildbearbeitung), Adobe Reader, um nur ein paar Pakete zu nennen.
Als Orientierung, ob die folgende Beschreibung überhaupt 1:1 übertragbar ist, oder weiter
gehende Änderungen erforderlich sind, möchte ich unser Schulnetz kurz beschreiben:
-
der Hauptserver läuft unter Arktur 3.5 (C’t-Version)
-
2 Computerräume mit je 16 Windows2000-Rechnern
-
mehrere weitere Rechner im Schulnetz (insgesamt 10 Stück) müssen bei uns ebenfalls
Windows-Rechner sein
-
der Terminalserver ist ein schneller Intel Core 2 Duo 2x2.16 mit 2GB Arbeitsspeicher
-
in den Klassenräumen sollen die gespendeten Altrechner als Linux-Terminals betrieben
werden (Vernetzung ist vorhanden)
-
alle Rechner laufen im 192.168.0.0 Netzwerksegment
-
alle Rechner bekommen über ihre MAC-Nummer vom DHCP-Server eine feste IPNummer
Wichtig: die Netzwerkgeschwindigkeit zwischen dem Terminalserver und den Terminal-Clients
muss offenbar an den Switches durchgängig über die gleiche Geschwindigkeit erfolgen wie die
Netzwerkkarte der Clients, bei uns ist dies 100Mbit. Die Verbindung über einen Gigabit-Switch
war nicht möglich! Seltsamerweise funktioniert die Gigabit-Netzwerkkarte des Servers dagegen
problemlos.
Die Terminalclients sollten aus Vereinfachungsgründen keine ISA-Karten mehr besitzen, sondern
lediglich PCI- und AGP-Karten. Es wurden bei mir bei den unterschiedlichsten Testrechnern alle
Netzwerk- und Grafikkarten problemlos automatisch erkannt. Unsere Clients besitzen folgende
Netzwerkkarten (3COM905B, Realtek 8139, VIA-Rhine, SIS900 und Tulip) sowie folgende
Grafikkarten (ATI Rage pro, Matrox G200, Nvidia Riva TNT)
Vorbereitende Arbeiten am Arktur
1. Als sysadm anmelden und NIS und NFS aktivieren
2. In der /etc/export muss folgender Eintrag stehen:
/home
192.168.0.0/255.255.128.0(rw,sync)
3. Die /etc/dhcpd.conf muss um einige Zeilen ergänzt werden. Eine Beispieldatei findet sich
im Anhang. Diese Änderungen können aber auch später noch vorgenommen werden.
Grundinstallation von SuSE 10.2 auf dem TS
1. ISO-Image kostenlos herunterladen von http://de.opensuse.org.
2. DVD brennen z.B. mit Nero
3. von DVD booten und SuSE wie einen normalen Arbeitsplatz nach eigenen Vorstellungen
installieren (Partitionen, Softwareauswahl z.B. „KDE“, eine eigene Partition für /home
wird übrigens nicht benötigt, da dieses Verzeichnis vom Arktur importiert wird)
4. gutes Passwort für root vergeben
5. Hostname z.B. „TServer“, Domain des Schulnetzes eintragen
6. Firewall ausschalten
7. Netzwerkschnittstelle konfigurieren:
statische Adresse 192.168.0.254, Subnetzmaske 255.255.255.0
8. Hostname und Nameserver einstellen:
Nameserver Arktur (192.168.0.1), Domain wie die sonstige Schulnetzdomain
9. Routing: Standardgateway einstellen auf Arktur (192.168.0.1)
10. Proxy aktivieren und einrichten auf 192.168.0.1:8080 (alle Protokolle gleich)
11. Netzwerkverbindung testen – aktuelle Release Notes werden herunter geladen
12. Downloadserver konfigurieren für Aktualisierungen
13. Authentifizierungsmethode auf NIS einstellen
14. Falls Benutzerangaben abgefragt werden: weiter klicken
15. Hardwareeinstellungen überprüfen und ggf. korrigieren
16. Die Grundinstallation des SuSE-Rechners ist nun fertig.
Einbinden des TS in die Schuldomain
1. Als root anmelden
2. YAST aufrufen „Software installieren“
3. Im Filtermenübereich „Schemata“ befindet sich unter „KDE-Desktop-Umgebung“ das
Paket „kdeedu3“ mit Software aus dem Bereich Bildung, ggf. auswählen
4. Unter „Konsolenwerkzeuge“ findet man den „mc“ (Midnight Commander), auswählen
5. Suchen nach „tftp“: Die Pakete „tftp“ und „tftp und yast2-tftp-server“ auswählen
weitere Softwareauswahl nach Wunsch, aber nicht erforderlich
6. Abhängigkeiten prüfen lassen und Software installieren
7. Unter „Netzwerkdienste“: NIS-Client
NIS verwenden, NIS-Domain wie Schuldomain, NIS-Server: IP-Nr. vom Arktur eintragen
8. Unter „Netzwerkdienste“: NFS-Client:
Hostname des NFS-Servers: Arktur.<Schuldomain>
Entferntes Dateisystem: „/home“, Mountpunkt (lokal) „/home“,
optional weitere vom Arktur in der /etc/export freigegebene Verzeichnisse hinzufügen
9. Nicht aktiviert werden sollte der DHCP-Server, da Arktur diese Aufgabe übernimmt.
10. YAST verlassen und wieder neu aufrufen
Unter „Netzwerkdienste“: TFTP-Server aktivieren und vorgeschlagenes Verzeichnis für
Bootimage übernehmen
11. Unter „Hardware“ Drucker einrichten, falls gewünscht
12. Unter „System“ den „Editor für /etc/sysconfig-Dateien“ aufrufen
„Desktop“ -> „Displaymanager“ und folgende Einstellungen auf „yes setzen:
„DISPLAYMANAGER_REMOTE_ACCESS“
„DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN“
Installation von LTSP4.2 auf dem TS
1. Die Homepage des Linux Terminal server Projekts (LTSP) lautet
http://ltsp.sourceforge.net bzw. http://wiki.ltsp.org, wo auch Anleitungen gefunden werden
können. Lesenswert ist dazu auch die Dokumentation des SuSE OpenSchool Servers
http://suse.osuosl.org/people/varkoly/Schulserver/doku/Schoolserver-de.cd.pdf sowie die
Seiten der CoolSolutions des Novell SuSE Linux Desktops SLED unter
http://www.novell.com/coolsolutions/feature/17942.html.
2. Auf dem neu eingerichteten SuSE-Client von der Downloadseite des Linux
Terminalserver Projekts LTSP http://ltsp.mirrors.tds.net/pub/ltsp/utils/ folgende Datei auf
den Desktop herunter laden: ltsp-utils-0.25-0.noarch.rpm (oder neuer)
3. ltsp-utils installieren (rechte Maustaste, „Öffnen mit“ „Installieren von Software“, rootPasswort eingeben falls nicht sowieso als root angemeldet, Installation starten)
4. In einem Konsolenfenster als root („su –“) mit dem Befehl: „ltspadmin“ die AdminKonsole öffnen
5. Menüpunkt "Configure the installer options" wählen
6. Es folgt die Konfiguration des Installers:
a) „Where to retrieve packages from:“ den bereits vorgeschlagenen Pfad auf den
Spiegelserver des LTSP stehen lassen (http://ltsp.mirrors.tds.net/pub/ltsp/ltsp-4.2/).
Dadurch bekommt man die aktuellsten Pakete.
b) “In which directory:” Mit „Enter“ vorgegebenes Verzeichnis “/opt/ltsp”bestätigen
c) “If you want to use an http proxy:” 192.168.0.1:8080 (Proxy von Arktur)
d) “If you want to use an FTP proxy:” 192.168.0.1:8080 (Proxy von Arktur)
e) Correct : „y“ + „Enter“
7. Auswahl von „Install/Update“
alle Pakete mit „A“-Taste auswählen, mit der Taste „Q“ verlassen, die folgende Frage
(„ready to install/update the selected LTSP packages?“ mit „y“ beantworten)
8. Alle Pakete (etwa 100MB) werden nun heruntergeladen und dann installiert.
9. Danach kehrt man wieder zum Menü zurück. Dort wählt man „configure ltsp“. Als
nächstes bekommt man drei Auswahlmöglichkeiten: S, C und Q. Hier wählt man C, um
die Services manuell zu konfigurieren.
1 - Runlevel: (5) bestätigen
2 – Interface (Netzwerkkarte): bestätigen
3 – DHCP: übergehen, da Arktur der DHCP-Server ist.
4 – TFTP: auswählen und Frage mit „y“ beantworten.
Sollte der tftp-Server nicht starten, muss man ihn noch über Yast aktivieren.
5 – Portmapper: auswählen und prüfen, ob er läuft
6 – NFS: Frage mit „y“ beantworten
7 – XDMCP: die erste Frage mit „y“, die zweite Frage aber mit „n“ beantworten, sonst
kann man sich auf dem Server nicht grafisch einloggen.
8 – hosts entries: mit „n“ ablehnen, da Arktur den Nameserver stellt.
9 – hosts.allow: Frage mit „y“ beantworten
10 – export entries: Frage mit „y“ beantworten
11 – lts.conf: Frage mit „y“ beantworten
Konfiguration mit „Q“ verlassen
Abschließende Einstellungen auf dem TS
1. Deutsche Tastatur am Terminalclient aktivieren
Die Datei /opt/ltsp/i386/etc/lts.conf muss noch ergänz werden durch folgende Einträge:
SERVER = 192.168.0.254
XkbModel = pc104
SkbLayout = de
Anschließend an der Konsole eingeben: „/sbin/ldconfig –r /opt/ltsp/i386“
2. Die Datei /etc/exports kontrollieren
/opt/ltsp
192.168.0.0/255.255.0.0 (ro,no_root_squash,sync)
/var/opt/ltsp/swapfiles
192.168.0.0 (rw,no_root_squash,async)
Terminalclients bootfähig machen
Für Terminalclients gibt es verschiedene Bootkonzepte, die in der Praxis abhängig sind vom Typ
und Alter der jeweiligen Rechner.
Neuere Rechner mit PXE-fähigen Netzwerkkarten benötigen keinerlei Datenträger. Man stellt im
BIOS die Bootsequenz einfach so um, dass als erstes (bzw. ausschließlich) im Netz geschaut wird.
Diese Variante ist logischerweise am einfachsten und benötigt die im Folgenden beschriebene
Prozedur nicht.
Nicht bootfähige Netzwerkkarten oder ältere Rechner brauchen aber nicht kostenintensiv
umgerüstet werden. Man kann entweder von einer speziellen Etherboot-Diskette, Etherboot-CD
oder mit Hilfe eines kleinen aufgerufenen Programms vom Netz booten.
Wenn Sie z.B. eine beliebig kleine eingebaute Festplatte besitzen, formatiert man diese und
installiert darauf ein simples und auf das Notwendigste reduziertes DOS.
Bootdisketten-Images findet man hier: http://download.winboard.org/files.php?cat=49
Auf der Webseite http://www.rom-o-matic.net gibt es für alle Typen von Netzwerkkarten
Etherboot ROM-Images, die mit Hilfe der Webseite individuell angepasst und zusammengestellt
werden können.
Man wählt sinnvollerweise die aktuellste Version 5.4.2 und sucht sich unter „1.“ zunächst die
richtige Netzwerkkarte aus.
Unter „2.“ wählt man als Image-Typ „DOS Executable ROM Image (.com)“, ein ausführbares
DOS-Programm, welches später unter DOS einfach nachgestartet wird bzw. in der „autoexec.bat“
eingetragen wird.
Unter „3.“ konfiguriert man das Bootimage, bevor man es herunterlädt. Ich habe für unsere
Clients lediglich den obersten Eintrag gelöscht (nicht 0 eintragen!), damit beim Booten über das
Netz vorher keine 3-sekündige Pause eingelegt wird.
Oben drückt man den Button „Get ROM“ und bekommt die gewünschte .com-Datei, die man
umbenennt auf maximal 8 Zeichen plus Dateiendung und einfach in das Hauptverzeichnis der
DOS-Installation des Terminalclients hineinkopiert.
Wenn man die richtige Netzwerkkarte ausgesucht hat, müsste der Client nach dem Aufruf der
.com-Datei bereits nach dem Terminalserver suchen.
Eine hilfreiche Sache ist, dass beim Starten des Etherboot-Images kurz die Netzwerkparameter
des Clients angezeigt werden. Wenn man auf der Tastatur auf „Pause“ drückt, hat man genug Zeit,
sich die MAC-Nummer der eingebauten Netzwerkkarte zu notieren, wenn man diese in der
dhcpd.conf auf dem Arktur eintragen will, um den Clients feste IP-Nummern zuweisen zu
können.
Anhang: Beispieldatei für die /etc/dhcpd.conf auf dem Arktur
#
#
#
#
#
#
dhcpd.conf
Configuration file for ISC dhcpd
Tue Dec 3 14:53:27 GMT 1996
Angepasst fuer ODS-Kommunikationsserver von [email protected]
# Der Domain-Name
option domain-name "Angabe der Schuldomain";
# Die Domain Nameserver
option domain-name-servers 192.168.0.1;
option netbios-name-servers 192.168.0.1;
# Die Subnetzmaske
option subnet-mask 255.255.255.0;
# 14 Tage Zuteilungsdauer fuer eine IP-Nummer
default-lease-time 1209600;
# 10mal soviel als Maximum
max-lease-time 12096000;
# Regelt, welcher DHCP-Server Prioriaet hat.
authoritative;
# Eintrag fuer Terminalclients
option option-128 code 128 = string;
option option-129 code 129 = text;
# Bei DHCP 3.0 kommt dazu
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
range dynamic-bootp 192.168.0.220 192.168.0.250;
option broadcast-address 192.168.0.255;
option root-path "192.168.0.254:/opt/ltsp/i386";
next-server 192.168.0.254;
############
zuerst die IP vom Terminalserver
###############
host TServer {
hardware ethernet 00:16:E6:82:D3:20;
fixed-address 192.168.0.254;
}
if substring (option vendor-class-identifier, 0, 9) ="PXEClient" {
filename "/lts/2.6.17.8-ltsp-1/pxelinux.0";
}
else if substring (option vendor-class-identifier, 0 ,9) = "Etherboot" {
filename "/lts/vmlinuz-2.6.17.8-ltsp-1";
}
############
nun kommen die Linux-Terminalclients
host TClient-01 {
hardware ethernet 00:10:5A:B0:AF:B5;
fixed-address 192.168.0.101;
}
###############
host TClient-02 {
hardware ethernet 00:10:5A:36:FB:80;
fixed-address 192.168.0.102;
}
host TClient-03 {
hardware ethernet 00:10:5A:37:10:9E;
fixed-address 192.168.0.103;
}
# fortsetzen je nach Anzahl der Terminal-Clients
}
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
range dynamic-bootp 192.168.1.10 192.168.1.200;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
range dynamic-bootp 192.168.2.10 192.168.2.200 ;
}
subnet 192.168.3.0 netmask 255.255.255.0 {
option routers 192.168.3.1;
range dynamic-bootp 192.168.3.10 192.168.3.200 ;
}