标题最近处理一个现场的时候发现有osd出现秘钥丢失,无法参与集群通信,修复过程如下:
5个tier层的osd异常,并出现问题,日志中报错如下:verify_authorizer could not get service secret for service
问题原因:osd密钥丢失,无法参与集群通信
修复过程(核心是重新添加一下osd的密钥,id为异常osd编号):
- systemctl stop ceph-osd@id 停止异常osd
- ceph auth rm osd.id 删除osd密钥
- /usr/bin/ceph --connect-timeout=25 --cluster=ceph --name mon. --keyring=/etc/ceph/ceph.mon.keyring auth get-or-create osd.id osd ‘allow *’ mon ‘allow profile osd’ mgr ‘allow profile osd’ > /var/lib/ceph/osd/ceph-id/keyring 添加osd密钥
- systemctl start ceph-osd@id 重新启动osd
- tail -n 20 /var/log/ceph/osd/ceph-id 查看osd日志打印是否正常(没有如上异常输出即可)