UMCloud存儲(chǔ)團(tuán)隊(duì) UMCloud優(yōu)云數(shù)智 昨天

本篇為 2018 年度《Ceph 開發(fā)者月報(bào)》專欄的第七篇,在《Ceph 開發(fā)者月報(bào)》中,我們 UMCloud 存儲(chǔ)團(tuán)隊(duì)將以月度為單位,為大家分享當(dāng)月 Ceph 社區(qū)的有趣的提交和重要的變更,方便大家即刻掌握一手 Ceph 社區(qū)開發(fā)資料。
每篇將以對(duì)象存儲(chǔ)、塊存儲(chǔ)、統(tǒng)一存儲(chǔ)層、集群管理、基礎(chǔ)庫等模塊組織,為大家一一介紹。
本月看點(diǎn):
Ceph 對(duì)象存儲(chǔ)認(rèn)證支持 CNCF項(xiàng)目 OPA 實(shí)現(xiàn)細(xì)粒度的訪問控制
對(duì)象存儲(chǔ)
完善 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 條記錄,
這就意味著若指定范圍內(nèi)的 sync error 日志記錄多于 1000 條,則該命令只能處理一部分日志記錄。
在上面的提交中,社區(qū)對(duì)該命令進(jìn)行了完善,支持清理指定范圍內(nèi)的所有錯(cuò)誤日志記錄。同時(shí),還新增了 –trim-delay-ms 參數(shù),用于控制清理操作的執(zhí)行頻率。
Ceph RGW 集成 OPA 策略引擎
rgw: Initial work for OPA-Ceph integration
( https://github.com/ceph/ceph/pull/22624 )
OPA 是一個(gè)輕量級(jí)的開源通用策略引擎,可以在整個(gè)項(xiàng)目開發(fā)堆棧中實(shí)現(xiàn)統(tǒng)一的、上下文感知的策略實(shí)施。
當(dāng)前社區(qū)希望在 RGW 中集成 OPA。在上面的提交中,社區(qū)為 RGW 和 OPA 的集成進(jìn)行了一部分初期工作。
塊存儲(chǔ)
librbd 支持 FUA
librbd:optionally support FUA (force unit access) on write requests
( https://github.com/ceph/ceph/pull/22945 )
在上面的提交中,社區(qū)為 librbd 新增了對(duì) FUA 的支持。若設(shè)置為 FUA 模式,對(duì)于寫操作請(qǐng)求,必須將數(shù)據(jù)寫入到存儲(chǔ)卷后,才返回成功信息。所有的寫請(qǐng)求處理都完全跳過緩存。
統(tǒng)一存儲(chǔ)層
mon 新增 pg repeer <pgid> 命令
mon/OSDMonitor: add ‘osd repeer <pgid>’ command
( https://github.com/ceph/ceph/pull/22940 )
在上面的提交中,社區(qū)為 mon 新增了
pg repeer <pgid>
命令,用于強(qiáng)制 pgid 參數(shù)指定的 PG 執(zhí)行 peer 處理。
集群管理
mgr 新增 crash 插件
mgr/pybind/crash: handle crashdumps
( https://github.com/ceph/ceph/pull/22703 )
在上面的提交中,社區(qū)為 mgr 實(shí)現(xiàn)了 crash 插件,用于收集集群中各組件的 crash dump 信息,并存儲(chǔ)在 Ceph 集群中,方便日后進(jìn)行分析。
針對(duì) crash 插件,主要新增了如下命令
啟用 crash 插件
ceph mgr module enable crash
保存一個(gè) crash dump 信息
ceph crash post -i <metafile>
移除一個(gè)指定的 crash dump 信息
ceph rm <crashid>
羅列出保存的所有 crash dump 信息
ceph crash ls
對(duì)所保存的 crash dump 信息進(jìn)行統(tǒng)計(jì)和總結(jié)
ceph crash stat
獲取所保存的指定 crash 過程的具體細(xì)節(jié)信息
ceph crash info <crashid>
移除所有保存時(shí)間大于 keep 字段所指定天數(shù)的 crash dump 信息
ceph crash prune <keep>
實(shí)現(xiàn) mgr 內(nèi)部各模塊之間可以相互調(diào)用
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 新增批量操作命令及相關(guān)的操作處理
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 )
本月提交情況
