ConfigMgr 2007 SP2 Branch Cache

Service Pack 2 für System Center Configuration Manager 2007 enthält neben diversen Hotfixen auch neue Features. Eines davon ist der “Branch Cache Support“.

Was steckt dahinter und wie kann man dies beispielsweise umsetzen?

Hinter Branch Cache verbirgt sich eine neue Technologie, die mit Server 2008 R2 eingeführt wurde und es prinzipiell ermöglicht, Dateien zu cachen (zwischenzuspeichern), um somit die WAN-Auslastung zu reduzieren. Dies wird erreicht, indem gleiche Inhalte nur einmal über die WAN-Leitung übertragen werden. Branch Cache kann hierbei in zwei unterschiedlichen Modi konfiguriert werden: dem “distributed cache mode” oder dem “hosted cache mode“. Eine detaillierte Zusammenfassung findet man hier: http://technet.microsoft.com/de-de/library/ee307962(WS.10).aspx.

Die ConfigMgr-Dokumentation ist hierbei etwas knapp gehalten. In dem Artikel “Von Configuration Manager 2007 SP2 unterstützte Konfigurationen” liest man folgende gute Erklärung über die Funktionsweise:

Auf einem Clientcomputer mit aktivierter Branch-Cache-Funktion wird Inhalt, der von einem Verteilungspunkt unter Windows Server 2008 R2 zum ersten Mal heruntergeladen wird, lokal zwischengespeichert, sofern auf dem Verteilungspunkt die Branch-Cache-Funktion ebenfalls aktiviert ist. Bei späteren Anforderungen zum erneuten Herunterladen des Inhalts von diesem Verteilungspunkt durch andere Clients am selben Standort, auf denen die Branch-Cache-Funktion aktiviert ist, wird der Inhalt vom ersten Client über das lokale Netzwerk freigegeben. D. h., der Inhalt muss nicht erneut vom Verteilungspunkt heruntergeladen werden. Zur weiteren Verbesserung der Leistung wird der von Peer zu Peer übertragene Inhalt auf den Computern mit der Downloadanforderung ebenfalls zwischengespeichert. Auf diese Weise sind für gleichzeitige Übertragungen mehrere Computer verfügbar.

Was allerdings alles zu tun ist, um dies umzusetzen, wird noch knapper abgehandelt:

Die Branch-Cache-Funktion wird nur unterstützt, wenn sowohl die Verteilungspunkt-Standortsysteme, auf denen Windows Server 2008 R2 ausgeführt wird und BITS aktiviert ist, als auch die Verteilungspunkt-Dateifreigabe dafür konfiguriert wurden. Auf Clients muss außerdem der Branch-Cache-Dienst für die Ausführung im verteilten Modus konfiguriert und die Branch-Cache-Unterstützung muss in den BITS-Clienteinstellungen aktiviert werden.

Als erstes sticht einem “Server 2008 R2” in’s Auge. Als Voraussetzung für den Einsatz von Branch Cache ist also ein Distribution Point auf Server 2008 R2 notwendig. Clientseitig wird Windows 7 (oder eben Server 2008 R2) vorausgesetzt. Mit einem Update des BITS-Dienstes (“Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0)”) auf die Version 4.0 können allerdings auch Windows Server 2008 mit Service Pack 2 und Windows Vista mit Service Pack 1 oder 2 die Branch Cache-Funktionalität nutzen. Somit sind also die softwareseitigen Voraussetzungen geklärt.

Nun zur Umsetzung (diese stellt keine vollständige step-by-step Anleitung dar, sondern dient nur zur prinzipiellen Erläuterung. Eine Konfiguration kann je nach Umgebung abweichen, so dass manche Schritte überflüssig sind oder eventuell auch fehlen können).

Serverseitig:

Auf dem Distribution Point (zur Erinnerung: hier kommt nur Server 2008 R2 in Frage) muss das Feature “BranchCache” installiert werden:

