VM ohne UGOS einschalten

rednag

Well-known member
Hallo zusammen.
Ich nutze auf meiner DXP4800 Plus für unterschiedliche Zwecke unterschiedliche VMs. Manchen davon laufen durchgehend andere nur nach Bedarf. Für letztere suche ich nun eine Möglichkeit diese einzuschalten ohne den (Um)Weg über UGOS gehen zu müssen. Da es sich überwiegend um Windows-Systeme handelt im Idealfalle in Verbindung mit RDP. Das Initiieren von RDP startet ein Script, wartet x Sekunden (bis die VM gestartet ist) und verbindet dich anschließend über RDP. So meine etwas laienhafte Vorstellung. Hat da jemand Ideen oder Ratschläge ob und wie ich das umsetzen kann?
 
Mahlzeit!

Könntest Script basteln... via SSH oder ggf. API (sofern vorhanden) einen entsprechenden Befehl absetzen, dass die VM startet. Dann noch etwas in Richtung "sleep" um ein wenig zu warten (alternativ halt jede Sekunde den benötigten Port checken und erst bei Erreichbarkeit weitermachen) und dann die RDP-Verbindung starten.
 
Danke dir für die Antwort. Das klingt genau nach dem was ich will. Ich weiß aber nicht wie der Befehl unter UGOS bzw. SSH aussieht um die VM zu starten. Wenn ich dir VM manuell starte, taucht der entsprechende Befehl in irgendeinem Log auf von wo ich den abgreifen kann? Pioniere habens schwer....🙃
 
So, ich hab dann gestern mal ein bisschen mit @rednag zusammen gebastelt... Zielsetzung war ja, von einem Windows-Client eine Windows-VM auf dem UGOS-NAS zu starten und sich - sobald diese verfügbar ist, wird sich automatisch via RDP verbunden.

"virsh" ist definitiv richtig, entweder direkt als root, oder halt als Benutzer, dieser muss dann aber in der Gruppe libvirt sein. Vorbereitung wäre dann zum einen SSH einzuschalten, zum anderen den gewünschten Benutzer in die Gruppe libvirt zu verfrachten (usermod -aG libvirt <user>).

Wenn man mit dem gewünschten Benutzer Zugriff auf virsh hat, kann man in erster Instanz mal die vorhandenen VMs auslesen. Das funktioniert dann mittels virsh list --all. Die "Namen" sind allerdings für niemanden zu gebrauchen (braucht man aber für später), etwas "freundlicher" wird es, wenn man noch den Parameter "--title" anhängt, denn der Titel ist dann der eigentliche VM-Name lt. UGOS-Webinterface, also wäre es dann virsh list --all --title. Dort holt man sich (lt. Titel) dann den "Namen"(!) der gewünschten VM.

Danach eine Textdatei z.B. auf dem Desktop erstellen. Datei öffnen und Script-Inhalt einfügen und die oberen 6 Variablen nach eigenen Gegebenheiten/Vorstellungen anpassen:

Code:
$SSHHOST   = "192.168.x.x" # NAS-IP
$SSHUSER   = "MaxMustermann" # NAS-Benutzer
$VMNAME = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # VM-"Name"
$RDPHOST  = "192.168.x.y" # IP der Windows-VM mit aktiviertem Remote-Desktop

$RETRY = "60" # Anzahl der Wiederholungen
$WAIT = "2" # Wartezeit in Sekunden zwischen Wiederholungen

# SSH-Verbindung initiieren und gewünschte VM starten
ssh $SSHUSER@$SSHHOST "virsh --connect qemu:///system start $VMNAME" | Out-Null

# Prüfen ob RDP-Port erreichbar ist, falls ja, Schleife verlassen
for ($i=0; $i -lt $RETRY; $i++) {
    if (Test-NetConnection $RDPHOST -Port 3389 -InformationLevel Quiet) {
        break
    }
    Start-Sleep -Seconds $WAIT
}

# Mittels RDP zur Windows-VM verbinden
mstsc /v:$RDPHOST

Datei speichern, Datei-Endung auf ".ps1" (PowerShell-Script) umschreiben, danach einen Rechtsklick auf die Datei machen und im Kontextmenü "mit Powershell ausführen" auswählen.

Zur allgemeinen Info: Das Script wurde auch nur grob zusammengestöpselt und grade noch (ohne es weiter zu testen) etwas "variablisiert", damit es übersichtlicher bei der Anpassung ist. Vielleicht funktioniert es jetzt auch schon nicht mehr (warum auch immer), ich hab halt kein UGREEN-NAS und @rednag ist nicht da, somit kann also nicht getestet werden. Sollte theoretisch funktionieren, aber man weiss ja, wie das manchmal so läuft... 😅

Zugriff mittels SSH-Key war an dieser Stelle nicht gewünscht (somit muss man beim Start des Scriptes sein Passwort für die SSH-Verbindung eingeben), aber jeder der sowas umsetzen kann, wird sich auch dieses lapidare Script selbst umbauen können (oder hat schon längst ein eigenes in der Tasche) ☺️
 
Zuletzt bearbeitet:

Letzte Anleitungen

Statistik des Forums

Themen
7.604
Beiträge
74.283
Mitglieder
8.189
Neuestes Mitglied
BennyHenz
Zurück
Oben