LTSP-klusteri |
Sisällysluettelo |
Tämä ohje on Ubuntu 9.10:lle.
Kun tarvitaan satoja tai tuhansia päätteitä ja niille palvelimet, niin silloin tarvitaan LTSP-klusteri. Seuraavassa asennetaan LTSP-klusteri kahdelle palvelimelle, kumpikin palvelin on 64-bittinen. Toinen palvelin on juuripalvelin kaikille päätteille, toinen palvelin on ohjelmistopalvelin. Todellisessa ympäristössä tarvitaan useita ohjelmistopalvelimia; tässä rakennetaan perusasennus testiympäristöön LTSP-klusteriin ominaisuuksiin tutustumista varten.
Lue LTSP-klusterista tarkemmin:
https://wiki.stgraber.org/LTSP-Cluster/
Palvelimet nimetään näin, tässä seurataan Stéphane Graberin alkuperäistä ohjetta.
ltsp-root01 - 192.168.1.101
ltsp-appserv01 - 192.168.1.102
Kummallakin palvelimella on /etc/hosts-tiedostossa nimitiedot palvelimista.
cat /etc/hosts 127.0.0.1 localhost 192.168.1.101 ltsp-root01 192.168.1.102 ltsp-appserv01 [--]
Asennuksia varten on poltettu kaksi CD-levyä.
Juuripalvelimen asennukseen tarvitaan "64-bit PC (AMD64) server install CD". http://cdimage.ubuntu.com/ubuntu-server/daily/current/
Ohjelmistopalvelimen asennukseen tarvitaan "64-bit PC (AMD64) alternate install CD". http://cdimage.ubuntu.com/daily/current/
LTSP-klusterin juuripalvelin
Asenna ensin juuripalvelin. Älä asenna mitään muita palveluja kuin SSH-palvelin "Server install CD"-levyltä.
Asenna kaikki mahdolliset päivitykset juuripalvelimelle.
sudo apt-get update sudo apt-get dist-upgrade
uname -a Linux ltsp-root01 2.6.31-12-server #40-Ubuntu SMP Wed Oct 7 05:13:39 UTC 2009 x86_64 GNU/Linux
Asenna ltsp- ja dhcp3-palvelin
Asenna seuraavaksi ltsp- ja dhcp3-palvelin.
sudo apt-get install ltsp-server dhcp3-server
Muokkaa seuraavaksi dhcp3-palvelimen asetustiedostoa.
sudo nano /etc/dhcp3/dhcpd.conf
Tässä asennuksessa on käytetty seuraavanlaista asetustiedostoa. Huomaa, että asetustiedosto ei sijaite /etc/ltsp-hakemistossa.
# /etc/dhcp3/dhcpd.conf ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { option domain-name "ubuntu-ltsp5"; option domain-name-servers 192.168.1.1; option routers 192.168.1.1; range 192.168.1.200 192.168.1.250; next-server 192.168.1.101; filename "/ltsp/i386/pxelinux.0"; }
Käynnistä dhcp3-palvelin uudestaan.
sudo /etc/init.d/dhcp3-server restart
Rakenna chroot-ympäristö
Päätteet tarvitsevat chroot-ympäristön, joka on 32-bittinen. Rakenna se tälle 64-bittiselle juuripalvelimelle näin.
sudo ltsp-build-client --arch i386 --ltsp-cluster --prompt-rootpass
Kun kysytään ltsp-klusteriin liittyviä asioita, niin vastaa näin. Tässä asennuksessa näin.
Configuration of LTSP-Cluster NOTE: booleans must be answered as uppercase Y or N Server name: 192.168.1.101 Port (default: 80): 80 Use SSL [y/N]: N Enable hardware inventory [Y/n]: Y Request timeout (default: 2): 2
Anna chroot-ympäristön root-käyttäjän salasana, kun sitä kysytään.
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Lopuksi luodaan image päätteille.
Creating 4.0 filesystem on /opt/ltsp/images/i386.img.tmp, block size 131072. [--] Info: updating inetd config info: LTSP-asiakkaan asennus päättyi onnistuneesti
Edellä annetut tiedot ovat /opt/ltsp/i386/etc/ltsp/getltscfg-cluster.conf-tiedostossa.
SERVER=192.168.1.101 PORT=80 ENABLE_SSL=N INVENTORY=Y TIMEOUT=2
Asenna ltsp-control-ohjelma
Asenna ltsp-cluster-control-ohjelma.
sudo apt-get install ltsp-cluster-control postgresql
Muokkaa ohjelman asetustiedostoa.
sudo nano /etc/ltsp/ltsp-cluster-control.config.php
Kun muokkaat php-tiedostoa, niin ole tarkkana. Tiedostossa ei saa olla tyhjiä rivejä alussa (ennen <?php-merkintää) tai lopussa (jälkeen ?>-merkinnän).
Tässä asennuksessa on käytössä tällainen asetustiedosto. Huomaa tietokantaan liittyvät tiedot.
<?php $CONFIG['save'] = "Save"; $CONFIG['lang'] = "en"; #Language for the interface (en and fr are supported" $CONFIG['charset'] = "UTF-8"; $CONFIG['use_https'] = "false"; #Force https $CONFIG['terminal_auth'] = "false"; $CONFIG['db_server'] = "localhost"; #Hostname of the database server $CONFIG['db_user'] = "ltsp"; #Username to access the database $CONFIG['db_password'] = "ltsp"; #Password to access the database $CONFIG['db_name'] = "ltsp"; #Database name $CONFIG['db_type'] = "postgres"; #Database type (only postgres is supported) $CONFIG['auth_name'] = "EmptyAuth"; $CONFIG['loadbalancer'] = "192.168.1.101"; #Hostname of the loadbalancer $CONFIG['first_setup_lock'] = "TRUE"; $CONFIG['printer_servers'] = array("cups.yourdomain.com"); #Hostname(s) of your print servers $CONFIG['rootInstall'] = "/usr/share/ltsp-cluster-control/Admin/"; ?>
Luo tietokantaan uusi käyttäjä. Anna salasana uudelle käyttäjälle. Käytä samaa, minkä olit asettanut yllä olevaan tiedostoon.
sudo -u postgres createuser -SDRIP ltsp Enter password for new role: Enter it again:
Luo tietokantaan uusi kanta.
sudo -u postgres createdb ltsp -O ltsp
Siirry uuteen hakemistoon ja luo kantaan uudet taulut.
cd /usr/share/ltsp-cluster-control/DB/
cat schema.sql functions.sql | psql -h localhost ltsp ltsp Password for user ltsp:
Siirry seuraavaksi root-käyttäjäksi ja siirry /root-hakemistoon.
sudo su cd /root
Hae /root-hakemistoon kaksi tiedostoa.
wget http://bazaar.launchpad.net/%7Eltsp-cluster-team/ltsp-cluster/ltsp-cluster-control/download/head%3A/controlcenter.py-20090118065910-j5inpmeqapsuuepd-3/control-center.py
wget http://bazaar.launchpad.net/%7Eltsp-cluster-team/ltsp-cluster/ltsp-cluster-control/download/head%3A/rdpldm.config-20090430131602-g0xccqrcx91oxsl0-1/rdp%2Bldm.config
Muokkaa control-center.py-tiedostoa niin, että se vastaa tietokannan tietoja.
nano control-center.py
#/usr/bin/python import pgdb, os, sys #FIXME: This should be a configuration file db_user="ltsp" db_password="ltsp" db_host="localhost" db_database="ltsp"
Asenna python-paketti.
apt-get install python-pygresql
Pysäytä Apache2-palvelin ja asenna haetut kaksi tiedostoa.
/etc/init.d/apache2 stop
python control-center.py rdp+ldm.config Cleaned status table Cleaned log table Cleaned computershw table Cleaned status table Cleaned log table Cleaned computershw table Regenerated tree
Käynnistä Apache2-palvelin.
/etc/init.d/apache2 start
Poistu root-käyttäjän tilasta.
exit
Avaa selaimella ltsp-cluster-control ja tee seuraavat muutokset ensimmäisellä lehdellä.
http://ltsp-root01/ltsp-cluster-control/Admin/admin.php
LANG = fi_FI.UTF-8 LDM_DIRECTX = True LDM_SERVER = %LOADBALANCER% LOCAL_APPS_MENU = True SCREEN_07 = ldm TIMESERVER = ntp.ubuntu.com XKBLAYOUT = fi
Asenna loadbalancer-palvelin
Asenna seuraavaksi loadbalancer-palvelin.
sudo apt-get install ltsp-cluster-lbserver
Muokkaa loadbalancer-palvelimen asetustiedostoa.
sudo nano /etc/ltsp/lbsconfig.xml
Tässä perusasennuksessa on vain yksi ohjelmisto-palvelin: <node address="http://192.168.1.102:8000" name="ltsp-appserv01"/>
Ryhmän nimi on "karmic", lisäksi kohtaan "max-threads" on annettu arvo "1".
cat /etc/ltsp/lbsconfig.xml <?xml version="1.0"?> <lbsconfig> <lbservice listen="*:8008" max-threads="1" refresh-delay="60" returns="$IP"/> <lbslave is-slave="false"/> <mgmtservice enabled="true" listen="*:8001"/> <nodes> <group default="true" name="karmic"> <node address="http://192.168.1.102:8000" name="ltsp-appserv01"/> </group> </nodes> <rules> <variable name="LOADAVG" weight="50"> <rule capacity=".7"/> </variable> <variable name="NBX11SESS" weight="25"> <rule capacity="$CPUFREQ*$CPUCOUNT*$CPUCOUNT/120" critical="$CPUFREQ*$CPUCOUNT*$CPUCOUNT/100"/> </variable> <variable name="MEMUSED" weight="25"> <rule capacity="$MEMTOTAL-100000"/> </variable> </rules> </lbsconfig>
Näin kaikki on tehty valmiiksi juuripalvelimen osalta. Seuraavaksi siirrytään ohjelmisto-palvelimen pariin.
LTSP-klusterin ohjelmistopalvelin
Asenna ohjelmistopalvelin "Alternate install CD"-levyltä, muta älä asenna mitään LTSP-paketteja.
Asenna kaikki mahdolliset päivitykset ohjelmistopalvelimelle.
sudo apt-get update sudo apt-get dist-upgrade
uname -a Linux ltsp-appserv01 2.6.31-12-generic #40-Ubuntu SMP Wed Oct 7 04:13:44 UTC 2009 x86_64 GNU/Linux
Asenna tämän jälkeen seuraavat paketit.
sudo apt-get install ubuntu-desktop ltsp-server ltsp-cluster-lbagent ltsp-cluster-accountmanager
Voit poistaa päätteiden resurssien kannalta turhia ohjelmia, kuten näytönsäästäjän ja Compiz-paketin.
sudo apt-get remove --purge gnome-screensaver compiz
Tarkista vielä, että ohjelmistopalvelimella ei ole mitään ylimääräistä.
sudo apt-get autoremove && sudo apt-get autoclean
Poista käytöstä seuraavat palvelut.
sudo update-rc.d -f nbd-server remove sudo update-rc.d -f gdm remove sudo update-rc.d -f bluetooth remove sudo update-rc.d -f pulseaudio remove
Luo vielä seuraava tiedosto ja kopioi tämä sisältö tiedostoon
sudo nano /etc/xdg/autostart/pulseaudio-module-suspend-on-idle.desktop
[Desktop Entry] Version=1.0 Encoding=UTF-8 Name=PulseAudio Session Management Comment=Load module-suspend-on-idle into PulseAudio Exec=pactl load-module module-suspend-on-idle Terminal=false Type=Application Categories= GenericName=
Luo yksi käyttäjä ohjelmistopalvelimelle ja lisää käyttäjä ryhmiin.
sudo adduser ltsp001 sudo adduser ltsp001 fuse sudo adduser ltsp001 audio sudo adduser ltsp001 video
Testiympäristön muokkaus
Jos haluat testata päätteitä LTSP-klusteri-ympäristössä, niin asenna seuraavat ohjelmat juuripalvelimen chroot-ympäristöön. Tee sitä ennen päivitykset chroot-ympäristöön. Näistä on kerrottu toisaalla. Chroot-ympäristön salasanana annoit jo aivan asennusten alussa.
https://help.ubuntu.com/community/UbuntuLTSP/UpdatingChroot
sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list export LTSP_HANDLE_DAEMONS=false sudo chroot /opt/ltsp/i386 mount -t proc proc /proc apt-get update && apt-get dist-upgrade apt-get install nano ssh mc htop exit
Kun Linux-ydin päivittyy chroot-ympäristössä, niin rakenna uusi image näin. Muista "--arch i386" -optio 64-bittisellä palvelimella.
sudo ltsp-update-kernels sudo umount /opt/ltsp/i386/proc sudo ltsp-update-image --arch i386 Parallel mksquashfs: Using 2 processors Creating 4.0 filesystem on /opt/ltsp/images/i386.img.tmp, block size 131072. [--} Info: port 2000 is already defined with /opt/ltsp/images/i386.img in inetd.conf Info: taking no action.
Tunnus "ltsp001" on ohjelmistopalvelimella "ltsp-appserv01".
ltsp001@ltsp-appserv01:~$ uname -a Linux ltsp-appserv01 2.6.31-12-generic #41-Ubuntu SMP Wed Oct 7 19:37:12 UTC 2009 x86_64 GNU/Linux ltsp001@ltsp-appserv01:~$
Chroot-ympäristön root-tunnus on myös käytössä.
root@ltsp200:~# uname -a Linux ltsp200 2.6.31-12-generic #41-Ubuntu SMP Wed Oct 7 18:42:46 UTC 2009 i686 GNU/Linux root@ltsp200:~# ps ax | grep ltsp 2291 ? S 0:00 /bin/sh /usr/share/ltsp/screen_session 07 4108 ? S 0:00 /bin/openvt -f -w -c 7 -- /usr/share/ltsp/screen.d/ldm 4109 tty7 Ss+ 0:00 /bin/sh /usr/share/ltsp/screen.d/ldm 4222 tty7 S+ 0:00 xinit /usr/share/ltsp/xinitrc /usr/sbin/ldm -- :7 vt7 -auth /var/run/ldm-xauth-iVl786vMH/Xauthority -br 4486 pts/0 Ss+ 0:00 ssh -Y -t -M -S /var/run/ldm_socket_4241_192.168.1.102 -o NumberOfPasswordPrompts=1 ltsp001@192.168.1.102 echo LTSPROCKS; /bin/sh - 5407 ? Ssl 0:00 sshfs -o allow_other,ControlPath=/var/run/ldm_socket_4241_192.168.1.102 192.168.1.102:/home/ltsp001 /home/ltsp001 5495 tty7 S 0:00 /bin/sh /usr/bin/ltsp-localappsd 5499 tty7 S 0:00 ssh -Y -t -S /var/run/ldm_socket_4241_192.168.1.102 -l ltsp001 192.168.1.102 XDG_DATA_DIRS=/tmp/ltsp-localapps-ltsp001-MITLUY/:/usr/local/share/:/usr/share/ LTSP_CLIENT=192.168.1.200 LTSP_CLIENT_HOSTNAME=ltsp200 DISPLAY=192.168.1.200:7 PULSE_SERVER=tcp:192.168.1.200:4713 ESPEAKER=192.168.1.200:16001 /etc/X11/Xsession default < /dev/null > /dev/null ; /usr/sbin/ltspfsmounter all cleanup 5651 pts/1 S+ 0:00 grep ltsp root@ltsp200:~#
Pääte LTSP-klusterissa
Tässä asennuksessa on käytetty päätteenä HP Mini 2133-kannettavaa tietokonetta. Ennen LDM-sisäänkirjautumista, LTSP-klusteri kertoo tiedot päätteestä.
Kun tunnus ja salasana on annettu, niin pääte voi kirjautua ohjelmistopalvelimelle.
Muutamia ruutukappauksia ltsp-cluster-control -ohjelmasta.