2008-09-28, Rev. 1.14Gentoo - 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.
|
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)
|
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
default-lease-time 21600;
max-lease-time 21600;
use-host-decl-names on;
ddns-update-style ad-hoc;
allow booting;
allow bootp;
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";
option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
filename "/lts/vmlinuz-2.4.26-ltsp-2";
next-server 192.168.0.254;
#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 {
range dynamic-bootp 192.168.0.1 192.168.0.16;
#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
|
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
|
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."
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|