我有带电池电源的计算机,可以在断电后运行计算机大约一分钟。我想在断电后立即触发挂起到磁盘,以便稍后恢复。initrd(默认 Devuan initrd)在交换分区中寻找挂起签名,并在找到签名时从它恢复。我不确定在将数据写入交换分区时电源完全中断时会发生什么。当电池出现故障或系统在挂起时挂起时,可能会发生这种情况。系统会从损坏的交换分区恢复还是忽略交换分区?我认为第二个选项更好 - 错误卸载文件系统比损坏系统状态更好。
签名是在其他数据之后还是之前写入交换分区?它使用校验和吗?
是否有任何通用或标准方法可以使系统在意外断电(即没有正确关闭)时更加稳健?我正在使用 UPS,但电池快没电了,我还没有机会更换它。
在上一次断电期间(当我关闭 UPS 以将其移除时),我的一个文件系统遭到彻底破坏。这是一个已损坏的 ext3 文件系统,而我当前的大多数文件系统都是 ext3。是否有更具弹性的文件系统?
在这方面,我是否可以采取任何其他措施来使系统更安全?
我一直在研究使用 sysv init 而不是 systemd(个人喜好和熟悉程度)的 Raspberry Pi UPS 代码。我正在研究特权脚本(可能是 /etc/rc.local 的一部分或从其运行)如何告诉 init电源系统中缺少电子。该init(8)
手册页告诉我,写一个大写字母(“F'ailing,” O'k或批判“L'OW)成原/etc/powerstatus
,但现在/var/run/powerstatus
,然后发送init
一个SIGPWR
信号; 但有警告说:
不鼓励使用
SIGPWR
和/etc/powerstatus
。想要与 init 交互的人应该使用/run/initctl
控制通道 - 有关更多文档,请参阅 sysvinit 包的源代码。
我查看了由 gnu.org 托管的源代码,但我没有看到任何使用这个新的奇特界面来讲述init
事情的例子。
有趣的是,Hydrasystemd
确实试图复制这个界面,因为我认为有些东西不喜欢它不在身边,但我还没有找到实际使用它的东西。有这样的事情吗?我希望一些与 UPS 相关的软件能够,例如,nut
但我认为它不会......
这个问题虽然提到了“Raspberry Pi”,但并不是针对该平台或在其上运行的 Raspbian 等发行版。
这些问题和他们的回答对填写一些相关的细节很有启发:
编辑:上述问答中至少有一个还说明了为什么有些人有 /dev/initctl 而其他人有 /run/initctl - 这是我没有意识到的(这是 Debian 的事情)。
在 Debian 服务器上,我已成功安装了该nut
软件包,以便可以通过 USB 获取我的 Ellipse PRO 1200 UPS 的状态(upsc my-ups
返回电池电量)。
注意:我还没有测试停电时会发生什么。
此 UPS 为除此 Debian 服务器之外的其他设备供电:一些路由器/交换机和 NAS。
在这种情况下,考虑到我认为 NUT 的工作方式,我应该在 NAS 上安装 NUT 并将其声明为 NUT 从站,这样 Debian 服务器(NUT 主站)会在电池电量低时命令 NAS 关闭,然后自行关闭.
问题是我无法在 NAS 上安装 NUT(不支持操作系统),但我可以通过 SSH 连接到它并告诉它关闭。
我如何/在哪里可以将我自己的脚本与通常运行的 NUT 一起放置以命令它从属关闭?
我唯一能找到的地方是SHUTDOWNCMD
在/etc/nut/upsmon.conf文件中:
SHUTDOWNCMD "/sbin/shutdown -h +0"
Run Code Online (Sandbox Code Playgroud)
我猜我可以用一个手工制作的脚本替换这个命令,该脚本将运行该 SSH-shutdown-command 并以关闭 Debian 服务器结束。
问题SHUTDOWNCMD
似乎是针对最后一次操作的:当电池电量非常低时。在我自己的脚本中联系所有其他设备可能需要比电池耗尽之前更多的时间。
谢谢
我正在尝试让 apcupsd 与我的 Ups (APC Back-UPS 700VA) 一起工作,我的服务器运行 Debian 9 伸展但无法连接到 ups 并在我运行时得到这个:
rene@odroidxu4-share:~$ sudo apcaccess status
[sudo] password for rene:
APC : 001,018,0453
DATE : 2019-01-13 18:44:10 +0000
HOSTNAME : odroidxu4-share
VERSION : 3.14.14 (31 May 2016) debian
UPSNAME : smartups750
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2019-01-13 18:44:00 +0000
STATUS : COMMLOST
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
NUMXFERS : 0
TONBATT : 0 …
Run Code Online (Sandbox Code Playgroud) ups ×5
nut ×2
corruption ×1
debian ×1
filesystems ×1
init ×1
linux ×1
linux-kernel ×1
suspend ×1
sysvinit ×1
usb ×1