APC Back-UPS650+群晖,市电断电进入安全模式不关机问题
最近买了APC Back-UPS650的UPS,买回来后,使用UPS带的数据线,连接UPS与NAS,不用安装软件及驱动,自己买播酷云二期装的黑群晖完美识别,如下图:
这样就算断电,也没关系,保护群晖里面数据的安全。
但是,发现一个问题,当市电断电后,UPS通知群晖市电断电了,现在是电池供电。
此时,UPS会关闭软件、卸载卷,全部完成后,群晖硬盘在转没有关机。
此时,群晖告诉UPS已经进入“安全模式”,最暴力的事情来了,UPS直接断电,群晖因为没电直接停了,也就是说硬盘还在转的时候直接断电。群晖这么设计这个安全模式是为了短期内来电,群晖还能自己启动起来。
即便把系统进入安全模式后不断电系统关机的设置项去掉,也没用,如果停电两个三个小时,安全模式功耗不变,群晖一样会因为UPS电池耗尽而断电。
但是硬盘转的时候这么断电,总觉得UPS买的不值,而且每次断电,硬盘不安全关机数都会加1,不爽的很。折腾了下,现在完美解决。
解决方案如下:
打开群晖SSH功能这里就不讲了,可以百度一下,资料很多。
本帖隐藏的内容
首先用root权限,查看系统日志,cat /var/log/messages,发现有这么一条日志:
2019-07-16T23:04:31+08:00 bkynas synoups: [UPS] Check Boot Status.
2019-07-16T23:04:31+08:00 bkynas synoups: [UPS] Server is going to Safe Mode. It will stop all services and umount all volumes.
这是断电后,系统进入安全模式关闭服务卸载卷的日志。
那么可以确定这个地方就是断电后,系统执行执行命令的地方,只不过是进入安全模式而不是关机。
我们可以看到日志是由synoups这个程序输出的。顺藤摸瓜,找到synoups这个程序,目录是/usr/syno/bin/synoups,直接cat一下,发现synoups不是二进制执行程序,而是一个Linux脚本。
好的,打开它vim synoups(vi 及vim知识这里不讲了)
搜索一下日志关键字Server is going to Safe Mode,果然找到了
这里我们发现,第142行输出了我们上面查询到的日志,第148-150行执行了进入安全模式的命令。
解决办法很简单,先把文件备份一份,然后把148-150行注释掉,直接增加一行poweroff关机命令。关机命令用以下命令:
echo "你的管理员密码" | sudo -S -i poweroff
保存这个文件。
这时候断掉市电,30秒后,群晖自动关机,而不是进入安全模式在硬盘还在转的情况下被UPS直接断电。
当然这个方案还有一个小问题,那就是群晖自动关机了,UPS还是开的。不过这都不是问题,毕竟数据最珍贵!
空空如也!