增加/删除OSD
1. 增加OSD
- 利用ceph-deploy为现有集群增加OSD;
- 分为2种情况讨论:
- 现有集群的节点上增加OSD(增加硬盘);
- 新增OSD节点;
- 集群检测到新OSD加入后会自动开始均衡;
1.1 option1-新增OSD节点
-
- 安装xfsprogs
- 下载ceph-163源
- 修改hostname,复制hosts到各节点
- 创建用于部署的admin用户,配置sudo免密
-
- 配置ceph-deploy到新节点ssh免密
-
- 利用ceph-deploy为新节点安装ceph软件
-
- ceph-deploy新增OSD节点
- push ceph.conf + admin_key:
ceph-deploy admin ceph-4
1.2 option2-现有节点增加OSD
登录ceph-deploy节点,进入集群配置的目录(my-cluster为例):
ceph-deploy osd prepare \ ceph-4:sdc:/dev/sdb # 完成后用lsblk命令查看sdb是否分成两个区 lsblk -f # 激活此osd,再观察是否成功 # 因为prepare已将data盘分为了单独的一个区,所以这里activate一定要加分区号,不然会报错不能识别文件系统. ceph-deploy osd activate \ ceph-4:sdc1:/dev/sdb1 # push admin_key 给ceph-4 节点 ceph-deploy admin ceph-4
2. 更新Crush Map信息
好像不用操作就生效了….仅供参考吧
ceph osd crush add-bucket ceph-4 host ceph osd move ceph-4 root=default # $i就是新加的OSD编号 ceph osd crush add osd.$i 1.0 host=ceph-4
3. 查看是否添加成功
ceph osd tree
4. 删除OSD
osd正常运行是up 且 in状态.
#out之后,ceph开始重新平衡,拷贝此osd上数据到其它osd,此osd状态变为up且out ceph osd out 10 #stop osd进程之后,状态变为down 且 out systemctl stop ceph-osd@10 #删除 CRUSH 图的对应 OSD 条目,它就不再接收数据了 ceph osd crush remove osd.10 #移除osd认证key ceph auth del osd.10 #从osd中删除osd 10,ceph osd tree中移除 ceph osd rm 10 # 移除相关主机 ceph osd crush remove ceph-4
提供一个脚本,批量移除osd:
- rm_osd.sh
#!/bin/bash osd="0 1 2 3" for i in $osd;do { ceph osd out $i systemctl stop ceph-osd@$i ceph osd crush remove osd.$i ceph auth del osd.$i ceph osd rm $i } done ceph osd tree sleep 3 echo "去卸载相关的挂载点" echo "ceph osd crush remove 相关主机" ceph -s
5. REF
- storage/ceph/增加_删除osd.txt
- 最后更改: 2019/04/16 18:31
- (外部编辑)