Autoren:

Heinrich Wendel
Autor

Josiah Ritchie
Autor

Sven Vermeulen
Bearbeiter

Gero Kunter
Übersetzer

Jan Hendrik Grahl
Korrektor

Tobias Heinlein
Übersetzer
2008-09-28, Rev. 1.14

Gentoo - LTSP-Anleitung

Dieses Dokument erklärt, wie ein LTSP-Server und Workstations in Gentoo Linux eingerichtet werden.

Gentoo - LTSP-Anleitung

1. Einführung

1.1 Was ist "LTSP"?

LTSP ist die Abkürzung für das "Linux Terminal Server Project". Ist es auf einem Server installiert, können die angeschlossenen Workstations (so genannte "Thin-Clients") mit einer identischen Umgebung ausgestattet werden. Alle Anwendungen werden auf dem Server selbst ausgeführt, weswegen auch alte PCs als "XTerminals" verwendet werden können. Kosten und Wartungsaufwand werden so reduziert, besonders in Situationen wie in Schulen oder Firmen, wo es wichtig ist, dass jeder zum Login verwendete Computer eine einheitliche Arbeitsumgebung bereit stellt.

2. Installation

2.1 Voraussetzungen

Alle Beispiele in dieser Anleitung gehen davon aus, dass die IP-Adresse Ihres Servers 192.168.0.254 lautet, Ihre Domain yourdomain.com heißt und dass Ihr Netzwerk im Adressraum 192.168.0.0/24 liegt.

2.2 Installation

Zunächst benötigen Sie ein funktionsfähiges Gentoo-System. Lesen Sie dazu bitte die Gentoo-Installationsanleitung für Ihre Architektur auf der Gentoo-Dokumentationswebseite.

Beginnen wir nun mit dem einfachsten Schritt, der Installation des LTSP Pakets:

Befehlsauflistung  2.1: LTSP emergen
# emerge ltsp

Dies wird die folgenden, von LTSP abhängigen Pakete, installieren:

  • XFree: Die Workstations werden nicht ohne Grund als "XTerminals" bezeichnet!
  • DCHP: DHCP ist ein Protokoll zur Automatisierung der TCP/IP-Konfiguration von vernetzten Computern. LTSP benutzt es, um den Workstations IP-Adressen zuzuweisen.
  • NFS: NFS ist ein Protokoll, das den Zugriff auf Festplatten über das Netzwerk ermöglicht. Es wird von LTSP verwendet, um das Grundsystem für die Workstations zu mounten.
  • TFTP: TFTP ist ein einfaches Protokoll zur Dateiübertragung, das von LTSP verwendet wird, um den Kernel zu den Workstations zu übertragen.
  • XINETD: Xinetd ist ein leistungsfähiger, über erweiterte Fähigkeiten verfügender Ersatz für inetd, der von LTSP verwendet wird, um TFTP zu starten.
Notiz
Ist in /etc/make.conf das USE-Flag für KDE oder GNOME gesetzt, so wird zusätzlich ein vollständiges KDE- oder GNOME-System installiert.

3. Konfiguration

Nachdem der emerge Prozess abgeschlossen ist, müssen alle Dienste konfiguriert werden:

3.2 System-Logger

Um Probleme leichter zu untersuchen, muss der System-Logger so konfiguriert werden, dass er Netzwerkverbindungen zulässt. Lesen Sie bitte hierzu die Dokumentation Ihres System-Loggers. Wenn Sie zum Beispiel sysklogd verwenden, dann müssen Sie nur /etc/conf.d/sysklogd editieren und "-r" zur SYSLOGD Zeile hinzufügen:

Befehlsauflistung  2.1: /etc/conf.d/sysklogd
SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"

3.3 NFS

Im nächsten Schritt ändern Sie die Datei /etc/exports so ab, dass die Workstations das Root-Dateisystem mounten können. Die Datei sollte zumindest zwei Zeilen enthalten:

Befehlsauflistung  3.2: /etc/exports
/opt/ltsp-4.1/i386         192.168.0.0/255.255.255.0(ro,no_root_squash,async)
/var/opt/ltsp/swapfiles    192.168.0.0/255.255.255.0(rw,no_root_squash,async)
Notiz
Passen Sie den Adressraum und die Netzwerkmaske so an, dass sie der Konfiguration Ihres Netzwerkes entspricht.

Starten Sie nun NFS.

Befehlsauflistung  3.3: nfs starten
# rc-update add nfs default
# /etc/init.d/nfs start

3.4 xinetd/tftp

TFTP benötigt ein wenig Konfiguration bevor es einwandfrei läuft. Editieren sie als erstes /etc/conf.d/in.tftpd um TFTPs Optionen und Pfade korrekt zu setzen:

Befehlsauflistung  4.4: /etc/conf.d/in.tftpd
INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"

Das -s Flag gibt an, dass TFTP in einem sicheren chroot Modus (empfohlen) ausgeführt wird. Dies bedeutet, dass Sie den /tftpboot Pfad, z.B. in der DHCP Konfiguration, nicht mit einbeziehen müssen.

Konfigurieren Sie als nächstes xinetd so, dass es TFTP ausführt und Remote Connections erlaubt. Standardmäßig wird TFTP nicht von xinetd gestartet, editieren Sie also /etc/xinetd.d/tftp und ersetzen Sie disable=yes mit disable=no. Wenn die Datei fehlt, fahren Sie einfach fort und erstellen /etc/xinetd.d/tftp mit dem unten folgenden Inhalt.

Befehlsauflistung  4.5: /etc/xinetd.d/tftp
service tftp
service tftp
{
        disable = no
        socket_type = dgram
        protocol = udp
        wait = yes
        user = root
        server = /usr/sbin/in.tftpd
        server_args = -s /tftpboot
}

Editieren Sie nun /etc/xinetd.conf und kommtentieren Sie die Zeile only_from = localhost aus indem Sie ein # voranstellen. Starten Sie nun xinted.

Befehlsauflistung  4.6: xinetd starten
# rc-update add xinetd default
# /etc/init.d/xinetd start

3.5 Namensauflösung

Damit eine Workstation alle Ressourcen im Netz erreichen kann, muss sichergestellt werden, dass ihr ein korrekter Name zugewiesen wird. Es existieren verschiedene Wege, dies zu gewährleisten. Eine Möglichkeit besteht darin, im lokalen Netzwerk einen DNS-Server einzurichten. Es ist daneben möglich (und einfacher), auf jedem System eine passende /etc/hosts-Datei einzurichten. Hier wird diese zweite Möglichkeit verwendet.

Alle Workstations müssen in /etc/hosts aufgeführt werden, wie im Beispiel dargestellt:

Befehlsauflistung  5.7: /etc/hosts
127.0.0.1        localhost
192.168.0.254    server      server.yourdomain.com
192.168.0.1      ws001       ws001.yourdomain.com

3.6 Konfiguration von DHCP

Dieser Schritt ist nach Meinung des Autors der komplizierteste: In /etc/dhcp/dhcpd.conf muss das DHCP-Protokoll korrekt konfiguriert werden. Hierzu ein Beispiel:

Befehlsauflistung  6.8: dhcpd.conf
(Einige allgemeine Einstellungen)
default-lease-time            21600;
max-lease-time                21600;
use-host-decl-names           on;
ddns-update-style             ad-hoc;

(Optionen für bootp)
allow booting;
allow bootp;

(Netzwerk-Optionen)
option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.254;
option domain-name-servers    192.168.0.254;
option log-servers            192.168.0.254;
option domain-name            "yourdomain.com";

(LTSP-Pfadoptionen)
option root-path              "192.168.0.254:/opt/ltsp-4.1/i386";
filename                      "/lts/vmlinuz-2.4.26-ltsp-2";
(Adresse des TFTP-Servers von dem die LTSP-Datei heruntergeladen werden soll)
next-server                   192.168.0.254;

