Von Frank Scholer auf Samstag, 03. September 2011
Kategorie: DSM

Zwischen-Sync

Leser dieses Blogs kennen sicherlich das Verhalten von Enteo v6 und DSM 7, dass erst am Ende eines Installer-Laufs der Compliance-Status aller installierten Software-Pakete in der CMDB aktualisiert wird.

Gerade im Rahmen einer Grundinstallation kann es daher schonmal eine ganze Weile dauern, bis in der Konsole der aktuelle Status des Installations-Fortschritts zu sehen ist, weil viele Pakete "hintereinander weg" ausgeführt werden.

Für DSM 7 gibt es jedoch eine Möglichkeit, einen "Zwischen-Sync" ausführen zu lassen, sodass man zeitnah Compliance-Informationen in der Datenbank und in der DSMC erhält.

Die Grundidee für diesen Artikel lieferte eine Analyse des für das OSD Imaging mitgelieferte Paket "Drivesnapshot live capture". Dort gibt es den – standardmäßig nicht in der Befehlsliste auftauchenden – Befehl "CommitChangesForImaging".

Während der Name des Befehls impliziert, dass dieser Befehl dafür sorgt, dass z.B. Festplatten-Caches geschrieben werden oder vielleicht der Volume Shadow Copy Service über eine bevorstehende Imaging-Aktion imformiert wird, legt die Analyse des Logfiles bei der Ausführung des Befehls einen anderen Anwendungszweck nahe: es wird ein Client-Sync durchgeführt, um einen konsistenten Compliance-Status des zu erstellendes Images sicherzustellen, wie folgender Logfile-Auszug zeigt:

-> CommitChangesForImaging/TW
   SWMSRT: Performing client sync for computer 'xxxx' and user 'yyyy' with QoS level 'InstallerFinishing'
   SWMSRT: Performed client sync (C:\Program Files\Common Files\enteo\NiLogs\PerformSync_#.log) successfully
   xniOSD: SyncResult is 0

Natürlich kann dieser Befehl dann auch dazu "missbraucht" werden, auf Anforderung einen Client-Sync zu initiieren und somit für eine Aktualisierung des Compliance-Status der Policy-Instanzen in der Datenbank und damit in der Konsole zu sorgen.Beispielsweise lässt er sich in einem Paket einbauen, das nach der Ausführung eines Pakets (über eine Job-Policy) ausgeführt wird.

Es muss natürlich darauf hingewiesen werden, dass solche zusätzlichen Client-Syncs zu einer erhöhten Last auf dem BLS führen. Daher ist die Verwendung mit Vorsicht und Bedacht zu planen. Zum Beispiel könnte man dafür sorgen, dass das Paket nur während einer Grundinstallation läuft, während im täglichen Betrieb – wo in der Regel eh nur wenige Pakete auf einmal installiert werden – der am Ende der Installations-Sitzung sowieso stattfindende Client-Sync ja für eine Aktualisierung der Policy-Instanzen sorgt.

Übrigens ist es nicht erforderlich, dass der Befehl manuell über einen Texteditor in der Script.inc des Pakets hinterlegt wird. Wird die benutzerdefinierte Variable "Preview", deren Wert auf 1 gesetzt werden muss, angelegt, so werden in der Befehlsliste der Packaging Workbench die (nicht offiziell unterstützten) "Beta-Befehle" angezeigt, zu denen auch der hier vorgestellte Befehl "CommitChangesForImaging" gehört.

Kommentare hinterlassen