ceph full 处理方法

文章出自: 《Ceph设计原理与实现》


1. 设置 osd 禁止读写

ceph osd pause


2. 通知 mon 和 osd 修改 full 阈值

ceph tell mon.* injectargs "--mon-osd-full-ratio 0.96"

ceph tell osd.* injectargs "--mon-osd-full-ratio 0.96"


3. 通知 pg 修改 full 阈值

ceph pg set_full_ratio 0.96 (Luminous版本之前)

ceph osd set-full-ratio 0.96 (Luminous版本)


4. 解除 osd 禁止读写

ceph osd unpause


5. 删除相关数据

最好是 nova 或者 glance 删除

也可以在 ceph 层面删除


6. 配置还原

ceph tell mon.* injectargs "--mon-osd-full-ratio 0.95"

ceph tell osd.* injectargs "--mon-osd-full-ratio 0.95"

ceph pg set_full_ratio 0.95 (Luminous版本之前)

ceph osd set-full-ratio 0.95 (Luminous版本)

### Ceph 集群架构及工作原理 Ceph 是一种分布式存储系统,其设计目标是提供高可用性和可扩展性。以下是关于 Ceph 的核心组件及其工作原理的详细介绍。 #### 1. 核心组件 Ceph 主要由以下几个关键组件构成: - **Monitor (MON)** Monitor 节点负责维护整个集群的状态信息,包括 OSD 映射、元数据以及成员列表等。它通过 Paxos 协议来保证一致性[^1]。尽管 MON 和 OSD Daemon 进程可以在同一物理节点上运行,但这通常不被推荐,因为这种配置可能增加单点故障的风险并违背分布式的初衷。 - **Object Storage Device (OSD)** OSD 是实际的数据存储单元,它们分布在不同的服务器上以提高冗余度和性能。每个 OSD 不仅保存数据副本还参与计算 CRUSH 算法的结果以便定位对象位置[^2]。 - **Placement Group (PG)** PG 层位于 Object 和 OSD 之间作为中间抽象层存在。引入 PG 提供了两个主要优势:一是允许 object 到 osd 动态映射关系变化而无需频繁调整底层硬件布局;二是减少管理复杂度,使得大规模部署更加容易操作与理解。 - **Metadata Server (MDS)** (对于文件系统接口而言) 如果使用的是 CephFS,则需要 MDS 来处理 POSIX 文件系统的兼容需求如目录结构索引等功能支持。 #### 2. 工作流程概述 当客户端向 Ceph 发起读写请求时,具体过程如下所示: 1. 客户端利用内置或者外部提供的 librados 库发送指令给指定的对象名称。 2. 使用哈希函数将该对象名转换成对应的 placement group ID。 3. 查询最新的 pool map 获取此 pg 所属的一组 primary-secondary osds 列表。 4. 将命令转发至相应的主 osd 上执行进一步的操作比如复制分发机制完成最终持久化落地动作。 此外值得注意的是,在正常情况下所有的决策都依赖于本地缓存的地图版本而非实时查询 mons ,这样可以极大程度降低延迟提升效率。 ```python # 示例 Python API 访问 Ceph 存储池中的某个对象 import rados cluster = rados.Rados(conffile='/etc/ceph/ceph.conf') cluster.connect() ioctx = cluster.open_ioctx('my_pool') data_to_write = b'Hello, Ceph!' ioctx.write_full("test_object", data_to_write) read_data = ioctx.read("test_object") print(read_data.decode()) ioctx.close() cluster.shutdown() ``` 以上代码片段展示了如何通过官方 python binding 对象库访问 ceph 并进行简单的写入读取测试。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值