上两篇 ceph实战之ceph集群扩展_Mr.Lilh的博客-CSDN博客 介绍了ceph集群的搭建和扩展,本篇写一下ceph集群的管理
一:创建存储池及存储池的管理
pool:存储池的大小取决于底层的存储空间。
pg: 抽象的逻辑概念,一个 pool 中有多少个 pg 可以通过公式计算。
pgp: 是每份数据备份组合
1)创建存储池
ceph osd pool create mypool 32 32
#mypool 为存储池名称
#第一个32 为pg数量
#第二个32 为pgp数量
2)查看存储池创建情况(验证pg和pgp)
ceph pg ls-by-pool mypool | awk '{print $1, $2, $15}'
展示出来的信息如下
PG:pg的 ID.NUM
OBJECTS:
ACTING: 一份数据 为一主两备 存贮的位置信息
3)如何查看所有pool名称信息
# 如何查看所有pool信息
ceph osd pool ls
4)如何查看具体一个pool的详细信息
ceph osd pool stats mypool
5)设置存储池数据存储副本数
查看ceph存储池副本数配置
ceph osd pool get mypool size
设置ceph存储池副本数
ceph osd pool set mypool size 2
可以看到存储池副本数有3个变成了2个
6)删除存储池
默认情况下ceph集群的存储池是不被允许删除的,要想删除存储池需要修改系统配置项,允许执行删除存储池操作。
# 告诉所有节点可以删除存储池
ceph tell mon.* injectargs --mon-allow-pool-delete=true
#执行删除操作
ceph osd pool delete mypool mypool --yes-i-really-really-mean-it
#mypool为存储池名称
#删除后关闭允许删除存储池
ceph tell mon.* injectargs --mon-allow-pool-delete=false
二:OSD 管理
1)列出osd信息
ceph osd stat
2)列出osd更详细的信息
ceph osd dump
3)列出osd的磁盘列表信息
ceph osd tree
4)停用某个osd
ceph osd out osd.0
可以看到osd.0的权重为0 此时osd.0不会再有数据写入
5)登录到cephstore1节点上,停止cephstore1节点上的osd.0进程
systemctl stop [email protected]
6)移除osd
#[id]为osd的ID
ceph osd purge [id] --yes-i-really-mean-it
验证
ceph -s
7) 重新挂载osd.0
执行命令移除下面信息
dmsetup remove_all
更换新的硬盘执行硬盘添加操作(此处演示还是老的磁盘)执行
#在mgr节点ceph用户下执行
ceph-deploy osd create cephstore1 --data /dev/sdb
此时会报错:Failed to execute command: /usr/sbin/ceph-volume --cluster ceph lvm create --bluestore --data
提示添加失败了,原因是磁盘里有数据我们要手动清理掉硬盘的分区表 (当然如果硬盘是全新的, 这里应该就成功了).
执行 dd if=/dev/zero of=/dev/sdb bs=512K count=1
此时在执行 即可执行成功
#在mgr节点ceph用户下执行
ceph-deploy osd create cephstore1 --data /dev/sdb
验证
ceph -s
以上内容为ceph集群存储池和osd管理和维护,下一篇为ceph集群块存储和对象存储ceph实战之ceph集群的管理(二)_Mr.Lilh的博客-CSDN博客。