群晖UPS相关-进入安全模式后直接关机

群晖在断电后,满足设定的条件,会进入”安全模式“,中止对硬盘的读写。

在电力供应终止后记录为异常关机,来电后可自动开机,这对于白群晖很合理,应该也是最优方案。

但如果这个群晖的系统装在虚拟机下,就会很尴尬:虚拟机环境下,群晖并不依靠“异常关机”在来电后重启,而群晖进入安全模式后,硬盘也还是在转的,最终断电后。

硬盘会也会增加一次异常停止事件,所以对虚拟机下的群晖来说,直接关机会更合理:

首先开启群晖的SSH功能:控制面板–>拉到最底下–>终端机和SNMP–>启用SSH功能–>应用然后下载Putty:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html以root登录群晖后(网上有不少教程,可以搜索一下,这里就不细说了),输入:

vi /usr/syno/bin/synoups

找到UPSSafeMode(),将其修改为:

UPSSafeMode() {
    if [ -f $SZF_SAFEMODE ]; then
        shutdown -h now
        return
    fi
 
    $SYNOBOOTBIN --is-shutdown
    if [ $? -eq 0 ]; then
        SYSLOG "[UPS] System is shutting down. Ignore onbattery event."
        shutdown -h now
        return
    fi
 
    SYSLOG "[UPS] Check Boot Status."
    $SYNOBOOTBIN --is-ready
    while [ $? -ne 0 ]; do
        sleep 2
        $SYNOBOOTBIN --is-ready
    done
 
    St=$(UPSStatusGet)
    if [ "$St" = "OL" ]; then
        SYSLOG "WARNING: UPS is On-Line"
        return
    fi
    echo "$1" >$SZF_SAFEMODE
 
    /usr/syno/bin/synologset1 sys warn 0x11300011
    SYSLOG "[UPS] Server is going to Safe Mode. It will stop all services and umount all volumes."
 
    if [ "yes" = "$RUN_HA" ]; then
        $SZF_HA_RC ups-safemode
    fi
 
    # $SYNOBOOTBIN --set-safe-shutdown
    # we should hook synopoweroff not only reboot
    # /usr/syno/sbin/synopoweroff -fr
    shutdown -h now
}

源码

UPSSafeMode() {
    if [ -f $SZF_SAFEMODE ]; then
        return
    fi

    $SYNOBOOTBIN --is-shutdown
    if [ $? -eq 0 ]; then
        SYSLOG "[UPS] System is shutting down. Ignore onbattery event."
        return                                                         fi

    SYSLOG "[UPS] Check Boot Status."
    $SYNOBOOTBIN --is-ready
    while [ $? -ne 0 ]
    do
        sleep 2
        $SYNOBOOTBIN --is-ready
    done

    St=`UPSStatusGet`
    if [ "$St" = "OL" ]; then
        SYSLOG "WARNING: UPS is On-Line"
        return
    fi
    echo "$1" > $SZF_SAFEMODE

    /usr/syno/bin/synologset1 sys warn 0x11300011
    SYSLOG "[UPS] Server is going to Safe Mode. It will stop all services and umount all volumes."

    /usr/syno/sbin/synopoweroff -s &
}

网络定时唤醒 10分钟

/usr/bin/etherwake -b 00:11:32:82:CC:F3 -i br-lan

路由器开机启动 本地启动脚本

usr/bin/etherwake -b 00:11:32:82:CC:F3 -i br-lan
© 版权声明
THE END
喜欢就支持一下吧
点赞12