Hallo Leute!
Ich kämpfe seit eine Woche mit diesem Problem und habe keine Lösung in
Sicht...
Folgendes: wir testen gerade auf Arbeit oVirt (http://www.ovirt.org/).
Wir haben deswegen einen Server, auf dem der "Engine" läuft und zwei
Hosts, auf den die VMs laufen.
Alles läuft prima, die Maschine können auch live von einem Host zu den
anderen migriert werden, sobald man über die Webschnittstelle oder die
REST-Schnittstelle den Host in "maintenance" setzt.
Nun zum Problem: anscheinend verstehen die Leute von oVirt unter den
Begriff "Cluster" was anderes als den Rest der Welt, so dass, wenn ein
Host verschwindet ist für oVirt kein Grund eine Migration der VMs zu
starten...
Gut, Kernel-Panic sind relativ selten, eventuell können wir auch damit
leben. Die Hosts sind auch an USV angeschlossen, so dass beim
Stromausfall ein sauberes Shutdown möglich ist, also kein Problem!
Aber Neustart des Hosts wegen Updates oder ähnliches passiert schon öfter.
Was wir wollen ist eine Möglichkeit, dass der Host in "maintenance"
gesetzt wird, wenn ein shutdown gestartet wird, ohne dass jemand sich
in der Webschnittstelle anmelden muss und das per Hand machen.
Ich habe deswegen ein kleines Python-Skript gebastelt, das genau das
macht. Das funktioniert auch gut.
Das Problem ist jetzt nur, dieses Skript VOR dem Shutdown automatisch
zu starten...
Auf den Hosts läuft CentOS 7, der mit Systemd arbeitet. Das Dreck
hasse ich wie die Pest und bisher hat er leider den Kampf gewonnen...
Ich habe ein Skript gebastelt, das in der Theorie nach dem Start des
Rechners und vor dem Shutdown aufgerufen werden soll:
[Unit]
Description=oVirt interface for managing host
After=vdsmd.service vdsm-network.service libvirtd.service
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/local/bin/ovirt-maintenance.sh active
ExecStop=/usr/local/bin/ovirt-maintenance.sh maintenance
KillMode=none
[Install]
WantedBy=multi-user.target
Nur geht es nicht...
Es wird zwar beim Hochfahren aufgerufen (so dass mein Skript
ovirt-maintenance.sh mit dem Parameter active aufgerufen wird) und
beim Shutdown mit dem Parameter maintenance, aber:
1) es wird zu spät aufgerufen (nachdem libvirt schon gestoppt worden ist)
2) das System wartet überhaupt nicht, dass das Skript fertig ist...
Kann jemand mir helfen und mir sagen, was ich falsch mache?
Danke sehr!
Luca Bertoncello
([email protected])
_______________________________________________
Lug-dd maillist - [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd