Seite wählen

NETWAYS Blog

Schulungsnotebooks in neuem Gewand

In diesem Jahr konnten wir endlich wieder mehr Vor-Ort Trainings durchführen als in den vergangenen Jahren und sogar vereinzelte Inhouse-Trainings bei Kunden waren möglich. Bisher haben wir bei unseren Präsenztrainings oder auch -workshops auf Notebooks mit CentOS 7 gesetzt, und zwar deshalb weil die automatische Provisionierung durch unseren sog. „Event“-Foreman in Kombination mit Puppet seit langer Zeit gut funktioniert.

Recovery-Eintrag

Da es in der Vergangenheit für die Kollegen allerdings sehr aufwändig war die Notebooks nach jedem Training wieder ins Büro zu schleppen, sie zu verkabeln und sie dann von Grund auf neu zu installieren, haben wir uns einen Trick einfallen lassen: Nach der automatischen Grundinstallation des Betriebssystems wird ein LVM-Snapshot des Base Images erstellt. Grob gesagt heißt das der Stand des Base Images wird eingefroren und alles was neu hinzukommt bzw. verändert wird (z.B. individuelle Schulungsvorbereitungen für verschiedene Trainings) belegt zusätzlichen Plattenplatz. Damit lässt sich das ursprüngliche Base Image ohne Neuinstallation eines Notebooks schnell wieder herstellen und kann so auf das nächste Training angepasst werden.

Ein weiterer Vorteil des Ganzen ist das die Schulungsteilnehmer ihre Arbeitsumgebung so gestalten können wie sie möchten und beispielsweise auch uns nicht bekannte Passwörter setzen können, mit dem Löschen des LVM-Snapshots ist alles wieder vergessen. Um es auch technisch nicht so affinen Kollegen einfach möglich zu machen Notebooks „zurückzusetzen“, gibt es hierfür beim Booten unser Schulungsnotebooks einen „Recovery“-Eintrag im GRUB-Bootloader der den LVM-Snapshot des Base Images ohne jedes Zutun zurückspielt und das Notebook anschließend neu startet.

Wie kommen aber nun die individuellen Schulungsvorbereitungen auf die Notebooks? Ist die Frage die wir uns auch gestellt haben. Individuelle Schulungsvorbereitungen können z.B. die virtuelle Maschine(n) für das Training sein, meistens auf Basis von Virtual Box, SSH Keys, Hosteinträge, bestimmte Browser oder andere Applikationen um den Schulungsteilnehmern die praktischen Übungen überhaupt möglich bzw. so einfach wie nur denkbar zu machen. Sie in den Provisionierungsprozess einzubauen scheidet ja aus, da die Notebooks wenn überhaupt nur unregelmäßig neu installiert werden sollen.

Also haben wir uns auch hier etwas überlegt: Wir haben im allgemeinem Base Image ein Bash-Skript mit einem statischen Link zur Nextcloud abgelegt. Dort findet sich ein weiteres Skript das auf die aktuell angebotenen Trainings und die jeweils dafür benötigten Schulungsvorbereitungen verweist. D.h. hier liegen beispielsweise dann auch die aktuellen virtuellen Maschinen. Um das Ganze auf den Notebooks umzusetzen verwenden wir wieder Puppet, hier war die Transition leichter da wir das in der Vergangenheit so ähnlich eh schon im Foreman hatten. Damit auch jeder der Kollegen ein Notebook individualisieren kann, gibt’s hierfür natürlich auch einfache Auswahldialoge. Wurde ein Notebook für ein bestimmtes Training vorbereitet, so löscht sich das Skript zur Vorbereitung und kann erst nach dem Recovery wieder ausgeführt werden.

Beispielhafter Auswahldialog für individuelle Schulungsvorbereitung (teils mit historischen Trainings)

