ceph集群的维护
1、ceph集群常用命令
1.1查看集群的状态
root@ceph-mon1:~#ceph -s
#或者
root@ceph-mon1:~#ceph health detail #显示集群状态的详细信息
1.2查看所有存储池的列表
root@ceph-mon1:~# ceph osd pool ls
1.3查看所有存储池的编号
root@ceph-mon1:~# ceph osd lspools
1.4查看指定存储池的详细信息
root@ceph-mon1:~# ceph osd pool stats cephfs-data
1.5查看存储池使用情况和PG状态
root@ceph-mon1:~# ceph df
1.6查看存储池中的对象数量、大小等信息
root@ceph-mon1:~# rados -p cephfs-data df
1.7查看存储池的副本配置
root@ceph-mon1:~# ceph osd pool get cephfs-data size
1.8显现监视器的状态信息
root@ceph-mon1:~# ceph mon stat
1.9显示PG的详细信息
root@ceph-mon1:~# ceph pg dump
#显示osd的详细信息
root@ceph-mon1:~# ceph osd dump
1.10显示OSD和集群拓扑的关系
root@ceph-mon1:~# ceph osd tree
1.11显示有关集群中OSD的统计信息,包括总体状态和状态汇总。
root@ceph-mon1:~# ceph osd stat
1.12查看存储池的控制策略(crush规则)
root@ceph-mon1:~# ceph osd pool get <pool_name> crush_ruleset
1.13查看存储池的写入缓存(write cache)设置
ceph osd pool get <pool_name> hit_set_params
1.14查看存储池的快照列表
rbd snap ls <pool_name>/<image_name>
2、集群的停止或重启
重启之前,要提前设置 ceph 集群不要将 OSD 标记为 out,避免 node 节点关闭服务后被踢
出 ceph 集群外
[ceph@ceph-deploy ceph-cluster]$ ceph osd set noout #关闭服务前设置 noout
noout is set
[ceph@ceph-deploy ceph-cluster]$ ceph osd unset noout #启动服务后取消 noout
noout is unse
2.1 关闭顺序
- 关闭服务前要把OSD设置为noout
- 关闭存储客户端停止读写数据
- 如果使用了RGW,关闭RGW
- 关闭Cephfs元数据服务
- 关闭ceph OSD
- 关闭ceph mangager
- 关闭ceph mon
2.2启动顺序
- 启动ceph monitor
- 启动ceph manager
- 启动ceph OSD
- 启动cephfs元数据服务
- 启动RGW
- 启动存储客户端
- 启动服务后取消noout----->ceph osd unset noout
2.3添加存储节点
1、在仓库添加ceph源
2、在部署节点安装ceph
ceph-deploy install --release pacific ceph-nodex
3、擦除磁盘
ceph-deploy disk zap ceph-nodex /dev/sdx
4、添加OSD
sudo ceph-deploy osd create ceph-nodex --data /dev/sdx
2.4删除服务器
(停止服务器之前要把服务器的OSD先停止并从ceph集群删除)
- 把OSD提出集群----ceph osd out 1
- 观察一段时间
- 停止osd.x进程
- 删除OSD—ceph osd rm 1
- 当前主机的其他磁盘重复以上操作
- OSD全部操作完成后下线主机
学习了将近10天,把ceph分布式存储这块内容给搞完了,学习途中遇到各种报错,一个小细节都能耗费我好几小时,道路漫漫,仍需努力。