Hallo,
Anlaß ist, dass unter wheezy bei einem shutdown durch apcupsd (längerer Stromausfall) vorher eine virtuelle Maschine (Qemu) sauber herunter gefahren werden soll.
Im Prinzip kein Problem: entsprechenden Befehl in Unix-Socket schreiben fährt die VM herunter, ist getestet und geht. Auch eine Anpassung von apcupsd ist möglich (Skript vor shutdown ausführen), noch nicht getestet.
Darüber hinaus fände ich es aber besser, bei jedem shutdown, also nicht nur durch apcupsd, vorher die VM automatisch herunterzufahren.
Über die init-Skripte wird es nicht gehen, weil shutdown zuerst ein term-Signal an alle Prozesse sendet und dann erst init aufruft - dann ist die VM schon gekillt.
Wißt Ihr, ob ich irgendwo etwas anpassen kann, dass shutdown vor dem sigterm ein Skript ausführt?
Danke und viele Grüße
Theophil
shutdown: Skript vor sigterm ausführen
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: shutdown: Skript vor sigterm ausführen
Was mir einfällt wäre, dass du dir dein eigenes shutdown bastelst. Also dein Alias oder Knopf führt dein Skript aus und am Ende steht das shutdown -h now.
Hilf mit unser Wiki zu verbessern!
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: shutdown: Skript vor sigterm ausführen
Hallo cronoik,
ja, das könnte ich machen, dann hätte ich wohl ein shutdown mit dem Powerbutton nicht mit abgedeckt, aber das wäre zu verschmerzen.
Gruß Theophil
ja, das könnte ich machen, dann hätte ich wohl ein shutdown mit dem Powerbutton nicht mit abgedeckt, aber das wäre zu verschmerzen.
Gruß Theophil
Re: shutdown: Skript vor sigterm ausführen
Du könntest libvirt zur Überwachung/Steuerung der Maschinen
einsetzen -> /etc/init.d/libvirt-guests
lxc hat /etc/init.d/lxc zur Abschaltung der Container.
Mein Fix für /usr/bin/lxc-halt unter wheezy: (Ab jessie wohl/eventuell nicht mehr nötig)
EDIT Schießt mir aber auch mal das host-Netzwerk ab,
gelegentlich wird auch der Host selbst in einen Herunterfahren-Status gebracht.
Von einem Abschalten der lxc ohne einen Schutdown des Host halte ich mittlerweile wenig.
virtualbox hat /etc/init.d/vboxautostart-service.
Die singulären Lösungen können durch libvirt eingebunden resp. ersetzt sein.
einsetzen -> /etc/init.d/libvirt-guests
lxc hat /etc/init.d/lxc zur Abschaltung der Container.
Mein Fix für /usr/bin/lxc-halt unter wheezy:
Code: Alles auswählen
--- lxc-halt_0 2013-12-16 12:31:13.000000000 +0100
+++ lxc-halt_fix 2014-08-07 19:07:42.000000000 +0200
@@ -54,7 +54,8 @@
# FIXME: Assumption of /var/lib/lxc
if [ -e /var/lib/lxc/${_CONTAINER}/rootfs ]
then
- chroot /var/lib/lxc/${_CONTAINER}/rootfs telinit 0
+ #chroot /var/lib/lxc/${_CONTAINER}/rootfs telinit 0
+ lxc-attach -n ${_CONTAINER} -e -- /sbin/telinit 0
else
echo "E: /var/lib/lxc/${_CONTAINER}/rootfs - no such directory"
exit 1
EDIT Schießt mir aber auch mal das host-Netzwerk ab,
gelegentlich wird auch der Host selbst in einen Herunterfahren-Status gebracht.
Von einem Abschalten der lxc ohne einen Schutdown des Host halte ich mittlerweile wenig.
virtualbox hat /etc/init.d/vboxautostart-service.
Die singulären Lösungen können durch libvirt eingebunden resp. ersetzt sein.
Zuletzt geändert von rendegast am 27.08.2014 23:33:24, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: shutdown: Skript vor sigterm ausführen
Hallo rendegast,
die genannten Programme/Fix würden also ein automatisches Herunterfahren der VM bei einem shutdown des Hostes beinhalten -
ich werde mir das mal näher anschauen.
Wie schon geschrieben geht das Herunterfahren einer VM unter Qemu per Skript auch recht gut:
Start der VM:
Herunterfahren:
siehe auch http://www.nico.schottelius.org/blog/co ... ix-socket/
Viele Grüße
Theophil
die genannten Programme/Fix würden also ein automatisches Herunterfahren der VM bei einem shutdown des Hostes beinhalten -
ich werde mir das mal näher anschauen.
Wie schon geschrieben geht das Herunterfahren einer VM unter Qemu per Skript auch recht gut:
Start der VM:
Code: Alles auswählen
user@host: qemu ...... -monitor unix:/Pfad/zum/Socket-Namen,server,nowait.......
Code: Alles auswählen
user@host: echo "system_powerdown" | socat - UNIX-CONNECT:/Pfad/zum/Socket-Namen
Viele Grüße
Theophil