Das alles sollte nun natürlich auch weiterhin funktionieren. Da CentOS 7 ab 2024 keine Maintenance Updates mehr bekommt und wir bei manchen Schulungen die nativ auf den Notebooks durchgeführt werden auch etwas mit den veralteten Versionsständen zu kämpfen haben, fiel unsere Entscheidung auf CentOS Stream 9 als neues Betriebssystem für unsere Schulungsnotebooks. Damit wir überhaupt dran denken konnten CentOS Stream zu provisionieren musste erstmal das Debian auf unserem „Event“-Foreman angehoben werden, danach folgten viele kleine Updates von Foreman 1.22 bis zum aktuellen Release 3.4.0 und auch Puppet bzw. die Puppetmodule mussten aktualisiert werden. Im Foreman selbst waren die Mirrors für CentOS Stream einzurichten, Bereitstellungsvorlagen anzupassen und auch die Partitionierung haben wir aufgrund der gestiegenen Plattenkapazität der Notebooks adaptiert. Für einen automatischen Ablauf der Provisionierung nutzen wir das Foreman Discovery Plugin.

Foreman Discovery der Schulungsnotebooks

Wer sich nun selbst ein Bild von unseren Schulungsnotebooks machen möchte, dem kann ich natürlich auch nicht nur deswegen eines unserer Trainings oder einen unserer angebotenen Workshops ans Herz legen. Vielleicht auch im Zuge der diesjährigen OSMC (Open Source Monitoring Conference).

Markus Waldmüller
Markus Waldmüller
Head of Strategic Projects

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Senior Manager Services gelandet. Seit September 2023 kümmert er sich bei der NETWAYS Gruppe um strategische Projekte. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.

Der erste Entwurf für den Webinarkalender 2016 ist online!

NETWAYS Webinare Auch in diesem Jahr wollen wir wieder mit diversen Webinaren durchstarten und neben Icinga 2 natürlich unsere anderen Kernkompetenzen wie unter anderem Puppet, Foreman und unsere Hosting-Angebote nicht außen vor lassen.
Über das Jahr verteilt haben wir bereits diverse Themen fixiert – mehr werden aber natürlich noch folgen! Aktuell geplant sind die Folgenden Themen und Termine:

Titel Zeitraum Registrierung
Icinga Director: Konfiguration leicht gemacht 03. März 2016 – 10:30 Uhr Anmelden
Docker Hosting 10. März 2016 – 10:30 Uhr Anmelden
Foreman: Provisionierungswege 31. März 2016 – 10:30 Uhr Anmelden
ELK: Grundlagen der zentralen Logdatenverwaltung 15. April 2016 – 10:30 Uhr Anmelden
Foreman: Klassen und Parametrisierung in Puppet 20. Mai 2016 – 10:30 Uhr Anmelden
Foreman: Berechtigungen 28. Juli 2016 – 10:30 Uhr Anmelden
Foreman: Docker Integration 05. Oktober 2016 – 10:30 Uhr Anmelden

Wer sich einen Überblick über die bisherigen Webinare verschaffen möchte, kann dies natürlich gerne in unserem Webinar-Archiv tun.

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Reminder für das morgige Foreman / OpenNebula Webinar

opennebula_foreman Ich möchte noch einmal alle auf das morgige Webinar zum Thema Foreman: OpenNebula orchestrieren aufmerksam machen. Dabei wollen wir neben dem von NETWAYS entwickelten Modul Foreman-One auch auf Foreman und OpenNebula eingehen.
Ziel wird es aber sein zu demonstrieren, wie über das Foreman-Webinterface eine virtuelle Maschine erzeugt werden kann.
Wer sich für das Webinar noch registrieren will hat bis morgen Früh um 10:30 Uhr noch Gelegenheit dazu. In unserem Webinar-Archiv finden sich bereits einige Webinare zum Thema OpenNebula und Foreman (im Zusammenspiel mit Puppet).
Bis morgen früh um 10:30 Uhr!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Reminder für das morgige Puppet-Webinar

