ceph存储简要概述: 通过将文件分解成固定大小对象,然后存放于pool中,每个pool中 可包含多个pg,每个pg中又可包含多个osd 通过crush算法 最终数据落盘到osd中去。
一、ceph 删除osd
步骤1 修改osd数据操作权重值 ceph osd crush reweight osd.5 0 执行后通过 ceph osd crush tree 检查
步骤2 到指定节点上停止osd进程 sudo systemctl stop ceph-osd@5 && sudo systemctl disable ceph-osd@5
步骤3 将待移除osd标记为out ceph osd out osd.5 执行后通过 ceph osd tree 检查
步骤4 从crush中移除osd ceph osd crush remove osd.5 执行后通过 ceph osd crush tree 检查
步骤5 删除osd节点 ceph osd rm osd.5 执行后通过ceph osd tree检查
步骤6 删除osd节点认证信息 ceph auth ls && ceph aurh rm osd.5
二、ceph添加osd
步骤1 确定osd节点没有被占用 (重新添加被移除的osd) dmsetup status 查看当前磁盘使用情况 ; osd目录:默认是/var/lib/ceph/osd/ceph-id/ 通过fsid确认 ; dmsetup remove {dmsetup status 列出的信息};
步骤2 磁盘格式化(非必须) mkfs.ext4 /dev/sdc
步骤3 ceph擦除磁盘上的数据 ceph-deploy disk zap mon3 /dev/sdc
步骤4 添加到osd集群 ceph-deploy osd create mon3 --data /dev/sdc 通过执行ceph osd tree && ceph auth ls 检查
三、创建存储pool
ceph osd pool ls detail 查看pool ceph pool stats 查看pool
ceph osd pool create my-pool 16 16 创建一个存储池my-pool pg和pgp数量都是16 默认副本数量是3
上传文件到存储池 rados put filename /home/cephadmin/ceph-cluster/ceph.conf --pool my-pool 把配置文件ceph.conf 上传到了存储池,名称为filename
查看文件 rados ls --pool my-pool
查看文件内部属性关系 ceph osd map --pool my-pool filename
删除文件 rados rm filename --pool my-pool
查看pg信息 ceph pg dump
四、存储池支持三种模式 RBD , RGW , CEPHFS 分别对应 块存储 对象存储 和 文件系统
是通过参数ceph osd pool application enable my-pool rbd 指定
是通过参数ceph osd pool application enable my-pool rgw 指定
是通过参数ceph osd pool application enable my-pool cephfs 指定
cephfs存储架构图:
将对象的索引元数据相关信息独立保存,找一个中间人(即mds),单独为不同文件系统平台提供索引服务 。
存储池分为数据存储池和元数据存储池