这里会遇到一个ERR,因为jewel版本的ceph要求journal需要是ceph:ceph权限,报错如下:

journalctl -xeu ceph-osd@9.service

 031 09:54:05 k8s-master ceph-osd[2848]: starting osd.9 at :/0 osd_data /var/lib/ceph/osd/ceph-9 /var/lib/ceph/osd/ceph-9/journal
1031 09:54:05 k8s-master ceph-osd[2848]: 2017-10-31 09:54:05.414647 7f0dbf58b800 -1 filestore(/var/lib/ceph/osd/ceph-9) mount failed to open journal /var/lib/ceph/osd/ceph-9/journal: (13)
1031 09:54:05 k8s-master ceph-osd[2848]: 2017-10-31 09:54:05.424957 7f0dbf58b800 -1 osd.9 0 OSD:init: unable to mount object store
1031 09:54:05 k8s-master ceph-osd[2848]: 2017-10-31 09:54:05.424985 7f0dbf58b800 -1  ** ERROR: osd init failed: (13) Permission denied

执行如下指令即可解决这个错误。

 chown ceph:ceph /dev/vde[1-4]

不要忘了所有的journal盘都需要修改权限。

修改后重启osd

systemctl restart ceph-osd@9.service

有时重启过于频繁,会报错如下

Job for ceph-osd@9.service failed because start of the service was attempted too often. See "systemctl status ceph-osd@9.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed ceph-osd@9.service" followed by "systemctl start ceph-osd@9.service" again.

如它所说
先执行

systemctl reset-failed ceph-osd@9.service

在执行

systemctl start ceph-osd@9.service 或 systemctl restart ceph-osd@9.service
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