Virtual Destop mit Proxmox

Ok, mittlerweile hat die Verbindung zu einer VM mit SPICE auch hier geklappt (und zwar sowohl mit dem Download der Spice-Datei als auch mit dem o.g. Script/Desktop-Symbol + eingeschränkten User-Rechten).

Es ist wirklich sehr flott und läuft im "Single-User-Mode" ganz gut. Leider ist es damit aber nicht möglich, dass mehrere Sessions zur gleichen VM geöffnet werden, richtig? Die würden alle das gleiche sehen, richtig?

Das o.g. Problem bleibt übrigens: Obwohl die SPICE-Verbindung läuft und alles richtig angezeigt wird, ist die Verbindung via Browser und noVNC fehlerhaft. Die Maus reagiert dann nicht korrekt, so dass man die VM vom Browser aus nicht mehr richtig nutzen kann. Das ist schade, da man ja evtl auch darüber etwas ändern will o.ä. Man müsste dann zuvor wieder von SPICE auf die Standardeinstellung wechseln, was aber nicht wirklich praktikabel ist, meine ich?!

Zuletzt fiel mir noch auf, dass der User, der eingeschränkten Zugriff auf diese eine VM hat, für meinen Geschmack dennoch dort viel zu viel anstellen kann (Backups anwerfen usw usw). Außer PVEUser gibt's aber keinen vordefinierten User, der so gut wie nichts darf außer die VM nutzen, oder?

Alles in allem eine schöne Alternative zu VNC (auch wenn man USB & Sound der VM braucht) -- aber noch mit ein paar Kinderkrankheiten, meine ich...

Schönen Gruß.
 
Sprich gibt es eine Möglichkeit die Windows-Basis-Installation und ein Image mit Standard-Software nur 1x zu haben und dann nur die Nutzerdaten jeweils extra zu speichern? (Also abseits von RDS ;) )
Event. ist "Verknüpfter Klon" was für dich. Dann sparst du dir auf jeden Fall mal den Festplattenspeicher des Systems. Außerdem kannst die Nutzerdaten auf nen Server via Windows oder Sambashare ablegen. Auch Servergespeichertes Profil wäre eine gute Wahl.
 
@fireon Jetzt kommen wir der Sache schon näher ;-) Verknüpfte Clones. Eine Frage dazu. Du hast diese Lösung ja schon bei einigen laufen. Ich vermute mal, du machst aber einen Statische VDI zuweissung oder? Ansonsten fehlt mir hier die Brokerkomponnente. Ausserdem suche ich mehr ein dynamische VDI generierung. Also User meldet sich an ,VDI wird im cluster erzeugt und nach abmelden wieder zerstört. So vom Grundsatz her.... Dazu müsste der Connection Broker aber in der Lage sein die Reccourcen des Cluster (CPU/MEM/IO etc. ) auszuwerten. Und genau an der Stelle finde ich nichts. Weder Open Source noch Kommerziell.

Ach ja vielleicht sollte ich mal was über die Dimension die ich benötige sagen. Ich habe hier maximal 350 Session gleichzeitig (tagsüber) und nachts 120 Sessions. Das ganze im moment auf Citrix und Nutanix basis. Würde ich halt gerne durch Spice und Proxmox ablösen...

PS: Cantivo VDI scheint ja in diese Richtung gegangen zu sein. Leider findet man dazu nicht mehr viel. War ein Projekt in 2012
 
Last edited:
@whiterabbit Wie fireon schon schreibt musst du es als Workstation sehen. Userberechtigungen machst du in einer Windowsdomäne am besten über die GPO. Da kannst du so gut wie alles für die User konfigurieren. Wenn du keine Domäne hast, geht das auch alles über die Registry.
 
Also generieren wirst du das vermutlich schon über die Proxmox API können. Löschen würd ich die ja nicht unbedingt so lange es ja nicht zu viel Platz durch verknüpften Klon frisst. Das Template muss eben so aufgebaut sein das es sich direkt in Netzwerk/Domäne reinhängt. Wir haben da ne andere Lösung, wo wenn die VM das erste mal gestartet wir, geschaut wird wo und wie viel Ressourcen zur Verfügung stehen, diese werden dann dementsprechend dynamisch gesetzt. Der Windowshostname wird mittels XML zufallsgeneriert und die Domänenanbindung erfolgt automatisch über domjoin. Das ganz funktioniert hier einwandfrei, aber mit ner Eigenimplementierung von Virtualbox.
Wäre natürlich toll wenn man die Idee auf Proxmox umlegen könnte :cool:
 
Wir werden uns das Thema nächste Woche mal genauer anschauen. Mal schauen welche möglichkeiten die Proxmox Api hier bietet. Kann aber noch nichts versprechen. Wir müssen dazu auch erst mal ein paar Ressourcen frei schaufeln...
 
  • Like
Reactions: fireon
Was ihr hier baut klingt wirklich gut.

Ich sitze gerade an einem ähnlichen Projekt und beim Lesen hier sind mir ein paar Dinge eingefallen:

