On Sat, 31 Jul 2021, David Kačerek via Nut-upsuser wrote:

On Saturday, 31 July 2021 10:43:23 CEST, Roger Price wrote:
Hello David, Does "systemctl hibernate" work correctly without any NUT
function enabled?

Yes, I can run it multiple times subsequently and it always works. When
checking the status of nut-[driver|server|monitor] services they all keep
reporting "active (running)" after waking up from hibernation.

A short summary of my understanding:

 * Your NUT installation works correctly with a regular shutdown.

* Hibernation is hibernate-to-disk: a regular shutdown plus the writing of a memory image and a process image to swap, and something in grub to have the memory image and the processes restored on start-up.

 * A manual systemctl hibernate preserves the NUT processes.

* In a NUT induced shutdown, is it the /etc/ups/upsmon.conf directive SHUTDOWNCMD "systemctl hibernate" which causes the system shutdown, or is it the /opt/upssched-cmd-custom clause

  shutdown-timer)
    echo "Power failure hibernation: Calling upsmon -c fsd, $CHMSG" | wall
    upsmon -c fsd
    ;;

In /opt/upssched-cmd-custom it would be very useful to have calls to logger in each clause to show in the journal what is happening.

If you shut down because of this clause, when does "systemctl hibernate" get executed?

* In the journalctl extract, a line reports « čec 31 00:15:06 atronach-opensuse systemd-sleep[2596]: service: no such service upsd.service ». Why is systemd looking for upsd.service and not nut-server.service ? Is this just systemd wierdness or is it more serious?

What does command ls -alF /lib/systemd/system-sleep/ report?

david@atronach-opensuse:~> LANG=c ls -alF /lib/systemd/system-sleep/
ls: cannot access '/lib/systemd/system-sleep/': No such file or directory
david@atronach-opensuse:~> LANG=c sudo ls -alF /lib/systemd/system-sleep/
ls: cannot access '/lib/systemd/system-sleep/': No such file or directory

Do you have something like nut-delayed-ups-shutdown.service which calls for
the UPS to shutdown its outlets after N seconds?  For hibernation to work,
you should disable this service.  I'm assuming you want the UPS to go on
feeding the machine throughout the hibernation. (And to go on beeping.)

No, I don't have the service created. But I don't mind the UPS killing of
power - hibernation (=suspend to disk) doesn't require power after all unlike
suspend to RAM.

I assume that you rely on /lib/systemd/system-shutdown/nutshutdown which executes /sbin/upsmon -K >/dev/null 2>&1 && /sbin/upsdrvctl shutdown

It seems to me that systemd's nutshutdown should have a call to logger to record an important system decision, but it may be too late in the shutdown process for logger to be effective. That's why I always comment out systemd's nutshutdown and use nut-delated-ups-shutdown.service which is executed early enough for the logger to work.

nut-report output:
https://hastebin.com/hoqabilobu

nut-journal output:
https://hastebin.com/oluwisonuy

Thanks.

This is beginning to look like a systemd problem rather than a NUT problem. Why can't hibernate restore a service such as nut-monitor.service? Perhaps someone else in this list has deeper a systemd understanding, or maybe a question in the openSUSE mailing list <[email protected]> might find the right systemd expertise.

Roger
_______________________________________________
Nut-upsuser mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to