美文网首页
ceph数据恢复—系统盘故障,如何恢复集群

ceph数据恢复—系统盘故障,如何恢复集群

作者: 620T | 来源:发表于2020-11-27 17:46 被阅读0次

1 将osd从crush中删除,并删除对应的osd,和auth,host

ceph osd crush rm osd.X

ceph osd rm X

ceph auth del osd.X

2、将主机从集群中删除

ceph osd crush rm 主机名

3、安装ceph包

4、新建OSD,挂载数据盘到临时目录

将数据盘挂载到/var/lib/ceph/osd/tmp/mnt目录下,目录不存在就新建一个

mkdir /var/lib/ceph/tmp/mnt

mount /dev/sdb1 /var/lib/ceph/tmp/mnt

读取/var/lib/ceph/tmp/mnt目录下的fsid,whoami文件,即该磁盘对应的osd的uuid和osd-num

cat fsid whoami

f187533d-d3cd-4e40-8416-a93c9080876c

5、加入节点,读取到fsid,和osd-num后,可以利用这些信息重建osd,需要读取/etc/ceph.conf文件,保证这个文件存在并且和集群中的该文件保持一致

ceph  osd  create f187533d-d3cd-4e40-8416-a93c9080876c 8

如果出现如图所示的错误提示,说明没有找到keyring文件,这是集群之间的认证文件

2017-10-16 16:47:15.681089 7f84f1a80700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin: (2) No such file or directory

2017-10-16 16:47:15.681315 7f84f1a80700 -1 monclient(hunting): ERROR: missing keyring, cannot use cephx for authentication

2017-10-16 16:47:15.681404 7f84f1a80700  0 librados: client.admin initialization error (2) No such file or directory

Error connecting to cluster: ObjectNotFound

可以从集群的其他节点(主节点的/etc/ceph目录下)上将该文件复制一份过来,放到/etc/ceph目录下

scp ceph.client.admin.keyring osd2:/etc/ceph

再次创建osd

ceph  osd  create f187533d-d3cd-4e40-8416-a93c9080876c 8

返回8说明创建成功

新建osd挂载点

mkdir /var/lib/ceph/osd/ceph-8

卸载临时挂载目录

umount /var/lib/ceph/tmp/mnt

挂载数据盘到osd目录

mount /dev/sdb1 /var/lib/ceph/osd/ceph-8

注册此 OSD 的密钥

ceph auth add osd.8 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-8/keyring

added key for osd.8

6、主机加入到机架中,

ceph osd crush add-bucket 节点名 host;

ceph osd crush move 节点名 rack=rack1(将创建的host移到rack1机架下面)

7、将OSD加入集群(需要加认证)

将新的节点加入crushmap

ceph osd crush add-bucket osd2 host

将该接点放到default根下

ceph osd crush move osd2 root=default

osd加入crushmap

ceph osd crush add osd.8 0.00980 host=osd2

这里给osd.8 的权重是0.00980,该值和集群中其他osd保持已知,权重不一致可能会导致pg的状态一直处于unclean

现在osd已经在集群中了,加入集群的osd就可以接收数据了

现在osd.8还处于down状态,因为osd.8的进程还没有启动

启动进程

systemctl start ceph-osd@8

备注:bluestore启动失败,可能需要修改/dev下分区设备的用户名和所属组,例如:

chown -R ceph.ceph /dev/sdc1

相关文章

  • ceph数据恢复—系统盘故障,如何恢复集群

    1将osd从crush中删除,并删除对应的osd,和auth,host ceph osd crush rm osd...

  • etcd学习笔记(四):恢复

    运维一个etcd集群的一个基本要求是能够故障恢复。etcd有哪些机制支持故障恢复?如何进行故障恢复? 持久化 ex...

  • 分布式存储

    Ceph Ceph是一个可靠、自动重均衡、自动恢复的分布式存储系统。Ceph没有单点故障的问题,数据强一致性,在部...

  • ceph:如何计算集群数据恢复时间

    1、前言 很多场景会导致集群数据进行迁移、恢复,比如磁盘损坏后换盘操作、集群扩容操作、机器下电维护后再次上电等等。...

  • Hadoop运维

    Hadoop集群运维 场景1:namenode节点故障,active namenode节点状态切换?如何恢复? 1...

  • Consul集群故障恢复

    前言 公司服务器突然断电宕机,通电开机后Consul集群自启动完成,但是无法注册服务,界面可以打开,但是无法一直在...

  • 锻骨境-第6层 k8s集群数据备份与恢复

    K8s 集群的数据备份和恢复确实主要就是etcd 数据库集群的备份和恢复 etcd集群用同一份snapshot恢复...

  • ceph性能统计实现

    0. ceph是如何查看集群性能数据的 通过ceph -s显示本次查看的集群性能数据 通过ceph -w实时更新集...

  • Ceph I / O

    介绍 Ceph客户端接口从Ceph存储集群读取数据并将数据写入Ceph存储集群。客户端需要以下数据才能与Ceph存...

  • redis集群的方式

    redis采用数据分区和主从模式实现了分布式集群管理方式,数据分区实现了横向扩展,主从模式实现了故障恢复。 Red...

网友评论

      本文标题:ceph数据恢复—系统盘故障,如何恢复集群

      本文链接:https://www.haomeiwen.com/subject/ivnxwktx.html