上下文:AWS EC2实例+ Ubuntu 16.04和Ubuntu 18.04 + Redis 4.0.9
我们的团队收到一条警报,显示Redis已重新启动。这是redis日志:
2468:signal-handler (1563432209) Received SIGTERM scheduling shutdown...
2468:M 18 Jul 06:43:29.541 # User requested shutdown...
2468:M 18 Jul 06:43:29.541 * Saving the final RDB snapshot before exiting.
2468:M 18 Jul 06:43:29.577 * DB saved on disk
2468:M 18 Jul 06:43:29.577 * Removing the pid file.
2468:M 18 Jul 06:43:29.577 # Redis is now ready to exit, bye bye...
进一步挖掘,似乎是由后台进程(apt升级)引起的:
Jul 18 06:43:26 ip-172... systemd[1]: Starting Daily apt upgrade and clean activities...
Jul 18 06:43:29 ip-172... systemd[1]: Reloading.
Jul 18 06:43:29 ip-172... systemd[1]: Stopping Advanced key-value store...
Jul 18 06:43:29 ip-172... run-parts[19101]: run-parts: executing /etc/redis/redis-server.pre-down.d/00_example
Jul 18 06:43:29 ip-172-...5 run-parts[19113]: run-parts: executing /etc/redis/redis-server.post-down.d/00_example
Jul 18 06:43:29 ip-172... systemd[1]: Stopped Advanced key-value store.
Jul 18 06:43:29 ip-172... systemd[1]: Reloading.
Jul 18 06:43:30 ip-172... systemd[1]: Started Advanced key-value store.
此过程不是由运行apt-get upgrade
的任何用户或任何明确设置的cronjob触发的。看起来很糟(在我们拥有的每台服务器上只有一次),易于决定重新启动Redis进程。
Ubuntu AMI(16.04和18.04)按原样使用; Redis安装为香草(apt-get install -y redis-server
)。我们确信没有内存问题会因为内存不足而触发操作系统关闭Redis。
操作系统从未通过从未配置的后台维护进程来重新启动任何进程是非常出乎意料的。在我们的案例中,我们的停机时间最少,没有数据丢失,但是绝对感觉像是一种责任。
每个服务器只发生一次,此后再没有发生过。有人遇到过吗?