多台Linux服务器一起关机,linux – 一台服务器,两台APC UPS上的冗余电源:如何触发关机?...

目前,当两个UPS中的一个死亡时,会触发doshutdown事件,并通过apccontrol执行默认脚本. doshutdown脚本忽略了第二台UPS,因为它们没有事件连接,并且正常关机.

为了使doshutdown事件有点连接,apcupsd的两个实例需要一个专门定制的配置文件.差异将驻留在必须从中执行事件脚本的目录中.

第一个ups的主要属性,在/etc/apcupsd/apcupsd.ups0.conf中

SCRIPTDIR /etc/apcupsd/ups0

UPSNAME ups0

DEVICE /dev/ups0

PWRFAILDIR /etc/apcupsd/ups0

NOLOGINDIR /etc/apcupsd/ups0

NISPORT 3551

EVENTSFILE /var/log/apcupsd.0.events

对于ups1,在/etc/apcupsd/apcupsd.ups1.conf中

SCRIPTDIR /etc/apcupsd/ups1

UPSNAME ups1

DEVICE /dev/ups1

PWRFAILDIR /etc/apcupsd/ups1

NOLOGINDIR /etc/apcupsd/ups1

NISPORT 3552

EVENTSFILE /var/log/apcupsd.1.events

每个scriptdir都应该获得默认脚本的副本.

我们想要自定义doshutdown脚本,它不会直接关闭机器,但必须检查其他UPS是否仍处于打开状态,或是否处于关机模式.

在doshutdown脚本的顶部,我们可以添加类似的东西

对于ups0

if [ ! -f /tmp/ups1.is.down ]

then

touch /tmp/ups0.is.down

exit 99

fi

对于ups1

if [ ! -f /tmp/ups0.is.down ]

then

touch /tmp/ups1.is.down

exit 99

fi

状态99具有特殊含义,告诉apccontrol停止正在进行的操作.五行检查是否已创建其他UPS-down文件;如果不是,则为ups关闭创建下行文件,然后退出.如果是,意味着另一台UPS已经关闭,那么这台UPS也会停机,因此脚本应该继续并关闭机器.

文件/tmp/usp[01].is.down指示ups [01]当前是否已关闭.

重要提示:apcupsd的init.d启动脚本应删除这些文件(如果它们是在上一个会话中创建的):

rm -f /tmp/usp[01].is.down

最后,上面创建的目录/ etc / apcupsd / ups [01]应该被授予对apcupsd用户(或运行实例的相关用户)的访问权限.

chown -R apcupsd /etc/apcupsd/ups[01]

编辑修复了/tmp/ups[01].is.down名称,缺少.is.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值