linux – 一台服务器,两台APC UPS上的冗余电源:如何触发关机?
我有一个机架式服务器,其冗余电源插入两个APC Smart-UPS 3000 XLM.每个UPS连接到两个不同的主电源.
正在运行两个apcupsd实例,每个实例都连接到自己的UPS.它们都可以检测UPS何时处于电池状态,然后每个UPS都可以触发服务器上的关机. 问题是:如果只有一台UPS电池耗尽,怎么不关机? 注意:Smart-UPS 3000 XLM具有“电源同步”功能,可以连接到其对等设备并检测其状态.但当我从其中一个中取出插头时,无论如何都发送了关机命令.我正在考虑修改关闭脚本以检查“apcaccess”,如果其他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脚本的顶部,我们可以添加类似的东西 对于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] 请看一下detailed documentation. 编辑修复了/tmp/ups[01].is.down名称,缺少.is. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |