ceph 云存储 中,数据 都是 写入 pool 这个 逻辑 概念中,所以 需要 掌握 pool 相关的 管理 操作(本文 所有 的相关 操作 暂时 只先 列举 一个),本文 列出 相关 的 基本操作(至于 镜像、纠删码、缓冲池 等 暂时 先不介绍,循序渐进 嘛,后期 会 编写 文章 的,放心啦!)
1、显示/查询 pool
1.1 显示 已创建 的pool
# ceph osd pool ls [ detail ]
1.2 查询 pool 当前状态
# ceph osd pool stats {pool_name}
1.3 查询 pool 的使用状态
# ceph df
2、创建/删除 pool
2.1 创建 pool
pool 创建规则
每个osd的pg个数在100个左右
pg的个数是2个N次方
每一个pool的总容量和pg的个数换算出来的pg的容量 都基本上一致
## pg-num 与 pgp-num 只可以扩大不可以缩小
# ceph osd pool create {pool-name} {pg-num} [{pgp-num}]
2.2 删除 pool
2.2.1 修改 删除属性
需要修改 pool 删除属性,允许 删除 pool 操作,需要 修改 mon 参数配置
# ceph daemon mon.{mon实例名} config set mon_allow_pool_delete true
2.2.2 删除 pool
## 这个 命令 我是 输的 很 揪心,算了,毕竟 这样 保证 安全嘛
# ceph osd pool rm {pool_name} {pool_name} --yes-i-really-really-mean-it
3、pool 属性
一般 创建 pool 之后可以查看、修改 pool 的相关属性,常用的属性有:size、min_size、rule、pg_num、pgp_num 等
3.1 获取 pool 属性
# ceph osd pool get {pool-name} {key}
3.2 设置 pool 属性
# ceph osd pool set {pool-name} {key} {value}
3.3 重命名 pool
# ceph osd pool rename {current-pool-name} {new-pool-name}
3.4 设置配额
# ceph osd pool set-quota {pool-name} [max_objects {obj-count}] [max_bytes {bytes}]
4、pool 使用类型
一般 手动创建一个数据池之后,通过 "ceph -s" 查询 集群状态,会出现 "application not enabled on 1 pool(s)" 的告警;除了自定义的 类型,当前常见池使用类型有三种
CephFS uses the application name cephfs
RBD uses the application name rbd
RGW uses the application name rgw
4.1 设置类型
设置类型 只是相当于 标明 该pool 主要用于 存储 何种应用类型的数据,除此之外 并没有任何操作限制
# ceph osd pool application enable {pool_name} {type}
4.2 取消类型
# ceph osd pool application disable {pool_name} {type} --yes-i-really-mean-it
4.3 查看 pool 类型
# ceph osd pool ls detail