4.5. Ceph 文件系统
带有 FSMap 更改的 MDS 元数据现在在批处理中添加,以确保一致性
在以前的版本中,监控器有时会在升级过程中丢失 MDS 元数据跟踪并取消了 PAXOS 事务,从而导致 MDS 元数据不再可用。
在这个版本中,带有 FSMap 更改的 MDS 元数据会批量添加,以确保一致性。ceph mds metadata
命令现在可以正常工作。
ENOTEMPTY
输出被检测到,消息会被正确显示
在以前的版本中,当运行 子卷组 rm
命令时,在卷的插件中不会检测到 ENOTEMPTY
输出,从而导致通用错误消息而不是特定消息。
在这个版本中,当 subvolumegroup 中存在 子卷时,为子卷组 rm
命令检测到 ENOTEMPTY
输出,并正确显示消息。
现在,MDS 会在请求清理过程中自动对下一个客户端重播请求排队
在以前的版本中,MDS 不会将下一个客户端请求排队 up:client-replay
状态,从而导致 MDS 挂起。
在这个版本中,下一个客户端重播请求会在请求清理过程中自动排队,MDS 会正常进行故障转移恢复。
CephFS-mirroring 整体性能有所改进
在这个版本中,增量快照同步已被修正,这可以提高 cephfs-mirroring 的整体性能。
loner 成员设置为 true
在以前的版本中,对于 LOCK_EXCL_XSYN 状态的文件锁定,非代理客户端将发出空的 caps。但是,由于此状态的 loner 被设置为 false
,因此可能会导致 locker 向它们发出 Fcb caps,这不正确。这会导致一些客户端请求错误地撤销一些上限和无限等待,并导致请求较慢。
在这个版本中,loner 成员被设置为 true
,因此对应的请求不会被阻止。
为每月快照的 snap-schedule 重复和保留规格从 m
改为 M
在以前的版本中,snap-schedule 重复规格和保留规格与其他 Ceph 组件不一致。
在这个版本中,规格从 m
改为 M
,现在与其他 Ceph 组件一致。例如,要保留 5 个每月的快照,您需要运行以下命令:
# ceph fs snap-schedule retention add /some/path M 5 --fs cephfs
当在多 mds 集群中复制某些内节点时,Ceph-mds 不再崩溃
在以前的版本中,因为 ceph-mds 中的锁断言不正确,ceph-mds 会在多 mds 集群中复制一些内节点时崩溃。
在这个版本中,断言中的锁定状态会被验证,且不会观察崩溃。
缺少字段,如 日期
、client_count
、过滤器添加到- dump
输出中
在这个版本中,缺少的字段(如 date
、client_count
、过滤器
)添加到- dump
输出中。
在恢复过程中,MDS 不再失败并显示 assert 功能
在以前的版本中,当恢复失败的排名时,MDS 有时会错误地报告元数据损坏,因此会失败并显示 assert 功能。
在这个版本中,启动过程已被修正,MDS 在恢复过程中不会失败并带有 assert 功能。
目标 mon_host 详情已从 peer List 和 mirror 守护进程状态中删除
在以前的版本中,快照镜像 peer-list 显示比对等列表更多的信息。如果应该只会显示一个 MON IP 或所有 MON 主机 IP,则此输出会导致混淆。
在这个版本中,mon_host 从 fs snapshot mirror peer_list 命令中删除,目标 mon_host 详情已从 peer List 和 mirror 守护进程状态中删除。
目标 mon_host 详情已从 peer List 和 mirror 守护进程状态中删除
在以前的版本中,静默协议代码引入了回归问题。在终止客户端请求时,它将跳过为批处理操作选择新批处理头。这会导致过时的批处理头请求永久保留在 MDS 缓存中,然后被视为较慢的请求。
在这个版本中,在终止请求时选择一个新的批处理头,且不会由批处理操作导致的请求缓慢。
即使没有 MDS 正常运行,文件系统升级也会发生
在以前的版本中,当所有 MDS 都停机时,监控器不允许 MDS 升级文件系统。因此,当 fail_fs
设置为 'true' 时,升级会失败。
在这个版本中,监控器允许在没有 MDS 时进行升级。