ubuntu dhcp/ltsp Server

Ich hatte ja den Ubuntu dhcp/ltsp Server durch einen Debian Server ersetzt, da der Ubuntu Server öfters abstürzte. Da unter Debian das Live-Backup von Hyper-V nicht unterstützt wird, starte ich einen neuen Versuch mit Ubuntu 14.04 Trusty. Ich hoffe, dass diese LTS Version stabiler läuft, als die erste. Das war die Version 14.10 (Utopic).

Ich installiere als einen neuen Hyper-V Gast mit 10GB Harddisk, 1GB Ram, einem Prozessor. Mit dem Powershell Befehl
Set-VMFirmware –VMName "VMname" -EnableSecureBoot Off
sorge ich dafür, dass ich eine Generation 2 Maschine anlegen kann. Ich installiere von einem Image der Ubuntu Server CD
ubuntu-server-14.04.3-server-amd64.
Mit
apt-get install ltsp-server-standalone
installiere ich den LTSP Server.
Ich möchte mit dem nfs Server arbeiten, also geht es mit
apt-get install kernel-nfs-server
weiter.
Ich möchte Debian Clients installieren dafür brauche ich noch die GPG Keys:
apt-get install debian-keyring debian-archive-keyring
Jetzt installiere ich einen bootfähigen Client mit
VENDOR=Debian ltsp-build-client --arch=i386 --dist=jessie
Ich kopiere noch /etc/dhcpd.conf von meinem Debian DHCP Server. Anschliessend führe ich noch alle Änderungen durch, die ich in Einrichtung von LTSP beschrieben habe.

Einrichtung von LTSP

In /etc/ltsp/ltsp-build-client.conf und /etc/ltsp/ltsp-update-image.conf trage ich die Zeile ARCH=i386 ein, damit immer die i386 Architektur gewählt wird. Wir haben als Thin Clients noch alte Rechner im Haus.
Mit ltsp-build-client --arch i386 baue ich das erste image für LTSP. Hier geht es erst mal nicht weiter: libalgorithm-c3-perl kann nicht installiert werden :(.
Ich versuche mit ltsp-chroot und apt-get install ltsp-client den LTSP Client zu installieren. Das scheint zu funktionieren. Remmina installiere ich auch sofort: apt-get install remmina. Rdesktop funktioniert nämlich nicht mehr mit Windows 2012-R2. Im neuen LTSP fehlt das Programm jetpipe, das ich brauche um die lokalen USB Drucker an den Thin Clients zu nutzen. Mit exit verlasse ich die LTSP Client Umgebung.
sudo wget http://launchpadlibrarian.net/14035814/jetpipe -O /opt/ltsp/i386/usr/sbin/jetpipe
sudo chmod +x /opt/ltsp/i386/usr/sbin/jetpipe

Damit ist auch jetpipe installiert.
In den Clients soll automatisch remmina starten:
cd /opt/ltsp/i386/usr/share/ltsp/screen.d
ln -s xfreerdp remmina

Damit kann ich remmina in lts.conf eintragen.
In /opt/ltsp/i386/etc lege ich eine Datei terminalserver.remmina an.
Ich kopiere ein remmina config file und ändere diese Zeilen:
server=MEIN_TERMINALSERVER
name=Terminalserver
shareprinter=1
protocol=RDP
sound=local
sharefolder=/media/root
domain=MEINE_WINDOWS_DOMAIN
colordepth=16
window_maximize=1

Mit ltsp-update-image erzeuge ich jetzt das Client Image. Wie auch schon bei Ubuntu wird auch hier kein bootfähiges Image in /var/lib/tftpboot erzeugt. Die Datei pxelinux.0 ist auf dem Client von /var/lib/syslinux nach /var/lib/PXELINUX umgezogen. Das löse ich mit einem symbolischen link in /var/lib/syslinux. Auf dem Client gibt es auch noch keinen Kernel. Mit ltsp-chroot apt-get install linux-image-486 und ltsp-update-image schaffe ich es endlich, in /srv/tftp die richtigen Files anzulegen.
In /srv/tftp/ltsp/i386/etc/lts.conf schreibe ich die Zeilen
default]
SOUND=True
LOCALDEV=True
SCREEN_07="remmina"
RDP_OPTIONS="-c /etc/terminalserver.remmina"
PRINTER_0_DEVICE=/dev/usb/lp0
PRINTER_0_TYPE=U
LDM_DIRECTX=True

