Ceph 开发者月报 2018-07

ceph_201806

ceph_201807.png

本篇为 2018 年度《Ceph 开发者月报》专栏的第七篇,在《Ceph 开发者月报》中,我们 UMCloud 存储团队将以月度为单位,为大家分享当月 Ceph 社区的有趣的提交和重要的变更,方便大家即刻掌握一手 Ceph 社区开发资料。

每篇将以对象存储、块存储、统一存储层、集群管理、基础库等模块组织,为大家一一介绍。

 

本月看点:

Ceph 对象存储认证支持 CNCF项目 OPA 实现细粒度的访问控制

 

对象存储

完善 radosgw-admin sync error trim 命令

radosgw-admin: ‘sync error trim’ loops until complete ( https://github.com/ceph/ceph/pull/23032 )

之前

radosgw-admin sync error trim

命令最多只能清理 1000 条记录,即使通过 start_time/end_time 或是 start_marker/end_marker 指定了清理范围,但仍最多只能清理 1000 条记录,
这就意味着若指定范围内的 sync error 日志记录多于 1000 条,则该命令只能处理一部分日志记录。

在上面的提交中,社区对该命令进行了完善,支持清理指定范围内的所有错误日志记录。同时,还新增了 –trim-delay-ms 参数,用于控制清理操作的执行频率。

 

Ceph RGW 集成 OPA 策略引擎

rgw: Initial work for OPA-Ceph integration ( https://github.com/ceph/ceph/pull/22624 )

OPA 是一个轻量级的开源通用策略引擎,可以在整个项目开发堆栈中实现统一的、上下文感知的策略实施。
当前社区希望在 RGW 中集成 OPA。在上面的提交中,社区为 RGW 和 OPA 的集成进行了一部分初期工作。

 

块存储

librbd 支持 FUA

librbd:optionally support FUA (force unit access) on write requests ( https://github.com/ceph/ceph/pull/22945 )

在上面的提交中,社区为 librbd 新增了对 FUA 的支持。若设置为 FUA 模式,对于写操作请求,必须将数据写入到存储卷后,才返回成功信息。所有的写请求处理都完全跳过缓存。

 

统一存储层

mon 新增 pg repeer <pgid> 命令

mon/OSDMonitor: add ‘osd repeer <pgid>’ command ( https://github.com/ceph/ceph/pull/22940 )

在上面的提交中,社区为 mon 新增了

pg repeer <pgid>

命令,用于强制 pgid 参数指定的 PG 执行 peer 处理。

 

集群管理

mgr 新增 crash 插件

mgr/pybind/crash: handle crashdumps ( https://github.com/ceph/ceph/pull/22703 )

在上面的提交中,社区为 mgr 实现了 crash 插件,用于收集集群中各组件的 crash dump 信息,并存储在 Ceph 集群中,方便日后进行分析。

针对 crash 插件,主要新增了如下命令

# 启用 crash 插件
ceph mgr module enable crash

# 保存一个 crash dump 信息
ceph crash post -i <metafile>

# 移除一个指定的 crash dump 信息
ceph rm <crashid>

# 罗列出保存的所有 crash dump 信息
ceph crash ls

# 对所保存的 crash dump 信息进行统计和总结
ceph crash stat

# 获取所保存的指定 crash 过程的具体细节信息
ceph crash info <crashid>

# 移除所有保存时间大于 keep 字段所指定天数的 crash dump 信息
ceph crash prune <keep>

 

实现 mgr 内部各模块之间可以相互调用

mgr: enable inter-module calls ( https://github.com/ceph/ceph/pull/22951 )

 

dashboard 新增用户管理界面

mgr/dashboard: Ceph dashboard user management from the UI ( https://github.com/ceph/ceph/pull/22758 )

 

工具库

ceph-volume 新增批量操作命令及相关的操作处理

ceph-volume batch command ( https://github.com/ceph/ceph/pull/23075 )

 

vstart.sh 支持启用 SPDK

vstart.sh: Support SPDK in Ceph development deployment ( https://github.com/ceph/ceph/pull/22975 )

 

本月提交情况

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注