news 2026/10/29 2:02:23

ceph的存储池管理(2)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ceph的存储池管理(2)

1. 存储池的类型

副本池: replicated
数据按照指定副本数量存储,默认为3副本。

纠删码池: erasure
相比于副本池而言,更加节省磁盘空间。有点类似于RAID5。

在实际工作中,推荐大家使用副本池。

池管理的官方文档:
https://docs.ceph.com/en/squid/rados/operations/pools/

2.增

一.创建存储池流程
1.创建存储池

[root@ceph141 ~]# ceph osd pool create pool1pool'pool1'created[root@ceph141 ~]# ceph osd pool ls.mgr pool1[root@ceph141 ~]#

2.声明存储池
存储池创建后要申明,否则ceph -s会报错

声明存储池

[root@ceph141 ~]# rbd pool init pool1[root@ceph141 ~]# ceph osd pool ls detailpool1'.mgr'replicated size3min_size2crush_rule0object_hash rjenkins pg_num1pgp_num1autoscale_mode on last_change30flags hashpspool stripe_width0pg_num_max32pg_num_min1application mgr read_balance_score9.09pool6'pool1'replicated size3min_size2crush_rule0object_hash rjenkins pg_num32pgp_num32autoscale_mode on last_change339lfor0/0/331 flags hashpspool,selfmanaged_snaps stripe_width0application rbd read_balance_score2.81[root@ceph141 ~]#

3.查

一.查看存储池
1.查看存储池列表

[root@ceph141 ~]# #查看存储池列表[root@ceph141 ~]# ceph osd pool ls.mgr pool1[root@ceph141 ~]#

2.查看存储池及其编号

[root@ceph141 ~]# #查看存储池编号[root@ceph141 ~]# ceph osd lspools1.mgr6pool1[root@ceph141 ~]#

3.查看存储池的详细信息

[root@ceph141 ~]# ceph osd pool ls detailpool1'.mgr'replicated size3min_size2crush_rule0object_hash rjenkins pg_num1pgp_num1autoscale_mode on last_change30flags hashpspool stripe_width0pg_num_max32pg_num_min1application mgr read_balance_score9.09pool6'pool1'replicated size3min_size2crush_rule0object_hash rjenkins pg_num32pgp_num32autoscale_mode on last_change339lfor0/0/331 flags hashpspool,selfmanaged_snaps stripe_width0application rbd read_balance_score2.81[root@ceph141 ~]#

4.查看存储池利用率统计信息

[root@ceph141 ~]# ceph df[root@ceph141 ~]# rados df

5.查看池的i/o信息

[root@ceph141 ~]# ceph osd pool statspool .mgrid1nothing is going on pool pool1id6nothing is going on[root@ceph141 ~]# ceph osd pool stats pool1pool pool1id6nothing is going on[root@ceph141 ~]#

二、查看存储池中的文件
1.查看存储池中的文件

[root@ceph141 ~]# rados ls -p pool1rbd_info rbd_trash[root@ceph141 ~]#

2.查看存储池文件的状态信息

[root@ceph141 ~]# rados -p pool01 stat sys.txtpool01/sys.txt mtime2026-10-15T11:29:48.000000+0800, size283[root@ceph141 ~]#

3.查看存储池中文件PG的副本在哪些osd上

[root@ceph141 ~]# ceph osd map pool01 sys.txtosdmap e145 pool'pool01'(3)object'sys.txt'->pg3.486f5322(3.2)->up([2,8,5], p2)acting([2,8,5], p2)

4.改

1.修改存储池的配置参数

[root@ceph141 ~]# ceph osd pool set pool05 size 2setpool6size to2[root@ceph141 ~]#

2…修改存储池的名称

[root@ceph141 ~]# ceph osd pool rename pool05 pool5pool'pool05'renamed to'pool5'[root@ceph141 ~]#

5.删

1.删除存储池

1.删除存储池里面的文件

[root@ceph141 ~]# rados -p pool01 rm sys.txt[root@ceph141 ~]#[root@ceph141 ~]# rados -p pool01 ls[root@ceph141 ~]#[root@ceph141 ~]# ceph osd map pool01 sys.txtosdmap e152 pool'pool01'(3)object'sys.txt'->pg3.486f5322(3.2)->up([2,8,5], p2)acting([2,8,5], p2)[root@ceph141 ~]#

2.删除存储池

[root@ceph141 ~]# ceph osd pool delete pool01 pool01 --yes-i-really-really-mean-it

2.删除存储池的两种保护机制

1.删除存储池的机制概述

一旦一个存储池被删除,那么该存储池的所有数据都会被删除且无法找回。

因此为了安全起见,ceph有存储池保护机制,ceph支持两种保护机制:

“nodelete"和"mon_allow_pool_delete”

- nodelete: 一旦一个存储池被打上该标记,则意味着存储池不可被删除,默认值为false表示可以被删除。true不可以删除
- mon_allow_pool_delete: 告诉所有mon组件,可以删除存储池。 默认值为false,表示不可以被删除。 true 可以删除

