Ceph---集群扩容


Ceph集群扩容
一个基本的集群启动并开始运行后,下一步就是扩展集群
做以下实验:
1.在node4(192.168.10.14)上添加一个 OSD 守护进程
2.分别在 node2 和 node3 上添加 Ceph Monitor ,以形成 Monitors 的法定人数
 

实验:为ceph集群添加OSD

一.准备工作
在所有节点上修改解析记录,加入node4
在node4节点上:
配置时间与管理节点admin同步
配置好yum源并安装好ceph软件
挂载好一块磁盘
 
在管理节点admin上:
把用户公钥传到node4上
 
二.配置集群加入OSD
在管理节点上操作:
[root@node4 ~]# mkfs.xfs /dev/sdb
[root@node4 ~]# mkdir /mnt/osd4
[root@node4 ~]# mount /dev/sdb /mnt/osd4/
 
[root@admin ~]# cd /etc/ceph/
[root@admin ceph-cluster]# ceph-deploy osd prepare node4:/mnt/osd4 #准备osd
[root@kafka3 ceph]# chown -R ceph.ceph /mnt/osd4 #赋予权限
[root@admin ceph-cluster]# ceph-deploy osd activate node4:/mnt/osd4 #激活osd
 
一旦你新加了 OSD ,,Ceph 集群就开始重均衡,把归置组迁移到新 OSD 。可以用下面的 ceph 命令观察此过程:
[root@admin ceph-cluster]# ceph -w
 
=====================================================================
删除OSD
1.把OSD踢出集群
删除 OSD 前,它通常是 up 且 in 的,要先把它踢出集群,以使 Ceph 启动重新均衡、把数据拷贝到其他 OSD
ceph osd out {osd-num}
例:
[root@admin ceph-cluster]# ceph osd out 2
 
2.观察数据迁移
一旦把 OSD 踢出( out )集群, Ceph 就会开始重新均衡集群、把归置组迁出将删除的 OSD 。你可以用 ceph 工具观察此过程
ceph -w
你会看到归置组状态从 active+clean 变为 active, some degraded objects 、迁移完成后最终回到 active+clean 状态
 
3.停止OSD进程
把 OSD 踢出集群后,它可能仍在运行,就是说其状态为 up 且 out 。删除前要先停止 OSD 进程
/etc/init.d/ceph stop osd.{osd-num}
-----------------------------------------------------
这是el6中的操作方法,7中可kill进程号, 或用systemd结束
systemctl stop  ceph-osd@4
结束进程后用ceph osd tree可以看到osd状态已经由up变成了down
4.删除 OSD
此步骤依次把一个 OSD 移出集群 CRUSH 图、删除认证密钥、删除 OSD 图条目、删除 ceph.conf 条目。
如果主机有多个硬盘,每个硬盘对应的 OSD 都得重复此步骤
1) ceph osd crush remove {name} #删除 CRUSH 图的对应 OSD 条目,它就不再接收数据了,name可用ceph osd crush tree查看
例:
[root@admin ceph-cluster]# ceph osd crush remove osd.2
 
2)删除 OSD 认证密钥: ceph auth del osd.{osd-num}
例:
[root@admin ceph-cluster]# ceph auth del osd.2
 
3)删除 OSD: ceph osd rm {osd-num}
例:
[root@admin ceph-cluster]# ceph osd rm 2
 
=======================================================
有时候,(通常是只有几台主机的“小”集群,比如小型测试集群)拿出( out )某个 OSD 可能会使 CRUSH 进入临界状态,这时某些 PG 一直卡在 active+remapped 状态.如果遇到了这种情况,你应该把此 OSD 标记为 in :
ceph osd in {osd-num}
 
等回到最初的状态后,把它的权重设置为 0 ,而不是标记为 out ,用此命令:
ceph osd crush reweight osd.{osd-num} 0
 
执行后,你可以观察数据迁移过程,应该可以正常结束。把某一 OSD 标记为 out 和权重改为 0 的区别在于,前者,包含此 OSD 的桶、其权重没变;而后一种情况下,桶的权重变了(降低了此 OSD 的权重)。某些情况下, reweight 命令更适合“小”集群。
 

 

实验:为ceph集群添加monitor

 
Ceph 存储集群需要至少一个 Monitor 才能运行。
为达到高可用,,型的 Ceph 存储集群会运行多个 Monitors,这样在单个 Monitor 失败时不会影响 Ceph 存储集群的可用性。
Ceph 使用 PASOX 算法,此算法要求有多半 monitors(即 1 、 2:3 、 3:4 、 3:5 、 4:6 等 )形成法定人数
下面我们要在node1和node2上添加monitor,以形成monitor的法定人数:
1.修改配置文件:
[root@admin ceph]# vim ceph.conf
 
2.新增monitor成员:
[root@admin ceph]# ceph-deploy --overwrite-conf mon add node1
[root@admin ceph]# ceph-deploy --overwrite-conf mon add node2
 
或 ceph-deploy mon create {host-name [host-name]...}
 
注: 在一主机上新增监视器时,如果它不是由 ceph-deploy new 命令所定义的,那就必须把 public network 加入 ceph.conf 配置文件
 
 
3.添加完成后查看:
[root@admin ceph]# ceph quorum_status --format json-pretty
 
 
-------------------------------------------------------------------------------------------------------------------
删除monitor
ceph-deploy mon destroy {host-name [host-name]...}
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM