App Volumes 4.x – mehrere Betriebssysteme [ohne Support]

AppVolume - mehrere Betriebssysteme

Update 23.03.2021: Mit Version 2103 hat diese Funktion wieder Einzug in das offizielle Produkt erhalten: https://docs.vmware.com/en/VMware-Horizon/2103/rn/horizon-2103-release-notes.html

In App Volumes 4.x ist die Möglichkeit entfallen einen AppStack mehreren Betriebssystemen zuzuweisen.

Während es in App Volumes 2.X noch möglich war in der GUI einen AppStack mehreren Betriebssystemen hinzuzufügen, so ist dies in der Version 4 verschwunden. Somit kann man eine Applikation nicht sowohl auf Windows 10 wie auch auf einem RDSH zur Verfügung stellen.
Man kann zwar die entsprechende Applikation zuweisen, sie wird am Zielsystem aber nicht gemountet.
Dies ist etwas unzufriedenstellend wenn man sowohl Windows 10 Desktops wie auch RDSHs betreibt.
Doch mit einem Trick kann man das Ziel dennoch erreichen:

AppVolume - mehrere Betriebssysteme

Doch dazu muss man die Datenbank bearbeiten.

An dieser Stelle sei gesagt das es von VMware nicht unterstützt wird die Datenbank manuell zu bearbeiten, man dies auf eigene Verantwortung tut und GSS den Support verweigern kann, sollte es hierdurch zu Problemen kommen. Ich selbst stelle auch keine Unterstützung für diese Änderung bereits und weise ausdrücklich darauf hin das die hier beschriebene Änderung auf eigene Gefahr geschieht und nicht in produktiven Umgebungen eingesetzt werden sollte. Auch kann ich nicht garantieren das dies in jeder Umgebung funktioniert.

Insgesamt gibt es drei Tabellen in denen die validen Betriebssysteme gespeichert sind:

  • app_package_operating_systems
  • snapvol_operating_systems
  • snapvol_app_bundle_operating_systems

Um dies zu erleichtern, habe ich ein SQL-Script entwickelt und als Stored Procedure gespeichert.

Man sollte immer, vor jeder Datenbankänderung, eine Sicherung dieser haben um im Fehlerfalle die Änderung rückgängig machen zu können.

Die Prozedur erwartet drei Parameter, wovon die ersten beiden gegenseitig austauschbar sind.

  • app: Name der Applikation (wenn ID nicht bekannt)
  • app_id: Die ID der Applikation (wenn bekannt)
  • os: die ID des neuen Betriebssystemes

app_id wird automatisch aus dem Parameter app gebildet, wenn die ID nicht angegeben wird.
Ist aber app_id angegeben, wird der Parameter app ignoriert.
Für die möglichen IDs für den Parameter os muss ich etwas mehr angeben. Diese sind in der Tabelle operating_systems gespeichert:

IDBetriebssystem
1Windows 10 (x86)
2Windows 10 (x64)
3Windows 8.1 (x86)
4Windows 8.1 (x64)
5Windows 8 (x86)
6Windows 8 (x64)
7Windows 7 (x86)
8Windows 7 (x64)
9Windows Server 2012 R2 (x64)
10Windows Server 2012 (x64)
11Windows Server 2008 R2 (x64)
12Windows Server 2008 (x86)
13Windows Server 2008 (x64)
14Windows Server 2016/2019 (x64

Zu beachten ist das meine Datenbank APPVOLS01 heißt und eventuell angepasst werden muss. Die Prozedur kann man entweder per SQL Management Studio ausführen oder z.B. über Powershell.
Eine Beispielimplementation habe ich ebenfalls in T-SQL:

Nun kann die Applikation auch an einem RDSH gemountet werden.

René Gessinger

Ich arbeite seit einigen Jahren als Infrastructure Architect in einem Systemhaus und Cloud Provider und betreibe vorwiegend vSphere-Umgebungen. Meine Kenntnisse und Interessen reichen von vSphere und NSX über Networking und VMware Horizon auch bis tief in Windows und Linux. Mit der Zeit kamen auch Lösungen für die Automatisierung hinzu, so z.B. Powershell, vRealize Orchestrator und Ansible. Darüber hinaus arbeite ich intern als Trainer für die Produkte vSphere, vSAN, Horizon und NSX.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.