Alternativ kann man dies auch recht einfach über die Kommandozeile durchführen: ServerManagerCmd.exe -i BranchCache.

Über das “Share und Storage Management” muss anschließend die Freigabe des Distribution Points (SMSPKGX$) bzw. der DP Share (DP-Share in meinem Beispiel) noch für die Nutzung von Branch Cache aktiviert werden:

Serverseitig sind die Vorbereitungen damit abgeschlossen (vorausgesetzt der DP bzw. DP-Share sind schon BITS-enabled).

Clientseitig:

Die Änderungen betreffen hier nur den BITS- und Branch Cache-Dienst. Am einfachsten lässt sich die Konfiguration mittels einer Group Policy (Gruppenrichtlinie, GPO) umsetzen:

  • Computer Configuration -> Policies -> Administrative Templates -> Network -> Background Intelligent Transfer Service (BITS): Allow BITS Peercaching: Enabled
  • Computer Configuration -> Policies -> Administrative Templates -> Network -> BranchCache: Configure BranchCache for network files: Enabled | 0 (“0” damit zu Testzwecken keine Messung der Latenz durchgeführt wird)
  • Computer Configuration -> Policies -> Administrative Templates -> Network -> BranchCache: Set BranchCache Distributed mode: Enabled
  • Computer Configuration -> Policies -> Administrative Templates -> Network -> BranchCache: Turn on BranchCache: Enabled

Um die clientseitigen Einstellungen zu kontrollieren, kann man sich die Ausgabe von “netsh branchcache show status” anzeigen lassen:

Das war’s eigentlich schon, was die Konfiguration von nicht-SCCM-Komponenten anbelangt. In ConfigMgr selbst sind keine speziellen Settings vorzunehmen, die Verwendung des neuen Features passiert automatisch, wenn “download & execute” verwendet wird.

Was passiert also clientseitig?

Dazu kurz eine Info zu dem “Testpaket”, welches schlicht 2 Files beinhaltet (File.001 und File2.001) und auf einem DP-Share namens “DP-Share” im Verzeichnis “BranchCacheTest” liegen:

Auf dem ersten Client, der das Advertisement empfängt, laufen die normalen ConfigMgr-Mechanismen ab, um Content zu ermitteln und der Inhalt des Pakets wird per BITS in den lokalen Cache geladen. Spannend ist in diesem Fall das Eventlog des BITS-Client:

EventID 60 ist hier speziell zu beachten. Hier wird der Download pro File protokolliert:

Bisher hat sich der Vorgang noch nicht von einer “normalen” Softwareverteilung unterschieden. Der Vorteil des Branch Caches kommt erst zum Tragen, wenn ein weiterer Client das gleiche Advertisement ausführen soll.

Hier sieht man, dass der Transfer dann von einem “Peer” gekommen ist:

Wie man sieht: es ist einiges an Vorbereitung nötig, aber die Branch Cache-Funktionalität von ConfigMgr SP2 integriert sich nahtlos und schont die Bandbreite von WAN-Verbindungen.

4 Gedanken zu „ConfigMgr 2007 SP2 Branch Cache

  1. Tarkan Koemuercue

    Hi All,

    reading through the MS initiated study by edision (http://www.theedison.com/pdf/2010_Samples_BranchCache.pdf) they stated that “…The release version of BranchCache and an updated SCCM now support Hosted Cache mode….” but no one else has reported this functionality!

    Is it supported now or not?

    Nevertheless…great article…I like your articles! Thanks a lot!

  2. Torsten

    An den Voraussetzungen hat sich nicht’s geändert, d.h. nach wie vor nur “distributed cache”

  3. TimoB

    Hi Torsten,

    cooles how to. wird eigtl. mittlerweile der
    branchcache hosted cache mode von
    sccm unterstützt?

    vg
    TimoB

  4. Frode Henriksen

    Nice blog post about BranchCache. My german is not good though, will you do future postings in English as well? 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert