暂未分类暂未分类如何删除一台OSD主机
zphj1987在ceph的一台OSD主机出现故障的时候,数据可以通过副本的机制进行恢复,之后通过删除osd的操作也能够将故障osd从osd tree当中删除掉,但是故障的 osd 的主机仍然会留在集群当中,通过 ceph osd tree 或者打印 crush map 都可以看到这个损坏的节点主机名,所以这里讲下怎么删除掉这个无用的host
首先集群环境为两台主机 node8109 node8110 , node8110主机出现故障需要清理掉
先看下当前的osd tree状态
1 2 3 4 5 6 7 8 9 10
| [root@node8109 webui] ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 4.00000 root default -3 4.00000 rack localrack -2 2.00000 host node8109 0 1.00000 osd.0 up 1.00000 1.00000 1 1.00000 osd.1 up 1.00000 1.00000 -4 2.00000 host node8110 2 1.00000 osd.2 down 1.00000 1.00000 3 1.00000 osd.3 down 1.00000 1.00000
|
查看osd的状态
1 2
| [root@node8109 webui] osdmap e66: 4 osds: 2 up, 4 in; 52 remapped pgs
|
首先out掉osd
1 2 3 4
| [root@node8109 ~] marked out osd.2. [root@node8109 ~] marked out osd.3.
|
从crush里面删除osd
1 2 3 4
| [root@node8109 ~] removed item id 2 name 'osd.2' from crush map [root@node8109 ~] removed item id 3 name 'osd.3' from crush map
|
从集群中删除OSD
1 2 3 4
| [root@node8109 ~] removed osd.3 [root@node8109 ~] removed osd.2
|
从集群认证里面删除osd
1 2 3 4
| [root@node8109 ~] updated [root@node8109 ~] updated
|
查看当前的crush map
1 2 3 4 5 6 7 8
| root@node8109 ~] ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 2.00000 root default -3 2.00000 rack localrack -2 2.00000 host node8109 0 1.00000 osd.0 up 1.00000 1.00000 1 1.00000 osd.1 up 1.00000 1.00000 -4 0 host node8110
|
下面有两种方法从osd tree 删除掉node8110,为命令方式和修改crush map 方式
方式一:命令方式
1 2 3 4 5 6 7 8 9
| [root@node8109 ~] removed item id -4 name 'node8110' from crush map [root@node8109 ~] ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 2.00000 root default -3 2.00000 rack localrack -2 2.00000 host node8109 0 1.00000 osd.0 up 1.00000 1.00000 1 1.00000 osd.1 up 1.00000 1.00000
|
方式二:通过修改 crush map 的方式
导出当前的crush map
1 2 3
| [root@node8109 ~] [root@node8109 ~] [root@node8109 ~]
|
删除掉node8109相关的信息
1 2 3 4 5 6 7 8 9 10
| [root@node8109 ~] [root@node8109 ~] set crush map [root@node8109 ~] ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 2.00000 root default -3 2.00000 rack localrack -2 2.00000 host node8109 0 1.00000 osd.0 up 1.00000 1.00000 1 1.00000 osd.1 up 1.00000 1.00000
|
总结:
从上面的两种方式可以看出,使用命令的方式更为简单直接,而修改crush map的方式需要去做修改的操作,有一定的修改错误的风险,所以在做crush map的相关操作的时候,建议是能用命令方式做的就用命令方式去做操作