1.) Die Probleme mit NoVNC kann ich bestätigen, sobald man Spice als Grafikhardware nutzt. Man kann die VM aber dennoch im Browser bedienen, wenn man den Standard-Viewer in den Proxmox Einstellungen auf Spice setzt und im Browser den Dateityp entsprechend verknüpft. Es öffnet sich dann halt einfach der normale Spiceviewer statt das NoVNC Java Browser geraffel.

2.) @Christian Thiele: Ist euer Proxmox wirklich so flott, das ihr innerhalb von für den User nicht nerviger Zeit (<2-3s) eine VM klonen und in die Domäne bauen könnt?

Wir haben das hier etwas anders vor. Die User, die mit den Systemen arbeiten sind immer die gleichen, aber sie rotieren hin und wieder ihre Arbeitsplätze. Daher bekommt jeder User seine eigene VM. Die kann natürlich ein Klon aus einem Template sein.
Momentan stehe ich aber vor ein paar Problemen:

1.) Woher weiß der Client vor dem der User sitzt zu welcher VM die Verbindung hergestellt werden muss (Ist bereits durch eine mit Zenity gelöste Username/Passwort Abfrage gelöst)

2.) Wie bekomme ich es hin, das der User an seiner VM automatisch angemeldet wird. Er hat ja vorher bereits seinen Benutzernamen und Passwort eingegeben damit die korrekte VM gewählt werden kann.

3.) Wenn der User seine VM mal neu starten muss, oder diese abstürzt, wie kann der User die VM wieder hochfahren ohne Zugriff auf die Proxmox WebUI -> Da werde ich wohl mit der Proxmox API etwas bauen müssen um den Status der VM abzufragen und diese falls nötig zu starten.

4.) Wie bekomme ich folgendes hin: Wenn User A an Arbeitsplatz A sich an seiner VM angemeldet hat, jetzt muss aber User B an dem Platz arbeiten. User A meldet sich an seiner VM in Windows ab. Spice zeigt jetzt die Anmeldemaske des Windows auf der VM von User A. User B würde sich jetzt an der falschen VM anmelden. Wenn User A also den Abmelden Button in seiner VM klickt, muss nicht nur der User in Windows abgemeldet werden, auch die Spice Sitzung muss beendet werden damit ein anderer User bei seiner Anmeldung die korrekte, seine eigene VM zugewiesen bekommt. Das scheint mir sehr tricky zu sein, ich habe da aber schon eine Idee per Windows Abmeldescript. Bin allerdings etwas skeptisch das das so funktionieren kann.

Zur Zeit funktioniert das was wir da machen wollen noch am besten über eine FreeRDP Sitzung. Ich finde aber das Spice etwas performanter zu sein scheint und auch weniger zu Grafikfehlern neigt.

Wie realisiert ihr das Durchreichen von USB Geräten? An meiner Testmaschine ist in der Spice Sitzung das Durchreichen von USB irgendwie ausgegraut. Per RDP bekomme ich nur Drucker richtig durchgereicht, aber wir haben an einigen Arbeitsplätzen Kartenlesegeräte (KEINE Smartcards zum anmelden). Testweise habe ich daher ein Konstrukt mit Hilfe von "Virtual Here" gebaut.
 
Hi,

Na ja noch haben wir nichts gebaut ;-) Ist im Moment auch wirklich schwer. Bei mir ist schon wieder ein Kollege krank. Auf ein paar Punkte, aus Deiner Mail, möchte ich kurz eingehen.

Wir wollen das mit einen Pool Cache realisieren. Das heißt die Vorgabe ist z.B. immer 10 VDI's im Cache also online zu haben. Das kann man noch abstufen nach Uhrzeit etc. ist aber für den Anfang zu komplex. Genauso werden wir am Anfang eine fortlaufende Lastverteilung und noch keine Lastabhängige einbauen. Also Abwurf immer schön der Reihe nach. Gibt sicherlich bessere Varianten, aber hier geht es erst mal um ein Konzept.
Derzeit fahren wir ein Umgebung aus Nutanix und Citrix Xendesktop. (Serverdesktop) . Dadurch haben wir heute schon eine sehr reglementierte Umgebung und alle Daten schön sauber getrennt.
Also Profile, Daten Laufwerke, Vorgaben etc. Dadurch ist es einfach mit RAW Images zu arbeiten und die notwendigen Daten zuzumappen. Wir haben zwar auch "Springer" aber durch eine Sitzungsleerlaufzeit von 3 Stunden wird deren Bedarf abgedeckt.
D.h. auch das Konstrukt in für Proxmox muss ein reconnect ermöglichen. Diese Information muss der Broker an den Client bei erneuter Verbindung weitergeben.(Dein 1. Punkt)
Die Eingabe von User und Beutzername werden wir über ein Webinterface realisieren. Dahinter findet ein SSO gegenüber einen AD oder einen LDAP statt. Hat auch den Hintergrund das wir dann eine kleine Linux auf unseren TC's ausrollen können wo nur der Spice Client und ein Webclient installiert ist. (Dein 2. Punkt)
Bei Problemen auf einen Client, greift zumindest bei uns, immer das "Helpdesk" ein. Ich weiß nicht ob ich den Usern ermöglichen möchte IhreMaschine selbst neu zu starten. Deshalb ist unser Plan das nach dem Abmelden (nicht Trennen!) die Maschine weggeworfen wird. Das heißt wenn er sich neu anmeldet bekommt er eine neue VM (Dein Punkt 3.)
Ich denke deine Frage 4 lässt sich aus den obigen Punkten beantworten.

