重启osd服务失败:Start request repeated too quickly

导读:本篇文章讲解 重启osd服务失败:Start request repeated too quickly,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

背景
  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
1
  再重启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,问题解决。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75731.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!