ceph15集群,虚拟机宕机1台

问题 :ceph4虚拟机异常,无法开机启动
处理办法:删除osd,重新搭建ceph4服务器

1.查看集群状态

bash 复制代码
[root@ceph1 ~]# #查看ceph集群状态
[root@ceph1 ~]# ceph -s
  cluster:
    id:     edc14ccc-1be5-11ee-9de8-005056b00968
    health: HEALTH_WARN
            1 hosts fail cephadm check
            1/5 mons down, quorum ceph1,ceph5,ceph3,ceph2

  services:
    mon: 5 daemons, quorum ceph1,ceph5,ceph3,ceph2 (age 14h), out of quorum: ceph4
    mgr: ceph1.cbajav(active, since 14h), standbys: ceph2.tqtbwn
    mds: cephfs:1 {0=cephfs.ceph5.fvxuqu=up:active} 3 up:standby
    osd: 10 osds: 8 up (since 14h), 8 in (since 14h)

  data:
    pools:   4 pools, 97 pgs
    objects: 416 objects, 1.3 GiB
    usage:   12 GiB used, 588 GiB / 600 GiB avail
    pgs:     97 active+clean


#查看osd状态
[root@ceph1 ~]# ceph osd tree
ID   CLASS  WEIGHT   TYPE NAME       STATUS  REWEIGHT  PRI-AFF
 -1         0.73473  root default
 -3         0.14648      host ceph1
  0    hdd  0.04880          osd.0       up   1.00000  1.00000
  2    hdd  0.09769          osd.2       up   1.00000  1.00000
 -5         0.14648      host ceph2
  1    hdd  0.04880          osd.1       up   1.00000  1.00000
  3    hdd  0.09769          osd.3       up   1.00000  1.00000
-11         0.14648      host ceph3
  7    hdd  0.04880          osd.7       up   1.00000  1.00000
  9    hdd  0.09769          osd.9       up   1.00000  1.00000
 -9         0.14879      host ceph4
  6    hdd  0.04880          osd.6     down         0  1.00000
  8    hdd  0.09999          osd.8     down         0  1.00000
 -7         0.14648      host ceph5
  4    hdd  0.04880          osd.4       up   1.00000  1.00000
  5    hdd  0.09769          osd.5       up   1.00000  1.00000
[root@ceph1 ~]#

2.删除osd.8

1.调整osd的crush weight

bash 复制代码
ceph osd crush reweight osd.8 0.1

说明:这个地方如果想慢慢的调整就分几次将crush 的weight 减低到0 ,这个过程实际上是让数据不分布在这个节点上,让数据慢慢的分布到其他节点上,直到最终为没有分布在这个osd,并且迁移完成

这个地方不光调整了osd 的crush weight ,实际上同时调整了host 的 weight ,这样会调整集群的整体的crush 分布,在osd 的crush 为0 后, 再对这个osd的任何删除相关操作都不会影响到集群的数据的分布

2.停止osd进程

bash 复制代码
#停止到osd的进程,这个是通知集群这个osd进程不在了,不提供服务了,因为本身没权重,就不会影响到整体的分布,也就没有迁移

ceph osd stop osd.8

3.将节点状态标记为out

#停止到osd的进程,这个是通知集群这个osd不再映射数据了,不提供服务了,因为本身没权重,就不会影响到整体的分布,也就没有迁移
ceph osd out osd.8

4.从crush中移除节点

#这个是从crush中删除,因为已经是0了 所以没影响主机的权重,也就没有迁移了
ceph osd crush remove osd.8

5.删除节点

ceph osd rm osd.8

6.删除节点认证(不删除编号会占住)

ceph auth del osd.8

7.验证集群信息

[root@ceph1 ~]# ceph -s
  cluster:
    id:     edc14ccc-1be5-11ee-9de8-005056b00968
    health: HEALTH_WARN
            1 hosts fail cephadm check
            1/5 mons down, quorum ceph1,ceph5,ceph3,ceph2

  services:
    mon: 5 daemons, quorum ceph1,ceph5,ceph3,ceph2 (age 39m), out of quorum: ceph4
    mgr: ceph1.cbajav(active, since 38m), standbys: ceph2.tqtbwn
    mds: cephfs:1 {0=cephfs.ceph5.fvxuqu=up:active} 3 up:standby
    osd: 9 osds: 8 up (since 38m), 8 in (since 28m)

  data:
    pools:   4 pools, 97 pgs
    objects: 416 objects, 1.3 GiB
    usage:   12 GiB used, 588 GiB / 600 GiB avail
    pgs:     97 active+clean

[root@ceph1 ~]#


[root@ceph1 ~]# ceph osd tree
ID   CLASS  WEIGHT   TYPE NAME       STATUS  REWEIGHT  PRI-AFF
 -1         0.63474  root default
 -3         0.14648      host ceph1
  0    hdd  0.04880          osd.0       up   1.00000  1.00000
  2    hdd  0.09769          osd.2       up   1.00000  1.00000
 -5         0.14648      host ceph2
  1    hdd  0.04880          osd.1       up   1.00000  1.00000
  3    hdd  0.09769          osd.3       up   1.00000  1.00000
-11         0.14648      host ceph3
  7    hdd  0.04880          osd.7       up   1.00000  1.00000
  9    hdd  0.09769          osd.9       up   1.00000  1.00000
 -9         0.04880      host ceph4
  6    hdd  0.04880          osd.6     down         0  1.00000
 -7         0.14648      host ceph5
  4    hdd  0.04880          osd.4       up   1.00000  1.00000
  5    hdd  0.09769          osd.5       up   1.00000  1.00000
[root@ceph1 ~]#

3.删除osd.6

ceph osd crush reweight osd.6 0.1

ceph osd stop osd.6

ceph osd out osd.6

ceph osd crush remove osd.6

ceph osd rm osd.6

ceph auth del osd.6

#验证集群
ceph -s

ceph osd tree

4.重新搭建ceph4服务器

bash 复制代码
wget https://github.com/ceph/ceph/raw/v15.2.17/src/cephadm/cephadm

chmod +x cephadm #这里提前下载,脚本里的已注释掉



yum install python3 -y

# 1、安装 docker

# 华为源
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo


yum makecache fast && yum install docker-ce -y

systemctl enable docker --now

# 查看镜像
grep quay.io cephadm |awk '{print $3}' |grep -n '.*'

# 下载镜像
grep quay.io cephadm |awk '{print $3}' |xargs -i docker pull {}



#指定ceph版本15.2.17
./cephadm add-repo --release 15.2.17

#安装ceph版本15.2.17
yum install ceph-common -y


#拷贝主节点文件
scp -r root@ceph1:/etc/ceph/* /etc/ceph/

5.添加新osd

bash 复制代码
ceph orch apply osd --all-available-devices

ceph -s
相关推荐
一名路过的小码农17 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
墨水\\4 天前
分布式----Ceph应用(下)
分布式·ceph
大G哥5 天前
基于K8S1.28.2实验rook部署ceph
java·ceph·云原生·容器·kubernetes
石兴稳6 天前
Ceph PG(归置组)的状态说明
ceph
石兴稳6 天前
Ceph层次架构分析
ceph
活老鬼6 天前
Ceph分布式存储
linux·运维·服务器·分布式·ceph
石兴稳8 天前
Ceph client 写入osd 数据的两种方式librbd 和kernel rbd
linux·ceph
石兴稳8 天前
Ceph的pool有两种类型
ceph
运维小文8 天前
ceph的集群管理
ceph·对象存储·存储·ceph集群管理·ceph节点管理
石兴稳9 天前
iSCSI 和SCSI的概述
ceph