UMCloud存储团队 UMCloud优云数智 昨天git
本篇为 2018 年度《Ceph 开发者月报》专栏的第七篇,在《Ceph 开发者月报》中,咱们 UMCloud 存储团队将以月度为单位,为你们分享当月 Ceph 社区的有趣的提交和重要的变动,方便你们即刻掌握一手 Ceph 社区开发资料。github
每篇将以对象存储、块存储、统一存储层、集群管理、基础库等模块组织,为你们一一介绍。缓存
本月看点:工具
Ceph 对象存储认证支持 CNCF项目 OPA 实现细粒度的访问控制oop
对象存储post
完善 radosgw-admin sync error trim 命令spa
radosgw-admin: ‘sync error trim’ loops until complete 插件
( https://github.com/ceph/ceph/... )日志
以前对象
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/... )
OPA 是一个轻量级的开源通用策略引擎,能够在整个项目开发堆栈中实现统一的、上下文感知的策略实施。
当前社区但愿在 RGW 中集成 OPA。在上面的提交中,社区为 RGW 和 OPA 的集成进行了一部分初期工做。
块存储
librbd 支持 FUA
librbd:optionally support FUA (force unit access) on write requests
( https://github.com/ceph/ceph/... )
在上面的提交中,社区为 librbd 新增了对 FUA 的支持。若设置为 FUA 模式,对于写操做请求,必须将数据写入到存储卷后,才返回成功信息。全部的写请求处理都彻底跳过缓存。
统一存储层
mon 新增 pg repeer <pgid> 命令
mon/OSDMonitor: add ‘osd repeer <pgid>’ command
( https://github.com/ceph/ceph/... )
在上面的提交中,社区为 mon 新增了
pg repeer <pgid>
命令,用于强制 pgid 参数指定的 PG 执行 peer 处理。
集群管理
mgr 新增 crash 插件
mgr/pybind/crash: handle crashdumps
( https://github.com/ceph/ceph/... )
在上面的提交中,社区为 mgr 实现了 crash 插件,用于收集集群中各组件的 crash dump 信息,并存储在 Ceph 集群中,方便往后进行分析。
针对 crash 插件,主要新增了以下命令
ceph mgr module enable crash
ceph crash post -i <metafile>
ceph rm <crashid>
ceph crash ls
ceph crash stat
ceph crash info <crashid>
ceph crash prune <keep>
实现 mgr 内部各模块之间能够相互调用
mgr: enable inter-module calls
( https://github.com/ceph/ceph/... )
dashboard 新增用户管理界面
mgr/dashboard: Ceph dashboard user management from the UI
( https://github.com/ceph/ceph/... )
工具库
ceph-volume 新增批量操做命令及相关的操做处理
ceph-volume batch command
( https://github.com/ceph/ceph/... )
vstart.sh 支持启用 SPDK
vstart.sh: Support SPDK in Ceph development deployment
( https://github.com/ceph/ceph/... )
本月提交状况