Microsoft App-V 5 Shared Content Store Modus

Unter Microsoft App-V 4.6 haben wir in einer provisionierten Citrix XenApp und Citrix XenDesktop Umgebung gerne „Pre-Caching“ auf einer „persistent Disk“ eingesetzt, um so die virtuellen Pakete auch nach einem Neustart nicht erneut laden zu müssen. Mit Microsoft App-V 5 hat sich das Verhalten des Clients etwas geändert. Microsoft empfiehlt in solchen Szenarien den „Shared Content Store“-Modus zu nutzen. Wir wollen uns heute den Microsoft App-V Shared Content Store Modus etwas genauer angucken.

Warum Microsoft App-V 5 Shared Content Store?

Unter App-V 4.6 gab es die Möglichkeit “Shared Cache” zu nutzen. „Shared Cache“ sollte den Impact auf den App-V Clients reduzieren. Potenziell wurden hier viele und teilweise auch wirklich große fds-Cache-Dateien über sämtliche Clients hinweg erzeugt. Das galt es natürlich zu verhindern, da Festplattenkapazität teuer war. Das Microsoft App-V „Shared Cache“ Feature sollte die Antwort darauf sein. Problematisch war allerdings das Handling des zentralen Caches, wenn multiple Instanzen auf eine große Cache-Datei zugegriffen haben. Besonders der Updating-Prozess bereitete hier größere Bauchschmerzen. Die Probleme, die damit einhergingen, waren also größer als der Nutzen und somit war dieser Modus nicht sonderlich beliebt. Es blieb also die Variante der „Pre-Caching“ übrig. Die Idee, dass ca. 300MB an Applikationsdaten auf ca. 1000 VDI Desktops ungefähr 300GB an Speicherplatz auffressen, ist trotzdem einfach nicht schön.

Mit App-V 5 hat Microsoft nun also den „Shared Content Store“-Modus als Feature auf den Markt gebracht. Dieser sorgt dafür, dass die Applikationen nicht mehr komplett auf den Client geladen werden, sondern lediglich der Feature-Block 0 heruntergeladen wird. Die eigentliche virtuelle Applikation liegt weiterhin auf dem Quellverzeichnis irgendwo im Netzwerk. Startet ein Benutzer nun die virtuelle Applikation, wird das Paket direkt in den RAM geladen.

Wie funktioniert der App-V 5 „Shared Content Store“ Modus im Detail?

Gucken wir uns zunächst einmal an, wie der Microsoft App-V Client im „normalen“ Modus arbeitet.

  1. Wenn eine virtualisierte Anwendung gestartet wurde, wird ein Teil in den RAM geladen.
  2. Werden weitere Teile der Anwendung benötigt, wird geprüft, ob sich diese im RAM befinden. Ist das nicht der Fall, löst der Windows Memory Manager eine Anfrage auf der lokalen Festplatte aus. Diese Anfrage wird durch den sog. Microsoft App-V Streaming Filter geschleust.
  3. Sollten sich die benötigten Komponenten nicht im Cache auf der lokalen Festplatte befinden, fängt der Microsoft App-V Streaming Filter die Anfrage ab und lädt die benötigten Komponenten stattdessen aus dem Netzwerk (z.B. vom Streaming Server, etc.)
  4. Im nächsten Schritt werden die aus dem Netzwerk geladenen Komponenten zum Client gestreamt, um die abgefangene Anfrage des WMM zu beantworten.
  5. Zusätzlich werden die neu nachgeladenen Komponenten auf den Client transferiert und hier eingecheckt, so dass bei der nächsten Anfrage die Komponenten vorhanden sind.

