Gentoo Logo

Gentoo - Przewodnik po LTSP

Spis treści:

1.  Wprowadzenie

Co to jest LTSP

LTSP jest skrótem od "Linux Terminal Server Project". Zainstalowany na serwerze może wyposażyć wiele stacji roboczych (tzw. "chudych klientów") w identyczne środowiska pracy. Wszystkie aplikacje są uruchamiane na serwerze, dlatego też w roli stacji roboczych można używać starych komputerów. Obniża to koszty i czas poświęcony jego ewentualnej konserwacji, w szczególności, gdy musimy mieć jednolitą przestrzeń pracy na każdym komputerze, na którym się logujemy np. w szkołach bądź firmach.

2.  Instalacja

Czynności wstępne

Wszystkie przykłady w tym dokumencie zakładają, że IP twojego serwera to 192.168.0.254, nazwa twojej domeny to twojadomena.pl, a twoja sieć to 192.168.0.0/24.

Instalacja

Po pierwsze, musisz mieć oczywiście działający system Gentoo. Przeczytaj dokładnie Opis Instalacji Gentoo dla twojej architektury pod adresem Strona Dokumentacji Gentoo.

Zacznijmy więc od najprostszego kroku, czyli instalacji pakietu ltsp:

Listing 2.1: Emerge LTSP

# emerge ltsp

To polecenie zainstaluje ltsp oraz następujące pakiety przez niego wymagane:

  • XFree: Nazywane są XTerminalami, zgadnij dlaczego ;)
  • DHCP: DHCP jest protokołem służącym do automatycznej konfiguracji komputerów używających TCP/IP. Używany przez ltsp do dostarczenia adresów IP do stacji roboczych.
  • NFS: NFS jest protokołem pozwalającym na dostęp do twardych dysków poprzez sieć. Używany przez ltsp do zamontowania podstawowego systemu dla stacji roboczych.
  • TFTP: TFTP jest prostym programem protokołu FTP. Używany przez ltsp do transferu jądra do stacji roboczych.
  • XINETD: Xinetd jest potężnym programem zastępującym inetd, posiada wiele zaawansowanych funkcji. Używany przez ltsp do uruchomienia TFTP.

Uwaga: Jeśli masz ustawioną flagę USE dla kde/gnome, emerge zainstaluje także w pełni kompletne środowisko kde bądź gnome.

3.  Konfiguracja

Kiedy proces instalacji dobiegnie końca, wszystkie te usługi muszą zostać skonfigurowane:

System Logger

Aby łatwiej analizować problemy, logger systemowy musi być skonfigurowany na akceptowanie zdalnych połączeń. Przeczytaj dokumentację twojego loggera systemowego w celu uzyskania odpowiednich informacji. Jeżeli, np. używasz sysklogd, jedyne co musisz zrobić, to otworzyć plik /etc/conf.d/sysklogd i dodać "-r" do linii SYSLOGD:

Listing 3.1: /etc/conf.d/sysklogd

SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"

NFS

Następnym krokiem jest wyedytowanie pliku /etc/exports w celu pozwolenia stacji roboczej na montowanie głównego systemu plików. Powinny tam znajdować się co najmniej dwie linie:

Listing 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)

Uwaga: Pamiętaj, że musisz zamienić maskę i sieć na odpowiadające twojej konfiguracji.

A teraz uruchom NFS.

Listing 3.3: Uruchamianie NFS

# rc-update add nfs default
# /etc/init.d/nfs start

xinetd/tftp

TFTP wymaga odrobiny konfiguracji aby działało poprawnie. Po pierwsze, otwórz plik /etc/conf.d/in.tftpd i ustaw odpowiednie opcję oraz ścieżki:

Listing 3.4: /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"

Flaga "-s" nakazuje TFTP aby uruchamiał się w bezpiecznym, chroot'owanym środowisku. To znaczy, że nie będziesz musiał załączać /tftpboot np. w konfiguracji DHCP

Następnie, skonfiguruj xinetd tak aby uruchamiał TFTP i zezwalał na zdalne połączenia. Domyślnie TFTP nie będzie uruchamiany przez xinetd, więc otwórz /etc/xinetd.d/tftp i zmień disable=yes na disable=no. Jeśli plik nie istnieje, nie przejmuj się, po prostu stwórz go i wypełnij poniższą zawartością.

Listing 3.5: /etc/xinetd.d/tftp

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

A teraz otwórz /etc/xinetd.conf i postaw znak komentarza przed linią only_from = localhost , poprzedzając ją # i uruchom xinetd.

Listing 3.6: Uruchamianie Xinetd

# rc-update add xinetd default
# /etc/init.d/xinetd start

DNS

Aby stacja robocza mogła osiągnąć wszystkie źródła, musi mieć ustawioną odpowiednią nazwe rozwiązywania (ang. name resolving). Jest kilka sposobów, żeby to zrobić. Jeden z nich to skonfigurowanie serwera DNS dla sieci lokalnej. Inny sposób, zdecydowanie prostszy, to posiadanie identycznych plików /etc/hosts na każdym systemie. Użyjemy tego drugiego:

Wszystkie stacje robocze muszą być wypisane w /etc/hosts. Spójrz na przykład:

Listing 3.7: /etc/hosts

127.0.0.1        localhost
192.168.0.254    server      server.twojadomena.pl
192.168.0.1      ws001       ws001.twojadomena.pl

Konfiguracja DHCP

Uważam, że jest to najtrudniejszy krok. Musisz stworzyć działający konfig DHCP (/etc/dhcp/dhcpd.conf). Oto przykład:

Listing 3.8: dhcpd.conf

Podstawowe opcje
default-lease-time            21600;
max-lease-time                21600;
use-host-decl-names           on;
ddns-update-style             ad-hoc;

Opcje Bootp
allow booting;
allow bootp;

Opcje sieci
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";

Opcje ścieżki LTSP
option root-path              "192.168.0.254:/opt/ltsp-4.1/i386";
filename                      "/lts/vmlinuz-2.4.26-ltsp-2";

(Adres serwera tftp, z którego pobierzemy plik ltsp
next-server                   192.168.0.254;

Jeśli stacja robocza posiada NIC ISA, usuń znak komentarza
sprzed linii, ustaw sterownik oraz IO
#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 {
    Udostępnianie stacjom roboczym dynamicznych adresów IP
    range dynamic-bootp 192.168.0.1 192.168.0.16;
    Konfiguracja stacji roboczych do używania bootowania PXE
    #host ws001 {
    #  hardware ethernet     00:E0:06:E8:00:84;
    #  fixed-address         192.168.0.1;
    #}
  }
}

Jeśli twoja stacja robocza posiada wsparcie dla PXE, powinieneś wypisać każdą z nich tak samo jak zrobiliśmy z host ws001 (nie zapomnij usunąć znaku komentarza). Nie dawaj im adresu z dynamicznej puli, może to doprowadzić do tego, że dwie stacje będą miały to samo IP co będzie stwarzać problemy. Pamiętaj, jeśli skopiujesz i wkleisz poniższy przykład, zmień każde "//" na "##", w przeciwnym razie dhcp nie uruchomi się.

Więcej informacji znajdziesz w podręczniku DHCP: http://www.dhcp-handbook.com/

A teraz uruchom DHCP tak samo jak uruchomiłeś xinetd oraz nfs

Listing 3.9: Uruchamianie DHCP

# rc-update add dhcp default
# /etc/init.d/dhcp start

Uwaga: Do poprawnego działania DHCPD potrzebuje aktywowania opcji CONFIG_PACKET i CONFIG_FILTER w jądrze systemu.

Konfiguracja LTSP

Istnieje wiele opcji aby skonfigurować odpowiednio twoją stację roboczą, odwiedź stronę http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190, aby uzyskać więcej informacji na temat pliku /opt/ltsp/i386/etc/lts.conf.

Jeśli można, zasugerujemy kilka rzeczy. Na początek skopiuj plik /opt/ltsp/i386/etc/lts.conf.example do /opt/ltsp/i386/etc/lts.conf i wyedytuj go stamtąd. Powinieneś też zmienić opcje SCREEN_01 na SCREEN_01 = startx. Aby używać myszki USB na zdalnym kliencie, dodaj poniższe linie z modułami i zmień X_MOUSE_* w ten sposób:

Listing 3.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"

Menedżer wyświetlania

Teraz musisz odpowiednio ustawić swoją konfiguracje menedżera wyświetlania aby akceptował zdalne połączenia.

Na początek, otwórz plik /etc/X11/xdm/Xaccess i usuń znak komentarza sprzed następującej linii:

