共计 1738 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章主要介绍 Ubuntu 中重启 osd 服务失败怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
背景
OS:Ubuntu 16.04
修改了 osd 的一些配置,修改后,需要重启 osd 服务才能生效。第一次重启后,配置立刻生效。再改了一些配置,重启 osd 服务后,配置却不再生效了。ps 命令查看进程,发现 osd 进程都没有启动。
分析
osd 进程未启动,第一直觉就是配置出错,osd 进程启动后又挂掉。于是,进入 /var/log/ceph 目录,查看 ceph-osd.0.log,发现日志末尾只有关闭进程的相关日志,并没有 osd 启动的信息。再查看该日志的时间,时间就是关闭服务时的时间。换句话说,第二次重启服务后,osd 没有启动。既然没有启动,那就不是 osd 本身的问题,而是和重启服务的命令 systemctl restart ceph-osd.target 相关了。
先检查下 osd 服务的状态。
$ systemctl status ceph-osd.target
● ceph-osd.target - ceph target allowing to start/stop all ceph-osd@.service instances at once
Loaded: loaded (/lib/systemd/system/ceph-osd.target; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2017-03-05 16:52:04 CST; 3s ago
果然,服务是 inactvice 的。再查看服务相关的日志:
$ journalctl -xe
Mar 05 14:21:43 node3 systemd[1]: ceph-osd@0.service: Start request repeated too quickly.
Mar 05 14:21:43 node3 systemd[1]: Failed to start Ceph object storage daemon.
果然是服务启动失败,并且给出的原因是启动请求太快。这很可能和 osd 服务的配置有关,打开 osd 服务配置文件 /etc/systemd/system/ceph-osd.target.wants/ceph-osd@2.service,发现有服务器启动间隔的限制,并且限制时间为 30 分钟,难怪第一次启动服务成功,而第二次就失败了。
$ vi /etc/systemd/system/ceph-osd.target.wants/ceph-osd@0.service
StartLimitInterval=30min
解决方案
注释掉服务配置文件的启动间隔限制,并且重新加载服务配置。
$ systemctl daemon-reload
再重启 osd 服务,并检查 osd 服务的状态。
$ systemctl restart ceph-osd.target
$ systemctl status ceph-osd.target
● ceph-osd.target - ceph target allowing to start/stop all ceph-osd@.service instances at once
Loaded: loaded (/lib/systemd/system/ceph-osd.target; enabled; vendor preset: enabled)
Active: active since Sun 2017-03-05 16:47:53 CST; 5s ago
Mar 05 16:47:53 node2 systemd[1]: Reached target ceph target allowing to start/stop all ceph-osd@.service instances at once.
服务状态变为 active,问题解决。
以上是“Ubuntu 中重启 osd 服务失败怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!