(Falls Ihre Workstations ISA-Netzwerkkarten verwenden, entfernen Sie die)
(Kommentarmarken der folgenden Zeilen und passen Sie den Treiber und die)
(IO-Adresse an.)
#option option-128 code 128 = string;
#option option-129 code 129 = text;
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=ne IO=0x300";

shared-network WORKSTATIONS {
  subnet 192.168.0.0 netmask 255.255.255.0 {
    (Den Workstations dynamische IP-Adressen zuordnen)
    range dynamic-bootp 192.168.0.1 192.168.0.16;
    (Workstation-spezifische Konfiguration für Booten per PXE)
    #host ws001 {
    #  hardware ethernet     00:E0:06:E8:00:84;
    #  fixed-address         192.168.0.1;
    #}
  }
}

Falls die Workstations PXE unterstützen, sollten Sie jede von Ihnen so auflisten, wie es im Beispiel durch host ws001 erfolgt ist (vergessen Sie nicht, die Kommentarmarken zu entfernen!). Weisen Sie ihnen keine Adresse im dynamischen Adressraum zu, da es sonst geschehen kann, dass mehrere Workstations die gleiche IP-Adresse erhalten (was zu Problemen führen wird). Denken Sie daran, wenn Sie das obrige Beispiel rüberkopieren, jegliche "//" Kommentare mit "##" zu ersetzen, da dhcp sonst nicht erfolgreich gestartet werden kann.

Lesen Sie für weitere Hinweise zu diesem Schritt das offizielle DHCP-Handbuch.

Starten Sie nun DHCP so, wie Sie bereits NFS und xinetd gestartet haben:

Befehlsauflistung  6.9: dhcp starten
# rc-update add dhcp default
# /etc/init.d/dhcp start
Notiz
Damit DHCPD funktioniert, müssen CONFIG_PACKET und CONFIG_FILTER im Kernel aktiviert sein.

3.7 Konfiguration von LTSP

Zur Konfiguration Ihrer Workstations existieren in /opt/ltsp/i386/etc/lts.conf zahlreiche Optionen, die unter http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-de.html#AEN1211 vollständig beschrieben sind.

Eine Vorschläge um anzufangen wären, dass Sie zuerst /opt/ltsp/i386/etc/lts.conf.example nach /opt/ltsp/i386/etc/lts.conf kopieren und von dort editieren. Sie sollten vielleicht versuchen die SCREEN_01 Option in SCREEN_01 = startx zu ändern. Um eine USB Maus zu verwenden an dem Remote Client fügen Sie die folgenden Modulzeilen hinzu und ändern Sie die X_MOUSE_* Zeilen wie folgt:

Befehlsauflistung  7.10: /opt/ltsp/i386/etc/lts.conf
MODULE_01          = usb-uhci
MODULE_02          = mousedev
MODULE_03          = usbmouse
X_MOUSE_PROTOCOL   = "IMPS/2"
X_MOUSE_DEVICE     = "/dev/input/mice"

3.8 Displaymanager

Nun müssen Sie Ihren Displaymanager so einrichten, dass auch er Netzwerkzugriffe zulässt.

Ändern Sie zunächst Ihre /etc/X11/xdm/Xaccess Datei, unkommentieren Sie die folgende Zeile:

Befehlsauflistung  8.11: /etc/X11/xdm/Xaccess
#*                   #any host can get a login window

Ändern Sie nun die Konfguration des Displaymager, den Sie benutzen:

XDM: Entfernen Sie in /etc/X11/xdm/xdm-config die Kommentarmarke vor dem Eintrag DisplayManager.requestPort: 0

KDM: Suchen Sie in /usr/kde/3.1/share/config/kdm/kdmrc nach dem Abschnitt [Xdmcp] und ersetzen Sie Enable = false durch Enable = true.

GDM: Suchen Sie in /etc/X11/gdm/gdm.conf nach dem Abschnitt [xdmcp] und ersetzen Sie Enable = false durch Enable = true.

Starten Sie anschließend den Displaymanager (Beispiel: xdm):

Befehlsauflistung  8.12: xdm starten
# rc-update add xdm default
# /etc/init.d/xdm start
Warnung
Gegenwärtig scheinen Probleme mit XDM und GDM aufzutreten. Der Autor rät daher zu KDM als Lösung.

Beachten Sie, dass wenn Ihr Displaymanager schon läuft, dann wird das Neustarten Ihres X-Serves mit STRG-ALT-RÜCKTASTE nicht Ihren Displaymanager neu starten.

3.9 Eine Startdiskette erstellen

Falls Ihre Workstations keine Unterstützung für das Booten per PXE haben, können Sie zum Hochfahren Ihrer Workstations eine Startdiskette erstellen, die auch mit dem Terminal Serer verbindet. Wählen Sie auf http://www.rom-o-matic.net die neueste Version, wählen sie Ihre Netzwerkkarte, drücken Sie Get ROM und schreiben Sie das Image auf eine Diskette:

Befehlsauflistung  9.13: Schreiben des Disketten-Images
# cat nicfile.zdsk > /dev/fd0

4. Fehlersuche

Probleme können an einer Vielzahl von Stellen entstehen -- aber es stehen Ihnen auch eine Anzahl von Möglichkeiten zur Verfügung, auf die Sie bei der Fehlersuche zurückgreifen können:

5. FAQ

Q: Meine Workstations haben eine Pentium II-CPU, aber der Kernel meines Servers ist mit march=athlon-xp kompiliert. Funktioniert das?

A: Da alle Anwendungen auf dem Server laufen, stellt dies kein Problem dar.

Q: Welche CPU und wie viel RAM sollte der Server haben?

A: Unter http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing finden Sie einen guten Text zu diesem Thema.

Q: Wo kann ich mehr über PXE erfahren?

A: Schauen Sie unter http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE nach.

Q: Ist es möglich, auf den Workstations Software mit 3D-Beschleunigung einzusetzen?

A: Falls Sie Karten von NVidia verwenden, schauen Sie unter http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411 nach.

Q: In einigen Anwendungen werden die Schriften hässlich dargestellt. Wie lässt sich dies ändern?

A: Sie müssen den XFontServer einrichten. Fügen Sie zunächst USE_XFS=Y in /opt/ltsp/i386/etc/lts.conf ein, kommentieren Sie dann in /etc/X11/fs/config die Zeile no-listen: tcp aus, ersetzen Sie in /etc/conf.d/xfs XFS_PORT="-1" durch XFS_PORT="7100" und starten Sie den Fontserver durch /etc/init.d/xfs start. Stellen Sie außerdem sicher, dass /etc/X11/XF86Config (oder /etc/X11/xorg.conf) die Zeile FontPath "unix/:7100" im Files-Abschnitt enthält.

Q: Wie kann ich die Soundkarte meiner Workstation benutzen?

A: Es gibt ein ltsp-sound Paket in Gentoo. Für weitere Anleitungen lesen Sie das enthaltene README.

6. Glossar

LTSP "Das 'Linux Terminal Service Project' stellt eine einfache Möglichkeit zur Verfügung, preiswerte Workstations als textbasierte oder grafische Terminals an einem GNU/Linux-Server zu betreiben."

PXE "Abkürzung für 'Pre-Boot Execution Environment'. PXE (Aussprache: 'Pixie') ist einer der Bestandteile von Intels WfM-Spezifikation, der es einer Workstation ermöglicht, über ein Netzwerk von einem Server zu booten, bevor das Betriebssystem von der lokalen Festplatte geladen wird. Eine Workstation, bei der PXE aktiviert ist, verbindet ihre Netzwerkkarte mit dem LAN über einen Jumper, wodurch die Workstation mit dem Netzwerk verbunden bleibt, auch wenn die Stromversorgung ausgeschaltet ist."



Kontakt | Impressum
Gentoo ® ist eine eingetragene Marke des Förderverein Gentoo e.V.