4.6. RADOS
新添加的容量不再标记为已分配
在以前的版本中,新添加的容量会自动标记为已分配。因此,添加磁盘容量不会添加可用空间。
在这个版本中,添加的容量被标记为可用容量,重启 OSD 后,新添加的容量会被识别为添加的空间。
Bugzilla:2296247
BlueStore 现在可以与 OSD 正常工作
在以前的版本中,ceph-bluestore-tool show-label
不适用于挂载的 OSD,ceph-volume lvm zap
命令无法清除 OSD 的身份。在这个版本中,show-label
属性不需要对磁盘进行独占访问。另外,ceph-volume
命令现在使用 ceph-bluestore-tool zap
来清除 OSD 设备。
BlueStore 不再覆盖标签
在以前的版本中,BlueFS 会写入标签保留的位置。因此,OSD 不会如预期启动。
在这个版本中,标签位置被标记为 reserved,且不会覆盖。BlueStore 现在挂载,OSD 会如预期启动。
RocksDB 文件现在仅在需要时占用尽可能多的空间
在以前的版本中,RocksDB 文件是通常预分配的,但永远不会截断。这会导致浪费被分配给永远不会使用的文件的磁盘空间。
在这个版本中,实施了正确的截断,将未使用的分配移回空闲池。
监控在崩溃或关闭测试过程中不再处于选举状态
在以前的版本中,只有进入 stretch_mode
时才会填充 MonitorMap 的 disallowed_leaders
属性。然而,在有些情况下,只有 revived 不会立即进入 stretch_mode
,因为它们会处于 probing
状态。这会导致跨集群的监控器之间设置的 disallowed_leaders
不匹配。因此,监控器无法选举领导,选举会卡住,从而导致 Ceph 无响应。
在这个版本中,监控器不必处于 stretch_mode
来填充 disallowed_leaders
属性。监控在崩溃或关闭测试过程中不再处于选举状态。