Project

General

Profile

Master-Teamprojekt: "Stateless Remote-Boot für den Massenbetrieb II" (Sommersemester 2011)

Informationen zum ersten Teil des Master-Teamprojekts (WS 2010/2011) sind hier zu finden: Master-Teamprojekt 2010.

Allgemeine Informationen

Dieses Team-Projekt beschäftigt sich mit einem netzwerkbasierten Systembetrieb (diskless Remote-Boot auch über Weitverkehrsnetze) ähnlich zu den bekannten Live-CDs. Zusätzlich zu diesen soll die Möglichkeit von lokalen Erweiterungen geschaffen werden, ebenso wie die weitgehende Konfiguration von Usern, Homeverzeichnissen, dem Aussehen der grafischen Oberflächen etc. Das Ganze basiert auf einem schon länger laufenden Projekt am Lehrstuhl. Ein Teil der Komponenten ist bereits als erster Prototyp implementiert.

Termine

Präsentation des Master-Teamprojekts "Stateless Remote-Boot II" (SS 2011)

 Ort: Poolraum -110 im Keller des Rechenzentrums,
      Hermann-Herder-Strasse 10

Grundlagen

Als Grundlage für das Team-Projekt dient das am Lehrstuhl mit entwickelte OpenSLX, eine Komponentensammlung für das Vorbereiten, Verwalten und Verteilen von Linux Installationen über das Netzwerk sowie die bereits im ersten Teil des Teamprojekts erlangten Ergebnisse.

Siehe hierzu:

Voraussetzungen

  • fundierte Kenntnisse im Umgang mit Linux
  • Kenntnisse in mindestens einer der folgenden Programmier-/Scriptsprachen: C, C++ (insb. QT), PHP, Bash
  • Motivation in der Gruppe zusammen zu arbeiten

Aufgaben

  • GIT/Wiki/Ticketsystem testen..
    • Informationen zu Git

Alle Zwischenschritte sollen hier im Wiki dokumentiert werden. Alle finalisierten Komponenten sind auf http://lab.openslx.org/projects/openslx-pbs/wiki zu dokumentieren. Dieses ist ein wesentlicher Teil (schriftliche Dokumentation) des Teamprojekts.

Teilprojekte

"Preboot USB Sticks"

Es soll ein Tool zur Einrichtung und Aktualisierung von bootbaren USB Sticks geschrieben werden. Zudem gilt es den verbleibenden Speicherplatz auf dem USB Stick als Homeverzeichnis und Konfigurationsspeicher für die aus dem Netz gebooteten Systeme zu nutzen.

(Optional): Untersuchen, wie der USB Stick zur Authentifizierung sowie zum Transfer von Authentifizierungsdaten (zB Kerberos tickets) von der Preboot Umgebung in das spätere System genutzt werden kann.

Automatische Konfiguration der grafischen Standardoberflächen und Standardtools

Auf zentral gewarteten Installationen mit vielen (auch weniger erfahrenen Benutzern) macht es Sinn, die Oberflächen vorzukonfigurieren, d.h. das Aussehen der grafischen Oberfläche an den jeweiligen Nutzer, die jeweilige Institution anzupassen:
  • Einrichtung von Mail, Proxies, WWW-Startseite
  • Einrichtung des Desktops (Icons, Startmenü, ...)

In einem weitergehenden Schritt soll untersucht werden, wie sich bestimmte lokale Eigenschaften des Clients (Verfügbarkeit einer bestimmten Software, Hardware) so einbringen lassen, dass sie nur auf den Clients angezeigt werden, wo sie tatsächlich vorhanden sind (gconf, spezieller Filesystem-Layer, der die Desktop-Icons enthält, ...)

Einbindung externer Resourcen (Homeverz.)

Dieses Teilprojekt soll untersuchen, wie sich verschiedene Varianten von Online-Storage (Dropbox, Ubuntu One, ..) geeignet einbinden lassen. Wie können dabei die Restriktionen (z.B. fehlende Filetypes und Attribute bei CIFS) geeignet umgangen werden (z.B. durch spezielle Containerdateien, die gemountet werden) und wie lässt sich eine sichere Einbindung von passwortgeschützten Ressourcen erreichen?

Effiziente Konfiguration und Erzeugung der Standardresourcen (Kernel, InitramFS, ...)

Für die zentrale Erstellungen von CD ISOs oder Abbildern für bootbare USB Sticks werden jeweils angepasste Varianten der Preboot Umgebung benötigt. Die Komponenten, wie beispielsweise Kernel und Initramfs sollen durch einen Dienst erzeugt (konfiguriert und compiliert), verwaltet sowie verteilt werden.

Lizenzserver

Es soll eine Applikation entwickelt werden, die vor dem Starten eines virtualisierten Windows-Images zuerst an zentraler Stelle überprüft, ob noch Lizenzen zur Verfügung stehen oder die maximale Anzahl aktiver Teilnehmer bereits ausgeschöpft ist.

Serverseitig kann dieses Teilprojekt entweder als "Modul" für den Prebootserver oder aber als eigenständiger Dienst entwickelt werden. Auf der Clientseite wäre eine Einbindung in den vmchooser (http://lab.openslx.org/projects/vmchooser) wünschenswert.

PoolCtrl

PoolCtrl

Networkdiscovery

Networkdiscovery

Bereits bearbeitete Teilprojekte

Konfigurationsinterface im "PreBoot"

Dieses Teilprojekt befasst sich mit der Erstellung eines komfortablen (grafischen) Konfigurationsinterfaces in einer beschränkten Umgebung. Hierbei steht keine vollständige X-Windows Oberfläche zur Verfügung, d.h. die Anwendung muss direkt auf dem Framebuffer laufen. Aufgaben des Konfigurationsinterfaces:

  • Auswahl der zur Verfügung stehenden bootbaren Systeme
  • minimale Konfiguration (User erstellen, Quelle für externes Homeverzeichnis angeben, ..)

Konfigurations-Web-Applikation

Erweiterung/Neuimplementierung des experimentellen Preboot Servers.

Weiterführende Informationen

Extending_the_playground.pdf (399 KB) Sebastian Schmelzer, 10/15/2010 03:27 PM

oekpool2.pdf (1.98 MB) Sebastian Schmelzer, 05/09/2011 09:03 PM