Listing 3.11: /etc/X11/xdm/Xaccess

#*                   #any host can get a login window(każdy host może uzyskać okno logowania)

A teraz zmień konfigurację menedżera wyświetlania.

XDM: W /etc/X11/xdm/xdm-config usuń znak komentarza sprzed DisplayManager.requestPort: 0

KDM: W /usr/kde/3.1/share/config/kdm/kdmrc poszukaj sekcji [Xdmcp] i zmień Enable = false na Enable = true.

GDM: W /etc/X11/gdm/gdm.conf poszukaj sekcji [xdmcp] i zmień Enable = false na Enable = True.

Następnie uruchom menedżer wyświetlania

Listing 3.12: Uruchamianie xdm

# rc-update add xdm default
# /etc/init.d/xdm start

Ostrzeżenie: Z menedżerami XDM i GDM mogą pojawiać się pewne problemy. Autor użył KDM aby ominąć ten problem.

Pamiętaj, jeśli twój menedżer wyświetlania jest aktualnie uruchomiony, restartowanie serwera X poprzez CTRL-ALT-BACKSPACE nie restartuje menedżera wyświetlania.

Tworzenie dyskietki startowej (bootowalnej)

Jeśli twoje stacje robocze nie posiadają wsparcia dla bootowania PXE, możesz utworzyć bootowalną dyskietkę, która będzie używana do uruchomienia stacji roboczych oraz połączenia ich z terminalem serwera. Przejdź do http://www.rom-o-matic.net, wybierz najnowszą wersję, wybierz model swojej karty sieciowej, wciśnij Get ROM i zapisz obraz na dyskietkę:

Listing 3.13: Zapisywanie obrazu dyskietki

# cat nicfile.zdsk > /dev/fd0

4.  Problemy

Istnieje wiele rzeczy, które moga sprawiać problemy, ale istnieje też wiele źródeł, które mogą ci pomóc w ich rozwiązywaniu:

5.  FAQ

Q: Moje stacje robocze mają procesor Pentium II, ale mój serwer jest skompilowany z flagą march=athlon-xp czy to będzie działać?

A: To nie jest problem ponieważ wszystkie aplikacje uruchamiane są na serwerze.

Q: Jaki procesor i ile RAM'u powinieneś posiadać serwer?

A: Wiele sugestii na ten temat można znaleźć na stronie http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing.

Q: Czy macie więcej informacji na temat PXE?

A: Tak, spójrz na http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE.

Q: Czy jest możliwe używanie akceleratorów 3D na stacjach roboczych?

A: Jeśli używasz kart Nvidii zajrzyj na http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411.

Q: W niektórych aplikacjach czcionki wyglądają brzydko czy można coś z tym zrobić?

A: Musisz skonfigurować XFontServer, dodaj USE_XFS=Y do twojego lts.conf, otwórz plik /etc/X11/fs/config i usuń znak komentarza sprzed no-listen: tcp, zamień XFS_PORT="-1" na XFS_PORT="7100" w pliku /etc/conf.d/xfs i uruchom xfs: /etc/init.d/xfs start. Sprawdź czy plik /etc/X11/XF86Config (albo /etc/X11/xorg.conf) zawiera FontPath "unix/:7100" w sekcji Files.

Q: Jak mogę używać karty dźwiękowej na mojej stacji roboczej?

A: W Gentoo istnieje pakiet ltsp-sound, więcej informacji znajdziesz w pliku README

6.  Komentarz

LTSP "LTSP to prosty sposób na niskie koszty eksploatacji stacji roboczych, zarówno w środowisku graficznym oraz na tekstowych terminalach serwera pracującego w środowisku GNU/Linux."

PXE "Krótko na temat systemu "Pre-Boot Execution Environment". Wymawiany "piksi", PXE jest jednym z komponentów Intelowskiego WfM. Pozwala stacji roboczej na zabootowanie z serwera znajdującego się w sieci, zamiast bootowanie z lokalnego dysku. Połączenie utrzymuje się nawet wtedy kiedy komputer jest wyłączony."



Drukuj

Zaktualizowano 28 września 2008

Podsumowanie: Ten przewodnik pokazuje jak zainstalować i skonfigurować serwer LTSP na systemie Gentoo.

Heinrich Wendel
Autor

Josiah Ritchie
Autor

Sven Vermeulen
Redaktor

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.