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 ; }