Script auf Synology ausführen lassen, wenn eine bestimmte VM hochgefahren wurde?

SerpensAlatus

Benutzer
Mitglied seit
20. Dez 2014
Beiträge
35
Punkte für Reaktionen
1
Punkte
8
Hallo zusammen,

Ich würde gerne ein Script in Zusammenhang mit einer VM nach deren Start ausführen lassen. Nicht in der VM, sonder auf der Synology.

Es geht darum, zuverlässig ein USB Gerät an eine VM durch zu reichen. Mach ich das über den VMM, verliert die VM die Einstellung. Über einen Befehl

virsh attach-device b938b4bc-1924-4e0f-89d1-xxxxxxxxx /etc/usb.xml

Damit wird der STick direkt an die VM gekoppelt. Geht aber nur, wenn die VM läuft...

Hat da jemand vielleicht eine Idee?

Danke sehr.

Grüße und frohes neues Jahr
Volker
 

maxblank

Benutzer
Contributor
Sehr erfahren
Mitglied seit
25. Nov 2022
Beiträge
3.960
Punkte für Reaktionen
2.068
Punkte
269
Script: VM anpingen, erster erfolgreicher Ping wird der o.a. Befehl auf der Synology abgefeuert
 

tag

Benutzer
Mitglied seit
18. Jan 2021
Beiträge
32
Punkte für Reaktionen
2
Punkte
8
Das habe ich übrigens erfolgreich implementiert und hier im Forum gepostet. Mit dem kleinen Nachteil, dass der virsh attach bei mir nicht hilft. Dass Gerät ist angeblich verbunden, ich kann es mit detach entkoppeln und mit attach wieder verbinden. Versuche ich es erneut mit attach zu verbinden, so bekomme ich den Fehler dass es in use ist. Alles perfekt. Nur dass das Gerät nicht funktioniert. Erst wenn ich in die VMM Oberfläche gehe und dort unter "Sonstiges" den Stick auswähle (der auch dann als nicht verbunden angezeigt wird, wenn ich virsh attach erfolgreich gemacht hatte!), funktioniert er auch in der VM. Dann kann ich ihn mit virsh detach und virsh attach auch verwalten und alles klappt wie gewollt.

Nur wenn ich die Home Assistant Virtual Machine neu starte (nicht die Synology, das geht meines Wissens problemlos), wird genau dieser Stick (Conbee II) wieder getrennt und ich habe keine Lösung, das automatisiert zu korrigieren. Der andere USB-Stick (Z-Wave) bleibt verbunden. Es ist also nicht so, dass sich die VM die angeschlossenen Sticks nicht merken würde, sondern es ist explizit der Conbee II, der ein Problem hat/verursacht.
 

tag

Benutzer
Mitglied seit
18. Jan 2021
Beiträge
32
Punkte für Reaktionen
2
Punkte
8
Script: VM anpingen, erster erfolgreicher Ping wird der o.a. Befehl auf der Synology abgefeuert
Woher sollte man wissen, wann man die VM anpingen soll? Man will sowas ja nicht periodisch aufrufen, sondern konkret in der Situation, die den Fehler hat, auslösen. Wenn man die VM periodisch anpingt, kann man statt dessen auch direkt die VM mit virsh fragen, ob der Stick verbunden ist. Oder einfach mit attach verbinden. Wenn er bereits verbunden ist, gibt es einen Fehler und auch das gäbe kein Problem. Wenn die VM nicht läuft, klappt es ebenso nicht, aber das stört genausowenig. Aber wie gesagt, man will ja nicht dauernd falsche/unsinnige Aktionen ausführen, sondern von dem Event "es gibt genau jetzt dieses Problem" getriggert werden, das nur gefeuert wird, wenn das Problem besteht. Alles andere kostet nur unsinnig Strom.

Bei meiner Lösung wird aus der VM detektiert, dass etwas nicht funktioniert, das den Stick braucht. Dann wird als Aktion eine PHP-Seite aufgerufen, die ein Skript auf der Synology ausführt, um den Stick zu verbinden. Schade nur, dass das nicht klappt.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat