群晖在断电后,满足设定的条件,会进入”安全模式“,中止对硬盘的读写。
在电力供应终止后记录为异常关机,来电后可自动开机,这对于白群晖很合理,应该也是最优方案。
但如果这个群晖的系统装在虚拟机下,就会很尴尬:虚拟机环境下,群晖并不依靠“异常关机”在来电后重启,而群晖进入安全模式后,硬盘也还是在转的,最终断电后。
硬盘会也会增加一次异常停止事件,所以对虚拟机下的群晖来说,直接关机会更合理:
首先开启群晖的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