4.3. Ceph 文件系统

在收到不支持的指标时,MDS 守护进程不再崩溃

在以前的版本中,MDS 守护进程无法处理内核客户端中的新指标,从而导致 MDS 守护进程在收到任何不受支持的指标时崩溃。

在这个版本中,MDS 会丢弃任何不受支持的指标,并可按预期工作。

(BZ#2030451)

当存储集群已满时,允许删除数据

在以前的版本中,当存储集群已满时,Ceph 管理器会在读取配置文件时检查池权限。Ceph 元数据服务器(MDS)不允许在 Ceph OSD 满时进行写操作,从而导致 ENOSPACE 错误。当存储集群达到 full 比率时,用户无法使用 Ceph Manager 卷插件删除数据来释放空间。

在这个版本中,引入了新的 FULL 功能。借助 FULL 功能,Ceph 管理器将绕过 Ceph OSD 完整检查。client_check_pool_permission 选项默认禁用,而在以前的版本中,它已被启用。当 Ceph Manager 具有 FULL 功能时,MDS 不再阻止 Ceph 管理器调用。这会导致 Ceph Manager 在存储集群已满时删除子卷和快照来释放空间。

(BZ#1910272)

在处理来自 Ceph 文件系统客户端的身份验证请求时,Ceph 监控器不再崩溃

在以前的版本中,如果客户端没有查看旧文件系统的权限,Ceph 监视器会在处理来自客户端的身份验证请求时崩溃。这会导致 Ceph 监控器不可用。在这个版本中,代码更新修复了对旧文件系统身份验证请求的处理,并且身份验证请求可以正常工作。

(BZ#1976915)

修复的 KeyError 在 MGR 日志中出现几毫秒的问题

在以前的版本中,KeyError 被记录到 Ceph Manager 每几毫秒的日志。这是因为尝试从 client_metadata[in_progress] 字典中删除带有不存在的键的元素,从而导致一个 KeyError。因此,在日志中查找其他堆栈追踪非常困难。此发行版本修复了 Ceph 文件系统性能指标中的代码逻辑,以及 Ceph Manager 日志中的 KeyError 消息。

(BZ#1979520)

对于某些克隆状态,不再允许删除子卷克隆

在以前的版本中,如果您尝试删除使用 force 选项的子卷克隆,当克隆没有处于 COMPLETEDCANCELLED 状态时,克隆不会从索引跟踪正在进行的克隆中移除。这会导致对应的 cloner 线程无限期重试克隆,最终会导致一个 ENOENT 失败。当默认克隆线程数设置为 4 时,尝试删除四个克隆会导致所有四个线程进入 blocked 状态,以便没有待处理的克隆完成。

在这个版本中,除非克隆处于 COMPLETEDCANCELLED 状态,否则它不会被删除。克隆器线程不再阻止,因为克隆被删除,以及它们在索引中的条目跟踪正在进行的克隆。因此,待处理克隆可以继续按预期完成。

(BZ#1980920)

ceph fs 快照镜像守护进程状态 命令不再需要文件系统名称

在以前的版本中,用户需要至少一个文件系统名称给 ceph fs 快照镜像守护进程状态命令。在这个版本中,用户不再需要将一个文件系统名称指定为命令参数,守护进程状态会单独显示每个文件系统。

(BZ#1988338)

停止 cephfs-mirror 守护进程可能会导致未清除关闭

在以前的版本中,cephfs-mirror 进程会因为 cephfs-mirror 关闭过程中出现竞争条件而终止。在这个版本中,竞争条件被解析,因此 cephfs-mirror 守护进程可以安全地关闭。

(BZ#2002140)

Ceph 元数据服务器不再报告元数据损坏,失败警告

在以前的版本中,Ceph Monitor 在创建过程中为 standby-replay 守护进程分配了等级。此行为可能会导致 Ceph 元数据服务器(MDS)报告错误元数据损坏,以及失败警告。在这个版本中,Ceph Monitor 不再为创建过程中为待机 play 守护进程分配排名,从而消除错误元数据损坏和故障警告。

(BZ#2002398)