Die Clients starten immer noch nicht.
In /opt/ltsp/i386/etc/ltsp/update-kernels.conf schreibe ich die Zeilen
PXELINUX_DEFAULT=ltsp-NBD und BOOT_METHODS="NBD AOE NFS". Dann erzeuge ich mit ltsp-chroot /usr/share/ltsp/update-kernels und ltsp-update-kernels die richtigen Einträge in /srv/tftp/ltsp/i386/pxelinux.cfg.

Jetpipe startet noch nicht automatisch. Ich ändere die Funktion start_printers() in /opt/ltsp/i386/etc/init.d/ltsp-client-core so:
start_printers() {
for I in 0 1 2; do
eval PRINTER_DEVICE=\$\{PRINTER_${I}_DEVICE\}
if [ -n "${PRINTER_DEVICE}" ]; then
eval PORT=\$\{PRINTER_${I}_PORT:="910${I}"\}
/usr/sbin/jetpipe ${PRINTER_DEVICE} ${PORT}

fi
done
}
.
Damit funktionieren jetzt die Drucker.
Jetzt fehlen nur noch die USB-Sticks. Die tauchen noch nicht auf. Ich installiere auf den Clients ltspfs mit ltsp-chroot apt-get install ltspfs. Das bringt mich noch nicht weiter :(

Ich verschiebe das erst einmal und kümmere mich darum, dass remmina nach Abmeldung oder Timeout neu gestartet wird. Das passiert mit diesem Script /usr/local/sbin/remmina_watchdog:
#!/bin/bash

while true
do
lsof | grep remmina | grep terminalserver || killall remmina
sleep 3
done

Das Script starte ich in /etc/init.d/ltsp-client-core mit der Funktion:
start_remmina_watchdog() {
/usr/local/sbin/remmina_watchdog >/dev/null 2>/dev/null &
}

, die ich dort in der start Sektion nach start_sound aufrufe.

LTSP läuft jetzt bis auf die USB Sticks. Einen ersten remmina Client auf Raspberry Basis habe ich auch schon auf den neuen Windows 2012 Terminalserver umgestellt. Die Raspberrys und BananaPi’s möchte ich demnächst auch via BerryTerminal von LTSP starten. Dann muss ich mich nicht mehr um die Pflege der SD Karten kümmern.

Fazit: LTSP in Debian jessie hat stark nachgelassen. Out-of-the-Box funktioniert da im Moment fast nichts:
ltsp-build-client bricht mit Fehler ab.
ltsp-update-image bringt keine Fehlermeldung, falls keine Kernel installiert ist.
ltsp-update-image erzeugt keine Boot Files für TFTP.
Drucker funktionieren nicht mehr.
USB Sticks funktionieren nicht mehr.
remmina ist nicht eingebaut. xfreerdp ist kein Ersatz für rdesktop, da es fest eingestellte Benutzernamen erfordert.

Die Ubuntu Variante war etwas freundlicher. Zumindestens laufen dort ltsp-build-client und die USB Sticks. Vielleicht installiere ich noch einen Ubuntu Client in /opt/ltsp. Ubuntu auf dem Server möchte ich nicht mehr haben, da er ja zweimal in 2 Wochen abgestürzt ist.

Einrichtung von DHCP

Den Debian Rechner nenne ich DHCP.

Zuerst installiere ich meinen Standard-Editor mit apt-get install vim.

Mit vim /etc/network/interfaces stelle ich eine statische IP ein.

Bei dem Eintrag dns-search fällt mir wieder auf, das als Altlast hier immer noch eine .de Domain steht. Das betrifft aber auch die Windows Domäne. Wenn ich den 2012R2 PDC in Betrieb genommen habe, werde ich das mal in eine .intern Domäne ändern.

Ich trage die neue IP sofort im DNS ein. Nach Reboot geht es weiter.

Da ich von meinem Macbook über Teamviewer in der Verbindung zum virtuellen Rechner von Hyper-V das Zeichen „|“ nicht eingeben kann. aktiviere ich sofort den openssh Server.

Jetzt installiere ich mit apt-get install ltsp-server-standalone den LTSP Server. In diesem Meta Paket ist der ISC DCHP-Server schon integriert.

Mit scp /etc/ltsp/dhdpd.conf root@dhcp:/etc/dhcpd.conf kopiere ich das DHCP config file vom Ubuntu Server auf den Debian Server. Dort trage ich noch die Zeile next-server 192.168.x.7; ein, damit die TFTP Clients vom alten Server laden.
In /etc/default/isc-dhcp-server aktiviere ich den DHCP Server mit der Zeile INTERFACES="eth0".
Diese Zeile kommentiere ich auf dem Ubuntu Rechner aus.
Dort stoppe ich den DHCP Server mit service isc-dhcp-server stop.
Auf dem neuen Debian Rechner (dhcp) starte ich den DHCP Server mit service disc-dhcp-server start.
Jetzt bekommen alle Clients ihre IPs vom neuen Debian Server (dhcp).
Die Thin Clients laden ihre Images weiter vom alten Ubuntu Server.
Auf dem Hyper-V Host ändere ich jetzt noch die Backup-Einstellungen im GUI und teste mit wbadmin start backup in der Powershell, ob ein Backup läuft.

Ubuntu stürzt ab

Schon zum 2. Mal in 23 Wochen ist der Ubuntu Guest Rechner abgestürzt. In den Log Files ist nichts zu finden. Die enden einfach. Ich werde Debian installieren, das passt zwar nicht so gut in das Hyper-V Backup. Es gibt aber auf dem Linux Rechner keine wichtigen veränderlichen Daten. Hier laufen nur Mails durch. Ich bin hier also nicht auf ein Live Backup angewiesen.

Backup

2012-R2 ermöglicht ja ein Backup der Guest Rechner.

Die 2008-R2 Rechner können so nicht gesichert werden.

Seltsamerweise klappt es beim Mailserver.

Einstweilen sichere ich die entsprechenden virtuellen Festplatten (.vhd).

In Ubuntu muss ich noch die hyper-v Module laden, damit es reibungslos mit Hyper-V läuft.

Das Backup läuft jede Nacht auf ein regelmässig gewechseltes externes USB Laufwerk.

Da das USB Laufwerk jetzt als Backup Medium formatiert wird, muss ich alle Medien, die ich nutze, als alternative Targets beim Backup hinzufügen. Das sind hier 12 + 3. Die Medien werden wöchentlich und monatlich gewechselt, da sie auch zur Archivierung dienen sollen. Ich muss noch  testen, ob ein Recovery auch funktioniert, falls alte Medien fehlen. Das Backup läuft nämlich erstaunlich schnell.

Terminalserver 2012-R2

Als ersten Guest will ich den Terminalserver von 2008-R2 auf 2012-R2 updaten. Ich installiere einen Guest Rechner mit 4 CPUs, 6 GB Speicher und 200GB Festplatte auf dem Tiered Storage. Das läuft ziemlich reibungslos.

Eine Anwendung zickt: BDB at Work

Hier müssen die DEP Einstellungen von Windows für die installierten .EXE Dateien deaktiviert werden.

Die Nutzer fordere ich auf, diesen Server 1 Woche zu testen, bevor ich LTSP umstelle, um die Thin Clients hier anzumelden.

Kinderkrankheiten

Da ich den Linux Rechner aus dem Stand neu aufgesetzt habe, gibt es hier noch Probleme.

Externe SMTP Clients können sich hier mit ihren Windows Daten anmelden und Mails abliefern. Das funktioniert noch nicht, die Installation von winbind, libpam-winbind und sasl2-bin löst das Problem.

Mit sharefolder=/media/root im remmina config file sind die USB Sticks der Thin Clients wieder verfügbar.

Jetpipe gibt es LTSP nicht mehr. Ich finde das Python Script mit google und kopiere es in /opt/ltsp/…

Jetzt funktionieren auch die USB Drucker an den Thin Clients.

Installation von Ubuntu 14.10 (Utopic Unicorn)

Ich installiere also Ubuntu 14.10.

Die TFTP Images von LTSP fehlen auch hier. Ich bessere das aus, in dem ich mit ltsp-chroot fehlende Pakete nachinstalliere. Für die Anmeldung am Terminalserver setze ich in LTSP remmina ein. In remmina ist immer noch der Software Bug, der bei der „/“-Taste auf dem Ziffernblock das Zeichen „-“ an Windows schickt. Auch hier bessere ich nach. USB Sticks und Drucker an den Thin Clients funktionieren noch nicht (jetpipe ist bei LTSP nicht mehr dabei! Warum?). Auch postfix macht noch Schwierigkeiten. Letztendlich schaffe ich es aber, spät in der Nacht von Sonntag auf Montag ein halbwegs funktionierendes System einzurichten.

Installation des Linux Rechners

Der Linux Rechner muss neu installiert werden. Er hat folgende Funktionen:

DHCP-Server

TFTP Server für LTSP

SMTP Server für den Kontakt zur Aussenwelt

Da laut Microsoft Live Backup nicht von Debian unterstützt wird, entscheide ich mich für Ubuntu. Ich installiere die Version 15.04 (Vivid Vervet).

Es fehlen hier wesentliche Teile von LTSP:

Für die TFTP Clients wird überhaupt kein TFTP Image angelegt.

Ich installiere also Version 14.10 (Utopic Unicorn).