生产环境中,为了安全起见,建议大家将存储池设置为nodelete的属性为"ture",mon_allow_pool_delete的值为false。

'nodelete’和’mon_allow_pool_delete’任意一种机制都具有一票否决权,如果想要删除一个存储池,2者都得允许删除,这就是ceph的存储池保护机制。

2.查看参数

[root@ceph141 ~]# ceph osd pool get pool5 nodeletenodelete:false[root@ceph141 ~]# ceph config get mon mon_allow_pool_delete

3.调整参数

nodelete

ceph osd poolset存储池 nodeletetrue

mon_allow_pool_delete

ceph tell mon.* injectargs--mon_allow_pool_delete=true

4.删除存储池

[root@ceph141 ~]# ceph osd pool delete pool01 pool01 --yes-i-really-really-mean-it

6.存储池的pg,pgp,size,min_size数量配置

参考链接:
https://docs.ceph.com/en/squid/rados/operations/placement-groups/
https://docs.ceph.com/en/squid/rados/operations/placement-groups/#choosing-number-of-placement-groups

1.官方推荐合理设置PG数量

OSD数量 * 100
----------------- —> PG数量
pool存储池的size

假设你有9块磁盘,则配置如下
9*100
------- ----> 300PG
3

但是得到的结果是300,官方建议是2的次方,和300比较接近的是:256,因此集群的合理PG数量为256。

比如我们一个存储池默认32个pG,则整个ceph集群最多可以支持300pG/32个存储池。

如果空间不够,就扩容主机,然后扩容osd磁盘(按照之前部署集群时候的方法)

不要想着优化,不够就加 机器,加磁盘。

2.当autoscale_mode开启式,修改pg的数量时会自动变会默认的pg数量32

不推荐生产上修改!!!

测试

1.调整pg数量[root@ceph141 ~]# ceph osd pool set 存储池 pg_num 2setpool2pg_num to22.查看 ceph osd poollsdetail3.关闭autoscale_mode模式,再次修改pg和pgp数量[root@ceph141 ~]# ceph osd pool set 存储池 pg_autoscale_mode off查看 ceph osd poollsdetail

7.rbd存储池的资源配额实战

ceph集群官方支持基于对象存储数量和数据存储的大小两种方式限制存储资源配额。

对象存储数量 限制最多存储多少object

数据存储的大小 限制最多存储多少大小

官网连接:
https://docs.ceph.com/en/latest/rados/operations/pools/#setting-pool-quotas
1.创建存储池

[root@ceph141 ~]# ceph osd pool create pool2 32 32 --size 3 --autoscale_mode offpool'pool2'created

2.查看资源限制

[root@ceph141 ~]# ceph osd pool get-quota pool2quotasforpool'pool2':max objects: N/A max bytes:N/A#什么都没有限制[root@ceph141 ~]#

3.限制存储池最大上限有3w个对象,最大存储10M

[root@ceph141 ~]# ceph osd pool set-quota pool2 max_bytes 10485760set-quota max_bytes=10485760forpool pool2[root@ceph141 ~]# ceph osd pool set-quota pool2 max_objects 30000set-quota max_objects=30000forpool pool2[root@ceph141 ~]#

两个条件,满足一个,都无法存数据。

4.验证

往存储池存数据,超过10M

省略(就会发现超过条件限制就存不进去了)

5.清除资源限制

[root@ceph141 ~]# ceph osd pool set-quota pool2 max_bytes 0set-quota max_bytes=0forpool pool2[root@ceph141 ~]# ceph osd pool set-quota pool2 max_objects 0set-quota max_objects=0forpool pool2[root@ceph141 ~]#
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 2:02:12

6AC7 电子管从零搭建实战:八脚管座引脚识别、偏压配置与静态工作点调试全流程

摘要:本文以经典遥截止锐屏五极管 6AC7 为例,手把手带新手从零搭建一套安全、可靠的电子管放大电路。内容严格按实际组装顺序展开:先识别八脚管座引脚定义(含 ASCII 示意图),再依次完成灯丝供电、偏压电路配置、屏极与帘栅极高压接入、抑制栅接地处理,随后通过阴极电阻将…

作者头像 李华
网站建设 2026/10/29 2:01:07

MokaTest 的 AI 功能一览

MokaTest 的 AI 功能一览 MokaTest 最近陆续加了一些 AI 相关的能力,目标很明确:把测试流程里重复、容易漏、费时间的环节交给 AI 先做一遍,人再来审核和确认。 目前主要落地的功能有以下几块。 一、AI 需求评审 写用例之前,需求质…

作者头像 李华
网站建设 2026/10/29 1:58:37

Folia 完整安装部署指南:从零跑通全屏歌词动画

Folia 完整安装部署指南:从零跑通全屏歌词动画 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major Folia 全屏歌词动画播放器&#xff…

作者头像 李华