Am 23.09.2015 um 09:32 schrieb Luca Bertoncello:
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...
naja cluster sind zusammenschluss, du denkst bei cluste woh immer mit an HA haste HA VM Reservation eingeschaltet?
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,
möglich aber auch erfolgreich getestet das die events der usv wirklich durch kommen?
mehre netztteile an einer usv? mehrer usvs? wenn mehrer stromkreise was passiert wenn nur ein stromkreis wegfällt (Sicherung) fährt du den Server runter?
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.
Wie bitte? Ich verstehe jetzt nicht genau was du willst? du willst den Host in "maintenance" setzen und das soll ein "herunterfahren" der VM starten ein umzug der VMfände ich in einer HA clusterlösung besser
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:
Wie bitte? verstehe ich dich jetzt richtig du willst einen "dienst" haben der bei booten gestarten wird und bei shutdown gestopt wird
[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:
- es wird zu spät aufgerufen (nachdem libvirt schon gestoppt worden ist)
Abhängigkeiten
- das System wartet überhaupt nicht, dass das Skript fertig ist...
Abhängigkeiten, wenn du keine definierst wieso sollte das system warten es macht vieles nebenher das ist das erklärte Ziel des "Drecks"
Woher soll der Dreck wissen das er auf das Ende warten soll wenn du ihm es nicht sagst. (ja früher ...)
Requires= After=
Andreas
Kann jemand mir helfen und mir sagen, was ich falsch mache?
Danke sehr! Luca Bertoncello (lucabert@lucabert.de)
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd