小编Wil*_*aft的帖子

检测服务器何时使用 UPS 电池运行

我有一个家庭服务器(HP Proliant ML310 G4),是一个月前从我的雇主那里购买的。该服务器运行 Debian Linux,我几乎将它用于所有事情。我可以避免这样做,因为我的需求并不那么苛刻,因此在任何给定时间服务器很少承受重负载。这台服务器有一个由 mdadm 管理的 2 TB RAID1 阵列(带有一个热备用),我使用它通过 Samba 在我的网络上共享文件。我正在一个不属于阵列的较小硬盘驱动器上运行操作系统。

我让服务器通过一个 255 瓦的小型 UPS 供电,因为我需要它承受轻微的电源波动而不会停机。这非常重要,因为突然不正常关机(由断电或停电引起)可能会搞砸 RAID 阵列,这种情况已经发生过一次。

如果发生电源故障,我估计 UPS 只有 10-15 分钟的电力。可能还有更多,但我不想自动假设有。这足以解决持续几分钟或更短时间的停电。但是,如果电源关闭几个小时,我需要服务器在 UPS 电源出现故障之前自动正确关闭。这有望防止 RAID 完整性在这些情况下受到影响。

这种事情在笔记本电脑上很容易 b/c 它有内置传感器来确定它何时使用电池供电,但这个服务器没有(据我所知)。我有一个不寻常的网络设置,其中我的 DSL 调制解调器与我的路由器分开。路由器也在 UPS 上,它允许我通过我的笔记本电脑通过 SSH 进入并在发生电源故障时关闭服务器。不幸的是,这只有在我当时在场时才有效。我需要一个始终有效的解决方案,无论我是否在那里进行干预。

由于我的 DSL 调制解调器不在 UPS 上,如果电源出现故障,它会与其他所有设备一起停机。我故意这样设置它,因为我对如何解决这个问题有了一个想法:我正在考虑编写一个脚本来 ping google.com 或其他一些高流量/高可用性站点。如果 ping 成功完成,服务器将继续运行。如果 ping 失败(因为调制解调器已关闭),脚本会认为电源已关闭并告诉服务器关闭。我会将脚本添加到 Cron 并让它每 5 分钟运行一次。这有望让服务器有足够的时间在 UPS 电量耗尽之前关闭。

在我开始编写脚本的麻烦之前,我想知道是否有更好的方法来做我需要的。在此先感谢您的帮助。

raid ups power home-server

25
推荐指数
2
解决办法
4637
查看次数

标签 统计

home-server ×1

power ×1

raid ×1

ups ×1