ceph集群之-添加删除OSD

关于Ceph OSD添加操作步骤如下:

1、创建一个OSD,即:#ceph osd create [uuid]     #若没有uuid参数,则该命令自动生成一个uuid。该命令产生一个新的osd-number。

2、为新的OSD创建默认的工作目录,即:#mkdir -p /var/lib/ceph/osd/ceph-{osd-number}

3、为新的OSD准备一块磁盘。

    #mkfs.xfs -f /dev/vde 

    #mount /dev/vde /var/lib/ceph/osd/ceph-{osd-number}

4、初始化新的OSD工作目录。

    #ceph-osd -i {osd-number} --mkfs --mkkey

    注意:在执行上述命令前要求新的OSD工作目录必须为空;

5、注册新的OSD认证密钥。

    #ceph auth add osd.{osd-number} osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-{osd-number}/keyring

6、将新的OSD添加到Crush Map中。

    #ceph osd crush add osd.{osd-number} {weight} [{bucketype}={bucket-name}......}

    此步骤也可以添加buckets后再添加osd,即:

    #ceph osd crush add-bucket node5 host     #创建一个名字为node5的bucket

    #ceph osd crush move node5 root=default    #将创建出来的bucket放到root下

    #ceph osd crush create-or-move osd.{osd-number} 1.0 root=default host=node5     #将新的OSD添加到node5下

7、将新的OSD信息填写到ceph.conf中,即:

[osd.{osd-number}]

host = {hostname}

devs = /dev/vde

8、启动新的OSD。即:

    #/etc/init.d/ceph start osd.{osd-number}

此时通过集群状态查看命令#ceph -s可以看到OSD数量以及up和in的数量都发生了变化,此时再通过命令#ceph -w可以看到ceph经过peering状态后,最终达到active+clean状态;

关于Ceph OSD删除操作步骤如下:

1、将需要删除的OSD在集群中的状态修改为out状态(之前在集群中是up+in的状态):#ceph osd out osd.3。此时待删除的OSD仍然在集群中运行着,通过集群状态查看命令#ceph -s可以看到当前集群的in的数量比up的数量少一个,少的这一个就是刚才out出去的那个OSD,即:osd.3。

2、停止刚刚out出去的OSD进程:#/etc/init.d/ceph stop osd.3。此时通过集群状态查看命令#ceph -s可以看到当前集群的in和up的数量是一样的,比之前减少了一个。通过ps ax | grep "ceph"也可以在系统中查看到运行的ceph-osd少了一个。

3、将删除的OSD从crush map中删除:

    #ceph osd crush remove osd.3    #删除指定的OSD

    #ceph osd crush remove node6    #删除OSD所在的bucket(此步骤可以不做)

4、清除到OSD的认证密钥。

    #ceph auth del osd.3

5、在OSD Map中清除OSD。

    #ceph osd rm 3

    此时通过ceph集群状态查看命令#ceph -s可以看到此时的osd总数已经是正确的了;

6、从ceph.conf中清除OSD

[osd.3]

    host = {hostname}



你可能感兴趣的:(ceph,OSD)