Zur Frage USB kann ich noch nicht zuviel sagen. Wenn ich es richtig verstanden habe, muss der Client es unterstützen und das funktioniert wohl nur richtig bei einen Linux Client. Aber wie gesagt noch nicht getestet.
 
Last edited:
1.) Die Probleme mit NoVNC kann ich bestätigen, sobald man Spice als Grafikhardware nutzt. Man kann die VM aber dennoch im Browser bedienen, wenn man den Standard-Viewer in den Proxmox Einstellungen auf Spice setzt und im Browser den Dateityp entsprechend verknüpft. Es öffnet sich dann halt einfach der normale Spiceviewer statt das NoVNC Java Browser geraffel.
Hi. Das stimmt zwar -- doch klappt das natürlich dann nur auf solchen Rechnern, wo man zuvor den SpiceViewer instlaliert hat. Es ist daher leider auch keine "Allround-Lösung".
 
Und wo ist hier das Problem?
Das "Problem" tritt immer dann auf, wenn man die Proxmox-WebGUI von verschiedenen Rechnern aus bedienen möchte/muss. Wenn dann lokal kein SpiceViewer installiert wurde, kann man die VM nicht wie gewohnt bedienen. Das ist ja dann kein Zugewinn sondern eher ärgerlich, da man einen Schritt zurückgeworfen wurde...
 
Das "Problem" tritt immer dann auf, wenn man die Proxmox-WebGUI von verschiedenen Rechnern aus bedienen möchte/muss. Wenn dann lokal kein SpiceViewer installiert wurde, kann man die VM nicht wie gewohnt bedienen. Das ist ja dann kein Zugewinn sondern eher ärgerlich, da man einen Schritt zurückgeworfen wurde...
Ist für mich jetzt unlogisch. Wir haben jede Menge Windows10 mit Spice draussen. System bootet mit Linux, Zugriff auf SpiceVM wird automatisch gestartet. Der Kunde merkt nicht nach mal das da ein Linux drauf ist. Macht der Kunde das Spicefenster versehentlich zu wirds automatisch sofort wieder geöffnet.
Seh da kein Problem. Spiceviewer wird sowiso automatisch über Foremen/Puppet installiert. Willst leicht manuell herumlaufen und Spiceviewer installieren? ;) Und fallst Windwowsclients hast, gibts da ja noch GPO, da kannst auch MSI ausrollen.
 
Nix tragisches, wenn Proxmoxdesktop läuft (Kunde arbeitet direkt drauf), was hier oft vorkommt, dann nen Tuxedo mit 16GB Ram i5 SSD... Server je nach Last, kann ich dir ja nicht sagen, kommt drauf an was das Teil alles macht, wie viele VM's... Spicescript ist direkt auf Proxmox drauf "/usr/share/doc/pve-manager/examples/spice-example-sh"
 
Ok, und wie realisierst du den Autostart Spice und vor allem den Auto-Reconnect, wenn's geschlossen wird?
Das ist einfach, stell ich in den Plasma Systemsettings ein. Läuft hier bei unseren Proxmoxkassen mit Touchscreen :) Meldet sich der Kunde z.B. versehentlich ab, wird automatisch wieder eingeloggt und das Spicefenster im Vollbild geöffnet.
 
Hallo Zusammen,

Ich wollte mich mal nach langer Zeit wieder in diesem Thread melden. Um eins gleich vorweg zu nehmen. Nein wir sind noch nicht wirklich weiter gekommen. Hängt wie immer an der Zeit und an anderen Projekten. Da ich aber wenigstens etwas Schwung in die Geschichte bringen möchte, habe ich mal Kontakt zu den Jungs von Ravada aufgenommen. Sie fanden die grundsätzliche Idee auch ziemlich gut und haben mich gebeten einen Featurerequest in Ihrem Github auf zumachen. Dieser ist hier zu finden:

https://github.com/UPC/ravada/issues/932

Es würde mich freuen wenn daraus etwas neues entsteht und Proxmox dadurch eine VDI Anbindung bekommt.
 
  • Like
Reactions: fireon
Nur eine kurze Info zum Zwischenstand. Es geht voran. Ravada möchte nächste Woche bei sich intern ein Testsystem mit Proxmox aufsetzen.
Sie haben sich das vorab schon einmal angeschaut und denken das eine Unterstützung mit relativ wenig Problemen möglich ist.

Ich halte euch über die weitere Entwicklung auf dem laufenden.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!