VM bei ankommender VRDP-Verbindung starten

17/06/2010 - 22:10 von Marcel Müller | Report spam
Hallo,

ich würde gerne einen VM-Server für virtuelle Desktops (VirtualBox) so
konfigurieren, dass inaktive VMs bei eintreffen eine VRDP
Verbindungsanforderung gestartet werden. Nun, bei anderen Diensten macht
man das mit inetd. Allerdings setzt das voraus, dass der betreffende
Dienst statt an einen Socket an stdin/stdout bindet. Da kann
VBoxHeadless allerdings nicht. Außerdem soll die VM natürlich auch nicht
gleich terminiert werden, wenn die VRDP Verbindung mal unterbrochen
wird. Passt also nicht.

Gibt es irgendwelche anderen Möglichkeiten? Das Problem sehe ich darin,
den Socket von einem Starter-Dienst an die noch zu startende
VBoxHeadless-Instanz weiterzureichen. Das geht natürlich so erst mal nicht.

Irgendwelche Ideen? Ich meine außer einen eigenen Service, der auf einem
komplett unabhàngigen Kanal angesprochen wird und vom Client/User
explizit vorher angesprochen werden muss.


Marcel
 

Lesen sie die antworten

#1 Kevin Kirsch
18/06/2010 - 16:59 | Warnen spam
On Thu, 17 Jun 2010 22:10:50 +0200, Marcel Müller wrote:

Hallo,

ich würde gerne einen VM-Server für virtuelle Desktops (VirtualBox) so
konfigurieren, dass inaktive VMs bei eintreffen eine VRDP
Verbindungsanforderung gestartet werden.



Ich hab bei mir zu Hause für sobby (Server für kollaboratives Schreiben)
folgendes gemacht: Inetd startet ein wrapper-skript bei Verbindungen auf
dem sobbyport unter dem sobbyuser. Dieses prüft zuerst, ob sobby làuft.
Wenn es nicht làuft, wird es im Hintergrund gestartet und drei Sekunden
gewartet. Anschließend wird einfach per netcat auf die jetzt auf jeden
Fall laufende sobby-instanz verbunden. Durch diese Konstruktion wird sobby
bei der ersten Verbindung seit dem letzten Neustart automatisch gestartet
und làuft auch ohne Verbindung im Hintergrund weiter.

Skript (hàngt an Port 6522):

#!/bin/sh
#echo start >> /tmp/debuglog
if nc 127.0.0.1 6523 -c exit; then
#echo verbinde >> /tmp/debuglog
nc 127.0.0.1 6523
else
#echo starte gobby >> /tmp/debuglog
sobby -c /home/sobby/obbyconf.xml /home/sobby/sitzung.obby& >/dev/
null 2>&1 &
sleep 3
#echo verbinde >> /tmp/debuglog
nc 127.0.0.1 6523
fi

Ähnliche fragen