FOG Project

Der FOG Server, eine Imaging- und Cloning-Lösung für Unternehmen und Institutionen beliebiger Größe, ist das Ergebnis des FOG Project.

Mittels FOG lassen sich die gängigen Betriebssysteme Windows, Linux sowie Mac als Abbild (Image) auf dem FOG ablegen und später von dort an weitere Rechner ausrollen.
Das System bietet sich insbesondere dort an, wo in kurzer Zeit viele identische Systeme zur Verfügung gestellt werden sollen, bspw. wenn im Schulbereich alle Teilnehmer mit identisch bespielten PCs arbeiten sollen.

Nicht geeignet ist FOG zum Ausliefern von ISO-Dateien zu deren Installation via Netzwerk (im Rahmen von PXE-Boot), denn FOG setzt zunächst einen fertig konfigurierten Rechner voraus, der dann via FOG ausgelesen und sein Abbild auf dem Server vorgehalten wird.

Ein Merkmal von FOG ist seine Skalierbarkeit (Master-Slave-Modell), so lassen sich bspw. ein FOG-Server pro Standort, pro Abteilung oder mehrere zur Lastverteilung betreiben.

Systemvoraussetzungen

Voraussetzungen, um einen FOG-Server aufsetzen zu können

Systemvoraussetzungen

Voraussetzungen für den Einsatz von FOG

FOG erfordert grundsätzlich ein Linux-Betriebssystem als Basis.
Hierfür kommen bspw. in Frage:

Ferner ist eine schnelle Netzwerkanbindung ins LAN (empfohlen ab 1 GBit) erforderlich,
ebenso eine Anbindung ans Internet (im Rahmen der Installation).

Entscheidend ist der zur Verfügung stehende Speicherplatz, weil der Platzbedarf der Abbilder abhängig von deren Anzahl und der auf dem zu klonenden System installierten Software hoch sein kein.
Es ist kaum zielführend mit einem Platz von weniger als 1 TB zu starten.
Das Speichermedium selbst (langsame HDD oder schnelle SSD/NVME) ist dabei nicht entscheidend, weil regelmäßig die Netzwerkanbindung der limitierende Faktor sein wird.

An den Arbeitsspeicher werden kaum Anforderungen gestellt, sodass selbst 2 GB (bei der Installation auf einem Betriebssystem ohne grafische Benutzeroberfläche) ausreichend sind.
Empfehlenswert jedoch eher sind 4 GB.

Beim Prozessor ist selbst eine 2-Kern-CPU ausreichend.

Grundsätzlich ist kein physisches System erforderlich, sondern auch der Betrieb als virtuelle Maschine (bspw. mittels KVM/QEMU oder VirtualBox) möglich.

Einrichten des FOG

Dieses Tutorial beschreibt alle Schritte die nötig sind, um einen betriebsbereiten FOG-Server aufzusetzen.

Einrichten des FOG

Informationen zur Installation

Bevor die Installation durchgeführt wird, sollten diese Voraussetzungen beachtet werden:

  1. Es sind Root-Rechte sind erforderlich
  2. Wie vor jeder Installation sollte das System auf dem aktuellen Stand sein,
    d. h. die Paketquellen sollten aktualisiert und evtl. Updates eingespielt worden sein.
  3. Erforderlich ist außerdem eine bestehende Internet-Verbindung.
  4. Die Netzwerkkonfiguration des Servers sollte zudem mit einer statischen IP erfolgt sein.
  5. Es sollte sich kein (weiterer) DHCP-Server im Netzwerk befinden -
    die Rolle übernimmt in diesem Beispiel später FOG selbst.

Dieses Tutorial basiert auf einem frisch installierten Debian Linux (Version 12.5 Bookworm).

Einrichten des FOG

Schritt 1: Git installieren

Das FOG-Projekt verteilt seine Software mittels Git.
Falls nicht bereits geschehen, muss daher zunächst die notwendige Komponente mittels apt install git installiert werden.

FOG01_git.png

Die nötigen Dateien wurden heruntergeladen sowie eingespielt...

FOG02_git.png

...und die Installation von Git abgeschlossen:

FOG03_git.png

Jetzt kann die FOG-Software mittels Git empfangen werden.

Einrichten des FOG

Schritt 2: FOG-Software via Git laden

Es empfiehlt sich für FOG einen sinnvollen Speicherort zu wählen.
Unter Linux ist das Verzeichnis /srv als der Ort für die Daten von Diensten vorgesehen und bietet sich daher auch für FOG als Serverdienst an.

Als zukünftiger Serverdienst wird daher für dieses Tutorial mittels mkdir /srv/fog ein Verzeichnis für FOG erstellt und anschließend durch cd /srv/fog dorthin gewechselt.

FOG04_Verzeichnis_fog.png

Durch das Kommando git clone https://github.com/FOGProject/fogproject.git wird das FOG-Projekt in das Verzeichnis geklont...

FOG05_git-clone_inArbeit.png

...und ausgepackt:

FOG06_git-clone_fertig.png

Es wurde durch Git ein neues Unterverzeichnis fogproject erstellt:

FOG07_Verzeichnis_fogproject.png

Mit Hilfe von cd fogproject wird in dieses Verzeichnis gewechselt und sein Inhalt kann mit ls -al angezeigt werden.

FOG08_Verzeichnis_fogproject-Inhalt.png

Es wird mittels cd bin in das Unterverzeichnis bin gewechselt und sein Inhalt wieder mit ls -al angezeigt.

FOG09_Verzeichnis_fogproject_bin.png

Jetzt befinden sich die für das Installationsprogramm erforderlichen Komponenten auf dem zukünftigen Server und die Installation von FOG kann beginnen.

Einrichten des FOG

Schritt 3: Installation der FOG-Software - Konfiguration

Dieses Tutorial bezieht sich auf das zuvor beschriebene Laden der FOG-Software von Git und geht davon aus, dass sich das Installationsskript im Verzeichnis /srv/fog/fogproject/bin befindet.

Das Installationsprogramm wird aufgerufen durch ./installfog.sh.
In der Installationsroutine muss dann Punkt 2 für ein Debian-basiertes System ausgewählt werden.
Diese Option würde auch gewählt werden, wenn bspw. Ubuntu oder Mint anstatt Debian verwendet würden.

Soll ein Update eingespielt werden, wird wie folgt vorgegangen:
cd ~/srv/fog/fogproject (ggf. an das verwendete Verzeichnis anpassen)
sudo git pull um die neuen Daten zu erhalten
cd bin Wechsel in das Verzeichnis mit dem Installationsprogramm
sudo ./installfog.sh erneutes Aufrufen der Installationsroutine

FOG10_installfog.png

Es gibt zwei Varianten einen FOG-Server zu betreiben:
Normal (als Stand-Alone bzw. Server, der andere FOG-Server verwaltet) oder
Storage (als Speicher im Verbund mit einem bzw. für einen anderen FOG-Server).

Für die normale Variante wird n ausgewählt.

FOG11_installmode.png

Nach Festlegung der Installationsart kann die Netzwerkschnittstelle gewechselt werden.
Der Name kann sich dabei von System zu System unterscheiden und dient hier nur zur Orientierung.
Weil der Beispielserver hier nur über eine Schnittstelle verfügt, wird n ausgewählt und somit keine Änderung vorgenommen.

FOG12_networkinterface.png

Wenn FOG - wie hier später vorgesehen - auch als DHCP-Server arbeiten soll, muss zunächst y ausgewählt und dann die Adresse des Routers (Gateway) angegeben werden.
Ein evtl. angezeigter Vorschlag kann aus den Daten der zuvor ausgewählten Netzwerkschnittstelle stammen.

FOG12a_router.png

Weil geplant ist, dass der FOG-Server später als DHCP-Server fungiert und so den Klienten IP-Adressen zuweist, muss er diesen auch die Adresse des DNS-Servers mitteilen. Diese Funktion wird mit y aktiviert.
Die Adresse des DNS-Servers stammt im Beispiel noch aus den Daten der ausgewählten Netzwerkschnittstelle, ansonsten wäre sie jetzt hier einzugeben.

FOG13_dns.png

Damit den Klienten vom FOG-Server mittels DHCP eine IP-Adresse zugewiesen werden kann, muss als nächstes y 
gewählt werden.

FOG14_dhcp.png

Vom Angebot des Downloads alternativer Sprachpakete wird mittels n abgesehen.