puppet Ich möchte noch einmal die Gelegenheit nutzen und auf unser morgiges Puppet-Webinar zum Thema „Puppet: Provisionierung von VMware“ aufmerksam machen. Das Webinar findet morgen um 10:30 Uhr statt. Die Registrierung erfolgt wie immer über unsere Webinar-Seite.
Da Virtualisierungslösungen mittlerweile in fast jeder IT-Landschaft eingesetzt werden, wollen wir aufzeigen wie man diese sinnvoll mit einem Configuration Management Tool wie Puppet kombinieren kann. Wer Puppet noch nicht kennt, dem empfehle ich unser Webinar-Archiv von der Open Source Variante von Puppet und der Puppet Enterprise Variante als kleine Vorbereitung.
Lennart und ich freuen uns bereits.
Bis morgen!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Kleinere Images mit VirtualBox

Damit die Provisionierung unserer Schulungsnotebooks über Foreman zukünftig noch schneller wird habe ich mich vor Kurzem daran gemacht die Images für VirtualBox zu optimieren. Voraussetzung dafür war natürlich das die virtuellen Maschinen eine dynamische Speicherplatzbelegung benutzen und die Betriebssysteminstallationen so schlank wie möglich gehalten werden.
Sind die Grundvoraussetzungen erfüllt muss man (mal wieder) zwischen zwei Betriebssystemwelten unterscheiden. Bei Windows-Systemen ist vor dem nächsten Schritt nämlich noch etwas Vorarbeit zu leisten. Und zwar muss hier zuerst eine Defragmentierung durchgeführt werden. Dies lässt sich aber beispielsweise bereits mit Standardtools bewerkstelligen, die Windows von Haus aus mitbringt.
Jetzt befinden sich beide Betriebssysteme auf Gleichstand, daher können wir mit dem nächsten Schritt fortfahren. Dieser besteht darin nicht benötigten Speicherplatz freizugeben. Unter Windows geschieht das mit SDelete. Ist das Archiv herunter geladen und entpackt wird sdelete.exe auf der Kommandozeile wie folgt aufgerufen:

C:\PATH\TO\SDelete\sdelete.exe -z C:

Unter Linux gibt es dafür zerofree, das für die gängigsten Distributionen zur Verfügung stellt. Allerdings sieht der Aufruf natürlich entsprechend anders aus:

# zerofree /dev/sda1

Nachdem der freie Speicherplatz mit Nullen beschrieben wurde sollte die virtuelle Maschine herunter gefahren werden. Nun ist das Vorgehen für beide Betriebssystemwelten gleich, da wir ab jetzt auf Tools von VirtualBox zurückgreifen.
Im einfachsten Fall steht nur noch die eigentliche Verkleinerung der virtuellen Festplatte aus. Der Befehl dazu muss direkt auf dem Hostsystem aufgerufen werden:

# VBoxManage modifyhd --compact schulung-windows-disk1.vdi

Leider können nur VDI-Images „geshrinkt“ werden, was eine vorherige Konvertierung bei VMDK-Images unumgänglich macht:

# VBoxManage clonehd schulung-windows-disk1.vmdk schulung-windows-disk1.vdi --format vdi

Die Konvertierung zurück nach VMDK ist dann entsprechend umgekehrt:

# VBoxManage clonehd schulung-windows-disk1.vdi schulung-windows-disk1.vmdk --format vmdk

Durch die geringere Belegung des Speicherplatzes werden unsere Schulungsnotebooks nun innerhalb kürzester Zeit installiert, sodass wir noch mehr Teilnehmer zu unseren interessanten Trainings begrüßen können 😉

Markus Waldmüller
Markus Waldmüller
Head of Strategic Projects

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Senior Manager Services gelandet. Seit September 2023 kümmert er sich bei der NETWAYS Gruppe um strategische Projekte. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.