Soweit so gut. Beim Microsoft App-V „Shared Content Store“ Modus wird der Ablauf minimal abgeändert. Es fehlt lediglich mit Schritt 5 das Commitment auf die lokale Festplatte. Der Vollständigkeit halber also hier nochmal der Ablauf für den SCS-Modus:

  1. Wenn eine virtualisierte Anwendung gestartet wurde, wird ein Teil in den RAM geladen.
  2. Werden weitere Teile der Anwendung benötigt, wird geprüft, ob sich diese im RAM befinden. Ist das nicht der Fall, löst der Windows Memory Manager eine Anfrage auf der lokalen Festplatte aus. Diese Anfrage wird durch den sog. Microsoft App-V Streaming Filter geschleust.
  3. Sollten sich die benötigten Komponenten nicht im Cache auf der lokalen Festplatte befinden, fängt der Microsoft App-V Streaming Filter die Anfrage ab und lädt die benötigten Komponenten stattdessen aus dem Netzwerk (z.B. vom Streaming Server, etc.)
  4. Im nächsten Schritt werden die aus dem Netzwerk geladenen Komponenten zum Client gestreamt, um die abgefangene Anfrage des WMM zu beantworten.

Es liegt also nur der Feature Block 0 auf der lokalen Festplatte und der Rest der Anwendung wird aus dem Netzwerk geladen.

Mit diesem Hintergrund wird auch klar, dass man diesen Modus auch nur im Rechenzentrum einsetzen sollte, da gesicherte Netzwerkverbindungen zwingend benötigt werden. Auf der anderen Seite wird Festplattenkapazität gespart. Ein guter Deal, oder?

Was passiert jetzt, wenn mehrere Benutzer die gleiche Applikation starten? In diesem Fall befindet sich die Applikation ja bereits im RAM und der App-V Streaming Filter wird nicht bemüht, um irgendetwas zu „intercepten“. Der Windows Memory Manager bringt diese Intelligenz gleich mit und reduziert dadurch den Overhead.

Natürlich gibt es auch eine Kehrseite der Medaille. Es sollte absolut klar sein, dass natürlich eine erhöhte Last auf dem Storage aufschlagen wird, wenn viele Clients, speziell viele Microsoft App-V Streaming Filter, Anfragen auf dem Storage platzieren. Es macht durchaus Sinn das einmal zu testen bevor man das Ganze in den Produktionsbetrieb übergibt.

Wie konfiguriere ich den Microsoft App-V 5 Share Content Store Modus?

Der SCS Modus kann auf mehreren Wegen konfiguriert werden. Zunächst kann man dem Client bei der Installation mit dem Parameter „appv_client_setup.exe /SHAREDCONTENTSTOREMODE=1“ gleich mitgeben, dass der Client im SCS Modus betrieben werden soll.

Als weitere Möglichkeit gibt bleibt natürlich eine Modifikation der Registrierung. Hier würde man einfach den Wert „SharedContentStoreMode“ des Schlüssels „HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Streaming auf 1 setzen. Natürlich lässt sich das auch über Gruppenrichtlinien so konfigurieren.

Als letzte Methode kommt natürlich noch Microsofts Antwort auf alle Fragen ins Spiel: PowerShell!

Mit dem Befehl „Set-AppvClientConfiguration – SharedContentStoreMode 1“ versetze ich den Client auch in den gewünschten Modus.

Mit Abschluss der Konfigurationsarbeiten ist ein Neustart notwendig. Es werden dann nur neue Pakete in diesem Modus betrieben.

Woran erkenne ich, dass die Daten tatsächlich nicht vollständig geladen wurden?

Wird der Microsoft App-V Client im SCS Modus betrieben, so lohnt sich ein Blick in den lokalen Cache des Clients. Hier findet ihr lediglich noch NTFS Pointer mit einer Größe von 4K (Size on Disk). Der Rest, der Applikationsdaten liegt ja wie bereits mehrfach erwähnt, im Netzwerk.

 

Welche Erfahrungen habt ihr bereits mit dem Microsoft App-V 5 Shared Content Store Modus gemacht und welchen Impact hatte das bei euch? Wir sind gespannt auf eure Erfahrungswerte! 🙂

Print Friendly, PDF & Email
0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

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