Image-Erstellung¶
Die Image-Erstellung ist das Herzstück von PVS Forge. Sie macht aus einem vorbereiteten Master Target eine versionierte vDisk, die in PVS importiert und auf Ihre gesamte Farm synchronisiert wird — in einem einzigen, wiederholbaren Lauf. Diese Seite erklärt, was in jeder Phase passiert.
Der Ablauf im Überblick¶
PVS Forge orchestriert dies vom PVS-Server aus, steuert das Master Target über WinRM und die PVS-Farm über das Citrix-PVS-Snap-in.
1. Vorbereiten¶
- Zuerst wird die Erreichbarkeit geprüft: Ping, WinRM und Store-Pfad.
- Die Netzwerkkonfiguration des Master Targets wird geprüft: Nutzt ein Adapter eine feste IP-Adresse, erscheint ein Hinweis im Benachrichtigungscenter — eine feste Adresse wird unverändert in die vDisk übernommen und kann beim Boot dieser vDisk auf anderen Maschinen zu Fehlern führen. Stellen Sie das Master Target vor dem Imaging auf DHCP um. Der Lauf selbst wird nicht blockiert. Sobald Sie die vorgeschlagene Lösung einmal geöffnet haben, gilt der Hinweis als quittiert und erscheint für dieses Master Target nicht erneut — außer die IP-Konfiguration ändert sich.
- Ein optionaler Reboot wird ausgeführt (sofern nicht in den Einstellungen deaktiviert). Steht ein Neustart aus, startet PVS Forge ohnehin neu — auch beim Opt-out — und wartet, bis das Target wieder verfügbar ist.
2. Sealing¶
Sealing friert das Target vor der Aufnahme in einen sauberen, stabilen Zustand ein:
- Auto-Update-Dienste werden deaktiviert (Windows Update und verwandte sowie, falls vorhanden, Edge-, OneDrive- und Teams-Updater). Das ist entscheidend — alles, was nach dem Snapshot aktualisiert, wäre nicht in der vDisk enthalten.
- Ereignisprotokolle werden geleert, damit die vDisk sauber startet.
- Optional kann hier ein benutzerdefiniertes Sealing-Skript laufen, um eigene Vorbereitungen durchzuführen; seine Änderungen landen in der vDisk.
Welche Dienste und Einstellungen PVS Forge genau anfasst, ist unter Der Sealing-Vorgang im Detail aufgelistet.
3. Imaging¶
PVS Forge erstellt einen Snapshot der laufenden Disk und schreibt ihn als VHDX in den Store. Die VHDX enthält nur die belegten Blöcke, nicht die gesamte Disk-Größe.
Wie lange dauert es?
Der Durchsatz wird durch die Disk-I/O des Master Targets begrenzt, nicht durch das Netzwerk. Als grober Richtwert sind etwa 50 MB/s bei 10 GbE zu erwarten. Eine vDisk mit ~75 GB belegt dauert in der Größenordnung von 25–30 Minuten.
4. Unsealing¶
Nach dem Imaging werden die beim Sealing vorgenommenen Änderungen zurückgenommen: Die Auto-Update-Dienste werden wieder aktiviert, damit das Master Target für die nächste vDisk-Version wartbar bleibt. Die genaue Liste steht unter Was das Unsealing wiederherstellt.
5. Import in PVS¶
PVS Forge schreibt ein Import-Manifest und importiert die VHDX in den Ziel-Store, anschließend werden die konfigurierten Write-Cache-Einstellungen angewendet.
| Write-Cache-Typ | Einsatz |
|---|---|
| RAM + Disk, Async-I/O | Standard — beste Performance |
| RAM + Disk, kein Async-I/O | Diagnose, z. B. bei Boot-Problemen |
Die Write-Cache-Größe ist konfigurierbar (üblicher Standard 4096 MB; größer bei VDAs mit mehr RAM). Das Load Balancing wird im Zuge des Imports gesetzt und ist an Sync gekoppelt (siehe unten).
6. Sync¶
Ist Sync aktiv (Standard je Master Target), wird die importierte vDisk auf jeden PVS-Server der Farm kopiert und auf Load Balancing gesetzt, sodass alle Server die neue Version streamen können. Bei aktiver erweiterter Repliken-Prüfung (optional, siehe Einstellungen) werden die gesyncten Kopien als letzter Schritt nach grünem Replikationsstatus validiert — das vom Imager geschriebene Original wird nicht geprüft. Das kostet einige Minuten je Kopie; eine Kopie mit nachgewiesener Korruption wird gelöscht und gemeldet, statt Citrix' Größe/Datum-Prüfung stillschweigend zu passieren.
Kein Sync, kein Load Balancing
Deaktivieren Sie Sync für ein Master Target vor dem Start, wird die vDisk nur auf dem PVS-Server importiert, auf dem PVS Forge läuft, und auf diesen Server gepinnt — Load Balancing wird nicht aktiviert. Das ist Absicht: eine load-balancte vDisk, die nur auf einem Server liegt, würde PVS Targets auf Server ohne diese vDisk leiten, und die würden nicht booten. Aktivieren Sie Sync wieder, um die vDisk farmweit zu verteilen und load-zu-balancen.
Diese Kopplung gilt für Stores auf einem lokalen Laufwerk der
PVS-Server. Zeigt der Store auf eine zentrale Freigabe (ein UNC-Pfad wie
\\nas01.example.com\store), gibt es eine Kopie, die jeder PVS-Server
erreicht — Sync ist dort nicht anwendbar, und die vDisk wird immer
load-balanced importiert.
Auftrag während des Syncs abbrechen
Brechen Sie einen Auftrag ab, nachdem die vDisk importiert wurde, aber bevor die Verteilung abgeschlossen ist, existiert die vDisk in PVS, ist aber nicht auf allen Servern verfügbar. PVS Forge behandelt das als Fehler: Der Auftrag endet mit dem Status Abgebrochen - vDisk NICHT verteilt, und falls E-Mail konfiguriert ist, wird eine Fehler-Benachrichtigung mit angehängtem Auftragsprotokoll gesendet — es kann also nicht unbemerkt bleiben, dass die neue Version noch nicht in Produktion gehen darf. Starten Sie den Auftrag erneut oder verteilen Sie die vDisk manuell, bevor Sie sie verwenden.
7. Benachrichtigung¶
Falls konfiguriert, sendet PVS Forge bei Abschluss des Auftrags eine Benachrichtigung (E-Mail, Teams oder Slack).
Der Sealing-Vorgang im Detail¶
Sealing ist bewusst transparent: Dieser Abschnitt listet genau auf, was PVS Forge vor der Image-Aufnahme auf dem Master Target ändert — und was danach wiederhergestellt wird. Jeder Schritt wird zusätzlich im Seal-/Unseal-Log protokolliert (siehe Protokollierung), inklusive der Liste der Dienste, die auf Ihrer Maschine tatsächlich angefasst wurden.
Schritte vor dem Imaging¶
Die Schritte laufen in dieser Reihenfolge auf dem Master Target:
-
Änderungen des Maschinenkonto-Kennworts werden deaktiviert (optional, standardmäßig aktiv): PVS Forge setzt
DisablePasswordChange = 1unterHKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters. Auf nicht-persistenten Targets würde die OS-eigene Kennwort-Rotation die Domänen-Vertrauensstellung brechen, daher übernimmt PVS die Rotation. Der vorherige Wert wird ins Seal-/Unseal-Log geschrieben. Diese Einstellung bleibt in der vDisk und wird beim Unsealing bewusst nicht zurückgenommen — siehe unten. Abschaltbar in Einstellungen → vDisk & Imaging.Voraussetzung
„Automate computer account password updates“ muss auf dem PVS-Server aktiv sein, damit PVS die Kennwort-Rotation zentral übernimmt.
-
Ein optionales benutzerdefiniertes Sealing-Skript läuft.
-
Update-Dienste werden gestoppt und deaktiviert, damit nach der Aufnahme des Snapshots nichts mehr das System verändert. Die genauen Dienste und Einstellungen:
Komponente Dienst / Einstellung Beim Sealing Beim Unsealing Windows Update Medic WaaSMedicSvcgestoppt, Starttyp Deaktiviert Starttyp Manuell Windows Update wuauservgestoppt, Starttyp Deaktiviert Starttyp Manuell, gestartet Update Orchestrator UsoSvcgestoppt, Starttyp Deaktiviert Starttyp Manuell, gestartet Windows-Update-Richtlinie NoAutoUpdate = 1unterHKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AUgesetzt entfernt ( NoAutoUpdateundAUOptionsgelöscht)Microsoft-Edge-Updater (falls installiert) edgeupdate,edgeupdatemgestoppt, Starttyp Deaktiviert Starttyp Automatisch OneDrive-Updater (falls installiert) OneDriveUpdaterServicegestoppt, Starttyp Deaktiviert Starttyp Automatisch Microsoft Teams (neues Teams) (falls installiert) disableAutoUpdateunterHKLM\SOFTWARE\Microsoft\Teamsauf 1gesetztzurück auf 0WaaSMedicSvcwird zuerst behandelt, weil dieser Dienst die anderen Windows-Update-Dienste überwacht und sie sonst wieder aktivieren würde. -
Ereignisprotokolle werden geleert: Die Protokolle Anwendung, System und Sicherheit werden geleert, damit die vDisk sauber startet.
Was das Unsealing wiederherstellt¶
Nachdem das Image geschrieben ist, nimmt PVS Forge die Update-Änderungen auf dem Master Target zurück (siehe Spalte „Beim Unsealing“ oben), damit es für die nächste vDisk-Version wartbar bleibt:
- Die Windows-Update-Dienste werden zurück auf Manuell gesetzt — das ist ihr Windows-Standard (sie werden bei Bedarf per Trigger gestartet) — und gestartet.
- Die Windows-Update-Richtlinienwerte werden entfernt; Edge- und OneDrive-Updater gehen zurück auf Automatisch, das Teams-Auto-Update wird wieder eingeschaltet.
- Das Unsealing läuft auch dann, wenn der Auftrag nach dem Sealing abgebrochen wird oder fehlschlägt — das Master Target bleibt nie mit deaktivierten Updates zurück.
Die Maschinenkonto-Kennwort-Einstellung ist die einzige Ausnahme: Sie wird nicht zurückgenommen, weil sie in der vDisk verbleiben muss (und PVS die Kennwort-Rotation weiterhin zentral übernimmt).
Warum die vDisk mit deaktivierten Updates bleibt¶
Das Image wird aufgenommen, während die Updates deaktiviert sind — jedes Target, das von der vDisk streamt, bootet also mit ausgeschalteten Updates. Das ist Absicht: Auf nicht-persistenten Targets würden Updates in den Write Cache heruntergeladen und installiert — und bei jedem Neustart verworfen — und dabei auf jeder einzelnen Maschine Bandbreite, CPU und Disk-I/O verschwenden. Updates gehören auf das Master Target, das nach jedem Lauf entsiegelt wird und damit immer bereit für den nächsten Patch-Zyklus ist.
Smart Parallel Imaging¶
Sie können mehrere Master Targets auswählen und gleichzeitig imagen. Jedes Target durchläuft den vollständigen Ablauf unabhängig, mit eigenem Status, eigenen Live-Log-Zeilen und eigenem Verlaufseintrag. PVS Forge lässt diese Aufträge aber nicht einfach alle gegen denselben Server laufen — es verteilt die Imaging-Arbeit über Ihre PVS-Farm.
Wie die Arbeit verteilt wird¶
Wenn Sie mehrere Master Targets auswählen und Alle starten klicken, plant PVS Forge den gesamten Stapel, bevor der erste Auftrag beginnt:
- Es ermittelt das erwartete Datenvolumen jedes Master Targets (den belegten Platz auf seiner Systemdisk) und berechnet daraus eine Last pro PVS-Server.
- vDisks, die farmweit gesynct werden, werden dann direkt auf dem Store eines Remote-PVS-Servers erstellt — die größten zuerst, jede auf dem Server mit der geringsten aufgelaufenen Last, sodass die Schreiblast so gleichmäßig wie möglich verteilt ist.
- vDisks ohne Sync (auf einem Store mit lokalem Laufwerk) bleiben immer auf dem PVS-Server, auf dem PVS Forge läuft, denn dort werden sie importiert und gepinnt (siehe Kein Sync, kein Load Balancing).
- vDisks auf einem Store, der auf eine zentrale Freigabe zeigt, schreibt der PVS-Forge-Host auf diese Freigabe und importiert sie load-balanced — es gibt eine Kopie für die ganze Farm, weder Sync noch Pinning greifen.
- Gibt es mehr vDisks als PVS-Server, stapeln sich Aufträge auf einem Server. Ein gestapelter Auftrag startet nicht sofort: PVS Forge verzögert ihn, bis der vorherige Auftrag auf demselben Server gut vorangekommen ist — so konkurrieren nie zwei Images mit voller Geschwindigkeit um dieselben Disks.
Warum Sync-vDisks auf einem Remote-Server erstellt werden¶
Eine vDisk mit aktivem Sync landet ohnehin auf jedem PVS-Server — sie direkt auf einem Remote-Server zu erstellen kostet also nichts extra, nimmt aber die Schreiblast des Imaging-Laufs vom PVS-Forge-Host. Mehrere vDisks werden gleichzeitig auf die Disks unterschiedlicher Server geschrieben, statt um denselben Storage zu konkurrieren. Genau das ist der Nutzen: Disk-I/O — nicht das Netzwerk — ist der Engpass eines Imaging-Laufs, der gesamte Stapel ist dadurch deutlich schneller fertig. Nach dem Imaging holt PVS Forge die vDisk auf den eigenen Host, importiert sie dort und verteilt sie im Zuge des normalen Sync auf die übrigen Server.
Alle starten vs. Einzelstart¶
Die smarte, größenbewusste Verteilung läuft nur bei „Alle starten“ (dem Stapel-Start). Ein einzelner Auftrag über den Play-Button seiner Zeile nimmt stattdessen einen leichtgewichtigen Sofort-Pfad — ohne vorherige Größenmessung, damit der Auftrag sofort startet. Einzelaufträge und Stapel sehen einander trotzdem: Ein Sync-Auftrag geht auf einen freien PVS-Server (freie Remote-Server zuerst, dann der freie lokale Server); erst wenn jeder PVS-Server bereits imaged, reiht sich der neue Auftrag auf dem am wenigsten beschäftigten Server hinter der laufenden Disk ein und startet versetzt, sobald diese die konfigurierte Schwelle erreicht hat. Ein Auftrag ohne Sync läuft immer auf dem lokalen Server.
Während ein Stapel läuft, bleiben die übrigen Zeilen verfügbar: Freie Master Targets lassen sich einzeln per Play starten oder markiert als zweiter Stapel über „Alle starten“. Gesperrt sind nur Zeilen, die zu einem noch laufenden Stapel gehören — jede Zeile wird wieder frei, sobald ihr eigener Auftrag endet (oder abgebrochen wird), auch wenn der Rest ihres Stapels noch imaged. Abbrechen stoppt immer alles, was gerade läuft.
Einzelne Targets im Live-Log verfolgen¶
Wenn mehrere Targets parallel imagen, teilen sich ihre Meldungen ein Live-Log; jede Zeile ist mit ihrem Target gekennzeichnet. Mit dem Log-Filter über dem Live-Log zeigen Sie nur die Zeilen eines Master Targets an; Alle zeigt wieder den kombinierten Strom.
Protokollierung¶
Jeder Lauf schreibt detaillierte Seal-/Unseal-Logs auf dem Master Target, und das vollständige Auftragsprotokoll bleibt im Imaging Verlauf erhalten.