Übersetzungen haben sich in der Vergangenheit häufig als problematisch erwiesen und überdies ist es einfacher/ergiebiger, ggf. anhand der englischen Originaltexte im Internet nach Hilfe zu suchen.

FOG15_languages.png

Wenn der FOG-Server nur (intern) im LAN verwendet wird, sind Verbindungen via HTTPS zwischen Klienten und FOG-Server nicht zwingend erforderlich.
Die Verwendung von HTTPS wurde daher mittels n nicht aktiviert (und minimiert so einen möglichen Stolperstein).

FOG16_https.png

Für den FOG-Server kann ein vom Hostnamen des Rechners abweichender Hostname verwendet werden.
Dieses Feature kann mit n deaktiviert bleiben.

FOG17_hostname.png

Es ist möglich, Daten über die Installation den Entwicklern zu übermitteln.
Wenn dies nicht gewünscht wird, n auswählen.

FOG18_sendinfo.png

Nachdem alle Angaben erfasst worden sind, wird abschließend eine Zusammenfassung angezeigt.
Mit einem Druck auf y startet schließlich die Installation.

FOG19_summary.png

Das Installationsprogramm ist jetzt bereit, die nötigen Pakete (Komponenten) einzuspielen und zu konfigurieren.

Einrichten des FOG

Schritt 4: Installation der FOG-Software - Software einspielen

Zu Beginn der Installation werden die Internetverbindung getestet, die Paketquellen angepasst und eine Liste der zu installierenden Pakete ausgegeben:

FOG20_Packetliste.png

Die Pakete werden der Reihe nach eingespielt (installing) bzw. übersprungen (skipping), wenn sie bereits auf dem System installiert sind...

FOG21_PaketInstallation.png

...sowie überprüft und konfiguriert.

FOG22_PaketeCheck.png

Die FOG-Software wurde erfolgreich installiert - jetzt muss noch die Datenbank angepasst werden.

Einrichten des FOG

Schritt 5: Installation der FOG-Software - Datenbank anpassen

Nach dem Einspielen der Pakete muss die soeben installierte Datenbank für FOG angepasst werden.
Auf Grund dieser Meldung wird dann zu einem Webbrowser gewechselt.

Das Terminal darf nicht geschlossen bzw. die Installation nicht beendet werden -
denn sie pausiert an dieser Stelle nur und muss noch fortgeführt werden!

FOG23_Aufforderung_DBupdate.png

Die angegebene URL wird in einem Webbrowser (ggf. auf einem anderen Rechner, der auf den FOG zugreifen kann) geöffnet.
Der Vorgang wird dort durch einen Klick auf Install/Update now ausgelöst.

FOG24_Aufforderung_DBupdate_Browser.png

Es erfolgt keine Anzeige des Fortschritts (was zu der falschen Annahme führen kann, der Prozess sei gescheitert) und der Vorgang kann durchaus mehrere Minuten andauern!

FOG25_Aufforderung_DBupdate_Browser_warten.png

Die erfolgreiche Initialisierung der Datenbank wird nach einiger Zeit mit der Meldung Install / Update Successful! quittiert.

FOG26_Aufforderung_DBupdate_Browser_fertig.png

Die Einrichtung der Datenbank ist damit abgeschlossen.
Jetzt wird wieder zur eigentlichen Installationsroutine zurück gewechselt.

Einrichten des FOG

Schritt 6: Installation der FOG-Software - Abschluss

Nach dem Wechsel zurück zur eigentlichen Installationsroutine wird diese mittels Enter fortgesetzt.

FOG27_Install_Fortsetzung.png

Zum Abschluss der Installation wird eine kurze Zusammenfassung angezeigt.

Der Abschnitt Setup complete enthält die URL der FOG-Management-Konsole sowie die ersten Login-Daten:
URL http://IP-Adresse/fog/management
Benutzername fog
Passwort password

Es versteht sich von selbst, dass das Passwort schnellstmöglich geändert werden sollte.

FOG28_Install_Abschlussinfo.png

FOG ist jetzt betriebsbereit.

Einrichten des FOG

Benutzernamen anpassen und Passwort ändern

Diese Aufgabe erfordert nur einen (anderen) Rechner im Netzwerk mit einem beliebigen Webbrowser.

Zum Abschluss der Installation wurde eine kurze Zusammenfassung angezeigt.
Dort standen die URL der FOG-Management-Konsole sowie die ersten Login-Daten:
URL http://IP-Adresse/fog/management
Benutzername fog
Passwort password

FOG28_Install_Abschlussinfo.png

Sollte FOG auf einem Desktop-System installiert worden sein, ist die Konsole auch dort über http://localhost/fog/management oder http://127.0.0.1/fog/management zu erreichen.

Sollte im Rahmen der Installation ''https'' aktiviert worden sein, muss die URL natürlich gegenüber diesem Beispiel angepasst werden.

Nach Aufruf der vorgenannten URL im Webbrowser erscheint der Login-Bildschirm von FOG:

FOG_Login.png

Hier werden die bekannten Zugangsdaten eingegeben und der Login gestartet.

Nach der erfolgreichen Anmeldung am FOG erscheint das Dashboard als Übersicht über die Aktivitäten des Servers.
Zum Ändern des Passwortes geht es in der Symbolleiste über den Eintrag Users.

FOG_Dashboard_Users.png

Im Main Menu können über List All Users alle Benutzer angezeigt werden:

FOG_UM_ListAllUsers.png

Über einen Klick auf den zu bearbeitenden Benutzer kann dann die Bearbeitung von Login-Kennung, Benutzername (meist Vor- und Nachname) und die Änderung des Passwortes angestoßen werden.

FOG_UM_EditUser.png

Es empfiehlt sich, unter User Name die Kennung für den Login des Benutzers zu ändern.
Ein (potentieller) Angreifer kennt somit nicht mehr automatisch die Login-Kennung des Administrators (fog), sondern muss sich eine zusätzliche Information (eben eine gültige Benutzerkennung) beschaffen.

FOG_UM_EditUserName01.png

Neben der Login-Kennung sollte der Name des Benutzers unter Friendly Name der besseren Übersicht wegen auch ausgeschrieben erfasst werden.
Mittels Update werden die Änderungen übernommen.

FOG_UM_EditUserName02.png

Die erfolgreiche Vorname der Änderungen wird mit der Meldung User updated! bestätigt:

FOG_UM_EditUserName03.png

Zum Ändern des Passwortes wird in der Zeile oberhalb des Main Menu der Eintrag Change password aufgerufen.

FOG_UM_EditUser_ChPwd01.png

Das Passwort und seine Wiederholung (um Tippfehler auszuschließen) werden eingegeben und nach dem Aufruf von Update aktualisiert.

FOG_UM_EditUser_ChPwd02.png

Die erfolgreiche Änderung wird mit der Meldung User updated! bestätigt:

FOG_UM_EditUser_ChPwd03.png

Computer erfassen (Registrierung / Inventar)

Um Computer mit FOG klonen zu können, müssen diese zunächst dem Server bekannt gemacht (bei ihm angemeldet) werden.

Die einfachste Möglichkeit hierfür besteht darin, den anzumeldenden Computer per Netzwerk booten zu lassen.
Hierbei unterscheidet sich die Vorgehensweise von Rechner zu Rechner, in der Regel ist aber fast allen gemein, dass im BIOS oder UEFI bzw. beim Start (meiste Taste F12 oder F8) ein Eintrag wie PXE Boot gewählt werden muss.

Computer erfassen (Registrierung / Inventar)

Schritt 1: Der Weg zum Bootmenü

Zu Beginn des Boot-Vorganges versucht der Rechners mittels DHCP eine IP-Adresse zu erhalten.

FOG_Reg01_DHCPRequest.png

Nach Erhalt einer IP-Adresse wird die Netzwerkverbindung entsprechend eingerichtet.
Die Abbildung hier dient nur als Beispiel und die Ausgabe (mit den genauen Daten) wird bei jedem Rechner anders aussehen.

FOG_Reg02_Adresse_erhalten.png

Es folgt der Boot-Screen von FOG:

FOG_Reg03_Bootscreen.png

Computer erfassen (Registrierung / Inventar)

Schritt 2: manuell & umfangreich

Im Bootmenü wird mittels Pfeiltasten der Eintrag Perform Full Host Registration and Inventory gewählt.

FOG_Reg04_Registrierung.png

Vom FOG wird daraufhin das Programm zur Registrierung geladen.

FOG_Reg05_RegPrgramm_laden.png

