共計 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 行業資訊頻道!