SUSE Enterprise Storage 6 中的几个关键的包均基于 Ceph 的 Nautilus 版本系列。当 Ceph 项目 (https://github.com/ceph/ceph) 在 Nautilus 系列中发布新的小版本时,SUSE Enterprise Storage 6 即会更新,以确保产品应用最新的上游 Bug 修复并可进行功能向后移植。
本章简要介绍有关已经或计划在产品中包含的每个上游小版本中的重要更改。
此小版本修复了 14.2.3 小版本中发现的一个严重的回归问题。此回归问题未对 SUSE Enterprise Storage 客户产生影响,因为我们未随附基于 14.2.3 的版本。
修复了拒绝服务漏洞,如果存在该漏洞,Ceph 对象网关的未验证客户端可能会触发未被捕获的异常所导致的崩溃。
现在,基于 Nautilus 的 librbd 客户端可以打开 Jewel 集群上的映像。
对象网关 num_rados_handles
已删除。如果您之前使用的 num_rados_handles
值大于 1,将当前的 objecter_inflight_ops
和 objecter_inflight_op_bytes
参数与 num_rados_handles
以前的值相乘,即可设置相同的节流行为。
在本版本中,Messenger v2 协议的安全模式不再是实验性的。现在,此模式是首选的 Monitor 连接模式。
osd_deep_scrub_large_omap_object_key_threshold
已降低,以便更轻松地检测存储了大量 omap 键的对象。
Ceph Dashboard 现在支持将 Prometheus 通知设为静默模式。
no{up,down,in,out}
相关命令已修改。现在有以下两种方式来设置 no{up,down,in,out}
标志:一种是旧命令
ceph osd [un]set FLAG
该命令可设置集群范围的标志;另一种是新命令
ceph osd [un]set-group FLAGS WHO
该命令能以任何 CRUSH 节点或设备类型的粒度批量设置标志。
radosgw-admin
引入了两个子命令,用来管理对较低版对象网关中桶重新分片后可能遗留的过时对象的废弃。其中一个子命令可列出此类对象,而另一个子命令可将其删除。
较低的 Nautilus 版本(14.2.1 和 14.2.0)存在如下问题:如果在升级后的集群(即最初是在 Nautilus 之前部署的集群)上部署一个新的 Nautilus BlueStore OSD,将会损坏 ceph df
报告的池利用统计数据。在您通过 ceph-bluestore-tool repair
重新供应或更新所有 OSD 之前,池统计数据显示的值将低于实际值。此问题已在 14.2.2 中解决,因此,仅当所有 OSD 均为 14.2.2 或更高版本(即块存储),并且已通过修复功能更新(如果它们是在 Nautilus 之前创建的)后,集群才会转为使用更准确的基于存储池的统计数据。
mon_crush_min_required_version
的默认值已由 firefly
更改为 hammer
,这意味着如果您的 CRUSH 可调变量比 Hammer 旧,集群将发出健康状况警告。在转为使用 Hammer 可调变量时,一般将会重新平衡少量(但并非零)数据。
如果可能,建议您将允许的最旧客户端设置为 hammer
或更高版本。要显示当前允许的最旧客户端,请运行以下命令:
cephadm@adm >
ceph osd dump | grep min_compat_client
如果当前值比 hammer
旧,请运行以下命令以确认有无比当前连接到集群的 Hammer 更旧的客户端,据此判断进行此更改是否安全:
cephadm@adm >
ceph features
Hammer 中引入了更新的 straw2
CRUSH 存储桶类型。如果您确认所有客户端均为 Hammer 或更新版本,便可使用仅适用于 straw2
存储桶的新功能,包括平衡器的 crush-compat
模式 (第 10.1 节 “平衡器”)。
有关增补程序的详细信息,请访问 https://download.suse.com/Download?buildid=D38A7mekBz4~
这是原始 Nautilus 版本 (14.2.0) 之后的第一个小版本。SUSE Enterprise Storage 6 的原始(“正式发布版”或“GA”)版本基于此小版本。