Die Registrierung beginnt mit der Festlegung eines eindeutigen Hostnamens (maximal 15 Zeichen!).

Jeder Hostname darf dabei nur einmal vorkommen und kennzeichnet den jeweiligen Rechner.
Dieser Hostname lässt sich mit der Ausweisnummer einer Person vergleichen - und diese ist ebenfalls einmalig.

FOG_Reg06_Hostnamen_eingeben.png

Danach folgen viele weitere Abfragen, die jedoch alle später noch über die Webbrowser-GUI von FOG geändert werden könnten und daher zunächst optional sind.

Optional kann angegeben werden, wie das mit diesem Rechner(typ) verknüpfte Image heißen soll.

FOG_Reg07_ImageID.png

Optional kann der Rechner einer Gruppe zugeordnet werden.
In der Praxis bieten sich hierfür bspw. die Standorte des Unternehmens oder die Namen der Abteilungen an.

FOG_Reg08_Groups.png

Optional ist eine Verknüpfung mit Snapins möglich.

FOG_Reg09_Snapins.png

Optional kann bei der Registrierung der beim Rechner verwendete Produktschlüssel hinterlegt werden.

FOG_Reg10_ProductKey.png

Optional kann angegeben werden, welcher Domäne der zu registrierende Rechner angehört.

FOG_Reg11_Domain.png

Optional kann dem Rechner ein Benutzername zugewiesen werden.

FOG_Reg12_PrimaryUser.png

Optional kann dem Rechner eine weitere Bezeichnung (Tag) zugewiesen werden.

FOG_Reg13_TagComputer1.png

Optional kann dem Rechner noch eine weitere Bezeichnung (Tag) zugewiesen werden.

FOG_Reg14_TagComputer2.png

Optional kann der Rechner mit einem bereitgestellten Image bespielt werden.

FOG_Reg15_DeployImage.png

Es werden die Informationen des zu registrierenden Systems erfasst...

FOG_Reg16_SystemInfo1.png

...wie bspw. die Details zur Hardware...

FOG_Reg17_SystemInfo2.png

...und abschließend an den FOG übermittelt.

FOG_Reg18_SystemInfo_gesendet.png

Der Host ist jetzt erfolgreich am FOG registriert.

Um Zugriff auf die soeben erfassten Informationen zu erlangen, wird in der GUI des FOG der Eintrag Hosts in der Symbolleiste gewählt.

FOG_Reg19_Dashboard_Hosts.png

So gelangt man zum Host Management und in dessen Main Menu kann über List All Hosts auf die Daten aller beim FOG registrierten Rechner zugegriffen werden.

FOG_Reg20_ListAllHosts.png

Über das Host Management kann schließlich der Eintrag des Hosts aufgerufen und bei Bedarf bearbeitet (Bestätigung mittles Update) werden.

FOG_Reg21_HostAuswahl.png

Im Bereich Host general wird eine kurze Übersicht zum Host angezeigt.
Wenn im Menüband der Eintrag Inventory gewählt wird...

FOG_Reg22_HostGeneral_Inventory.png

...werden die Detailangaben zum Host ausgegeben.

FOG_Reg23_HostHardwareInventory.png

Computer erfassen (Registrierung / Inventar)

Schritt 2: schnell & automatisch

Als Alternative zur manuellen Registrierung bietet sich in den meisten Fällen die automatische Aufnahme am FOG an.
Der gesamte Vorgang dauert keine 50 Sekunden und wird hier einem Video dokumentiert:

Im Bootmenü wird der Eintrag Quick Registration and Inventory ausgewählt.

FOG_Reg03a_Bootscreen.png

Vom FOG wird danach wie gewohnt das Programm zur Registrierung geladen...

FOG_Reg05_RegPrgramm_laden.png

...nur mit dem Unterschied, dass diesmal die Daten basierend auf der ermittelten Hardware automatisch erfasst werden.
So entfällt bspw. auch der im anderen Verfahren händisch vergebene Hostname.

FOG_Reg06a_Hostname_automatisch.png

Es werden dann wie gewohnt die Informationen des zu registrierenden Systems erfasst...

FOG_Reg16_SystemInfo1.png

...wie bspw. die Details zur Hardware...

FOG_Reg17_SystemInfo2.png

...und abschließend an den FOG übermittelt:

FOG_Reg18_SystemInfo_gesendet.png

Es wurde kein (eigener) Hostnamen vergeben - stattdessen wurde automatisch die MAC-Adresse als Namen verwendet.

Um dem mit seiner MAC-Adresse registrierten Rechner einen verständlichen Namen zuzuweisen wird in der GUI des FOG der Eintrag Hosts in der Symbolleiste gewählt.

FOG_Reg19_Dashboard_Hosts.png

So gelangt man zum Host Management und in dessen Main Menu kann über List All Hosts auf die Daten aller beim FOG registrierten Rechner zugegriffen werden.

FOG_Reg20_ListAllHosts.png

Über das ''Host Management'' kann schließlich der Eintrag des anzupassenden Hosts aufgerufen werden. 

FOG_Reg21a_HostAuswahlMAC.png

Im Bereich Host general kann bei Host Name ein neuer Name vergeben und mit einem Klick auf Update...

FOG_Reg22a_HostManagement_Edit.png

...übernommen werden:

FOG_Reg22b_HostManagement_Updated.png

Der Computer (Host) ist jetzt dem FOG unter einem selbst gewählten Namen (Hostnamen) bekannt.

Abbild von einem Computer erstellen

Um ein Abbild (Image) von einem Computer (Host) zu erstellen (in FOG als Capture bezeichnet), muss der abzubildende Computer zuvor am FOG registriert worden sein.

Abbild von einem Computer erstellen

Schritt 1: Anlegen (Definieren) eines Abbildes (Images)

Bevor von einem Rechner ein Abbild (Image) erstellt werden kann, muss ein solches zunächst definiert werden.
Dieser Vorgang wird über die per Webbrowser erreichbare GUI des FOG durchgeführt.

Zum Anlegen eines Abbildes wird in der Symbolleiste das Icon Images angewählt.

FOG_Cap01_Images.png

Im Main Menu des Image Management wird dann der Punkt Create New Image ausgewählt.

FOG_Cap02_CreateNewImage.png

Unterhalb des Image Management erscheint dann der Bereich New Image, in dem beim Punkt Image Type das einzulesende Abbild näher spezifiziert wird.
Für dieses Tutorial soll ein PC mit Linux Mint abgebildet werden, daher wird hier Linux ausgewählt.

FOG_Cap03_NewImage_OS.png

Es ist zu empfehlen, bei Partition den Eintrag Everything auszuwählen um alle Bereiche der Festplatte abzubilden.

Heutzutage nutzen nahezu alle Betriebssysteme mehrere, gelegentlich auch vor dem Benutzer versteckte, Partitionen - bspw. für das EFI-Bootsystem, ein Wiederherstellungssystem usw.

FOG_Cap04_NewImage_Partition.png

Das zu erstellende Image kann später vom Rechner komprimiert übertragen und abgelegt werden.
Um Bandbreite und Speicherplatz zu sparen empfiehlt sich ein möglichst hohes Kompressionslevel.

Die Kompression erfolgt nicht durch den FOG-Server, sondern auf Seite des Klienten.


FOG_Cap05_NewImage_Compression.png

Mittels Add wird die Definition des Abbildes übernommen.

FOG_Cap06_NewImage_Add.png

Leider unterstützen nicht alle Rechner eine derart starke Kompression und brechen mit einem unerklärlichen Fehler ab:

FOG_Cap05a_CompressionError.png

Sollte es auf Seiten des abzubildenden Rechners dieses Problem geben, sollte das Kompressionslevel auf Stufe 6 zurück genommen werden.
In der Praxis hat sich ein Wert bis 12 als meist am Besten geeignet erwiesen.

FOG_Cap06a_NewImage_Add.png

Die Änderung muss dann noch via Update übernommen werden.

FOG_Cap07a_NewImage_Added.png

Die Erfassung (Anlage) des Abbildes wird bestätigt:

FOG_Cap07_NewImage_Added.png

Wenn im Main Menu jetzt erneut der Punkt List All Images aufgerufen wird...

FOG_Cap08_ListAllImages.png

...erscheint das soeben angelegte Image unterhalb von All Images.

Jetzt ist das Abbild beim FOG fertig definiert.

Das definierte Abbild muss aber noch einem Computer zugewiesen werden.

Abbild ausrollen

Vorlage auf Computer überspielen