VDI (Virtuelle Desktop-Infrastruktur)

VDI (Virtuelle Desktop-Infrastruktur) beinhaltet virtuelle Maschinen zur Bereitstellung und zum Verwalten virtueller Desktops. VDI hostet Desktop-Umgebungen auf einem zentralen Server.

Unser Ziel ist es, bestimmter Anzahl von Benutzern virtuelle Desktops zur Verfügung zu stellen. Die virtuellen Desktops werden auf Proxmox VE aufgesetzt. Die Gründe, warum VDI einsetzt wird, können vielfältig sein.
VDI bietet eine Reihe von Vorteilen, einfacher Zugriff, Flexibilität, Anwendermobilität und verbesserte Sicherheit.

Was steht in unserem Netz zur Verfügung.

  1. Ein oder mehrere physische Server mit entsprechendem viel RAM und Festplattenspeicher für die VDIs
  2. Unsere Domäne SCHULE.LAN, ein DNS, DHCP, etc. Unsere IP-Adresse des DC: 172.16.0.10
  3. Proxmox VE wird auf den physischen Servern installiert. Hier kann man nach Bedarf verschiedene VMs  mit verschiedenen Betriebssysteme installieren, wie Windows 10, Windows 11, Linux etc.

Im Einsatz sind verschiedene Clients mit verschiedenen Betriebssystemen. Die Clients Hardware reicht für Office-Arbeiten, aber nicht für Anwendungen die hohe Performance der Hardware verlangen.
Die Benutzer sollten im lokalen Netz auf den virtuellen Desktops arbeiten können, aber auch von Remote bei VPN-Nutzung.

Daten zum Netzwerk und einiger Server, die von Bedeutung sind.

Netz: 172.16.0.0/22
Domänenname: SCHULE
Realm: SCHULE.LAN
DC IP-Adresse: 172.16.0.10

Auf den Clients wird noch folgende Software gebraucht

Auf den virtuellen Desktops

Punkt
Es werden ganz normal VMs installiert. Als Betriebssystem nehmen wir Windows 10 bzw. Windows 11 und Linux Debian 12 mit Cinnamon Desktop. Man könnte auch zuerst jeweils eine Windows VM und eine Linux VM installieren und konfigurieren, mit allen benötigten Programmen. Danach können wir es in ein Template (Vorlage) umwandeln. Von dem Template kann man neue VMs klonen.
Punkt
Auf den Clients installiert wird virt-viewer und vdiclient. Als Administrator haben wir sicher einen PC, von dem wir die VMs erstellen und die Proxmox VE verwalten. Auf diesem PC reicht es, wenn nur virt-viewer installiert wird. Die Konsole kann man dann auch in Spice öffnen.

Punkt
Alle VMs, die als virtuelle Desktops dienen sollen, muss man anpassen. Hier geht es vom allem um Display. Es muss auf SPICE geändert werden. Außerdem, wenn Sound übertragen werden soll, muss man auch Audio hinzufügen, der Treiber selbstverständlich auch als spice.

Punkt
Auf den VMs, auf denen Windows 10 oder höher läuft, wird die spice-guest-tools installiert. Auf den Linux Debian 12 Desktop installiert man spice-vdagent.
Punkt
Im Netz haben wir einen DC, bedeutet für uns, dass wir für die Anmeldung der virtuellen Desktops (VMs, mit SPICE) die Benutzer aus der Domäne nehmen können. Die virtuellen Desktops werden in die Domäne SCHULE.LAN aufgenommen. Das können die Domäne unter Windows als auch unter Linux beitreten. Wie das unter Linux funktioniert, ist in einem anderen Artikel beschrieben.
Punkt
Ein Benutzer wird einer VM zugewiesen. Auch hier werden die Benutzerkonten der Domäne verwendet. Um die Konten zu nutzen, müssen wir zuerst in Proxmox VE einen neuen Realm als Active Directory Server erstellen. Wir gehen links auf Datacenter->Permissions->Realm und dann auf die Schaltfläche Add und auf Active Directory Server.

Punkt
Die Daten zu unserem Realm können wir von dem Domänen-Controller (IP: 172.16.0.10) entnehmen, z.B. aus der Samba Konfiguration /etc/samba/smb.conf
Realm = SCHULE.LAN
Net-Bios Domain: SCHULE
und alles sollte noch per SSL funktionieren.

Punkt
Jedem Benutzer wird nur eine VM zugewiesen, deshalb brauchen wir keine Gruppen zu erstellen. Wir erstellen die Benutzer mit dem gleichen Namen wie in AD.

Groß-, Kleinschreibung zwischen VDI Client App und Proxmox VE Benutzer muss man beachten. Wir gehen auf Datacenter->Permissions->Users und auf die Schaltfläche Add Hier wird ein Benutzer erstellt und wird der Realm ausgewählt, was wir früher definiert haben, in unserem Fall ist das SCHULE.LAN.

Punkt
Der nächste Schritt ist die Zuweisung eines Benutzers zu bestimmter VM. Eine VM wird ausgewählt und Zugriff-Erlaubnis wird eingerichtet. VM auswählen Permissions->Add->User Permission

Punkt
Den Benutzer auswählen und die Rolle PVEVDIClient wird zuweisen.

Die Arbeiten an den virtuellen Desktops (VMs) und auf dem Proxmox VE Server sind angeschlossen. Jetzt muss man noch die entsprechenden Programme auf den Clients installieren und konfigurieren.

Clients für die Nutzung der virtuellen Desktops einrichten.

Punkt
Wir nehmen einen Windows10-Client als Betriebssystem. Clients mit anderen Betriebssystemen könnte man auch verwenden. Installiert wird
  • virt-viewer
  • vdiclient

Bei Windows Betriebssystem, nach der vdiclient Installation, bekommt man auf dem Desktop ein Icon VDI Client. Wenn wir mit einem Doppelklick versuchen das Programm zu starten bekommen kommt folgende Fehlermeldung "Unable to read supplied configuration from any location!" Kurz gesagt, das Programm kann die Konfiguration Datei nicht finden. Das Programm sucht nach vdiclient.ini Datei.
Das Programm sucht die INI-Datei zuerst in %appdata%\VDICLient Ordner. Existiert der Ordner nicht oder befindet sich die VDIClient.ini nicht in dem Ordner, wird die Datei in VDIClient Installationsordner gesucht. Standardmäßig ist das der Ordner %PROGRAMFILES%\VDIClient

Sollten
wir den Wusch haben die VDIClient.ini Datei auf anderen Ort zu haben, ist das auch kein Problem. In diesem Fall müssen wir VDIClient Programm mit Parameter starten. Die existieren Icon Eigenschaften können wir anpassen.
Der Aufruf lautet: "C:\Program Files\VDIClient\vdiclient.exe" --config <pfad>\vdiclient.ini
Die angegebene INI-Datei wird geladen.

Punkt
Eine vdiclient.ini Datei wird z.B. in VDIClient Programmordner erstellt. In Proxmox haben wir Realm erstellt (weil wir eine Domäne haben), damit die Benutzer die Logindaten, unsere Konten der Domäne nutzen könnten. Unser Server, auf dem sich die Virtuelle Desktops befinden, heißt pve.schule.lan und hat die IP: 172.16.0.200
Die Namensauflösung pve.schule.lan im Netzwerk muss funktionieren.

Der Inhalt der Datei vdiclient.ini

 

[General]
title = VDI Login
theme = DarkBlue14
icon = vdiicon.ico
logo = vdiclient.png

[Authentication]
auth_backend = SCHULE.LAN
auth_totp = false
tls_verify = false
; den User kann man standardmäßig definieren.
user=manfred

[Hosts]
pve.schule.lan = 8006

[SpiceProxyRedirect]
pve.schule.lan:3128 = 172.16.0.200:3128
Punkt
Mit einem Doppelklick auf das VDIClient Icon wird das Programm gestartet. Bei der Anmeldung nutzen wir in unserem Fall die Logindaten eines Kontos in der Domäne. Zur Erinnerung, der gleiche Benutzer wurde auch in Proxmox erstellt und dem Realm SCHULE.LAN zugewiesen.

 

Eine Sache sollte man noch beachten. Sollte z.B. Gruppenrichtlinie definiert werden, dass das Passwort in regelmäßigen Abständen geändert worden muss, sollte man das auch entsprechend rechtzeitig machen. Wenn der Termin abläuft, kann man sich dann nicht an dem virtuellen Desktop anmelden.

Punkt
Wenn wir korrekte Login-Daten eingetragen haben und auf "Log In" geklickt haben, öffnet sich ein Fenster mit den Namen der virtuellen Desktops, auf die wir Zugriff bekommen haben. Jetzt kann man einfach die VM starten und arbeiten.

Bei einem Klick auf "Connect" verbindet sich der VDIClient mit Proxmox VE. Sollte gerade die ausgewählte VM nicht laufen, wird die automatisch gestartet. Sie können auch, wenn die Arbeit beendet ist, die VM einfach herunterfahren. Bei nächstem connect wird die wieder gestartet.

Punkt
PVE VDI Client Themes. Unter Windows und Linux den vdiclient Client mit der Option --list_themes aufrufen. Danach kommt ein Fenster mit allen möglichen Themes.