特性

文件系统优化 (FSO)

师成师成· 更新于 2026-09-28· 阅读 3 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

基于前缀的文件系统优化(FSO)特性支持在命名空间中对任意层级的目录执行原子重命名和删除,且耗时为确定性的常量时间。

在创建存储桶时,通过将 --layout 标志设置为 FILE_SYSTEM_OPTIMIZED,即可为需要该特性的特定存储桶启用此功能。

ozone sh bucket create /<volume-name>/<bucket-name> --layout FILE_SYSTEM_OPTIMIZED

注意:文件系统优化(FSO)更倾向于 Hadoop 兼容文件系统(HCFS),而非 S3 兼容。某些不规范的 S3 键名可能会被拒绝或被规范化。

对于主要通过 Hadoop 兼容接口访问的 Ozone 存储桶,强烈建议开启此特性,尤其是当目录层级较深且文件数量众多时。

OzoneManager 元数据布局格式

OzoneManager 支持两种元数据存储桶布局格式——对象存储(OBS)和文件系统优化(FSO)。

对象存储(OBS)是现有的 OM 元数据格式,它以完整的路径名存储键条目。在文件系统优化(FSO)存储桶中,OM 元数据格式将中间目录存入 DirectoryTable,将文件存入 FileTable,如下图所示。表中的键是目录或文件的名称,并以其父目录的唯一标识符作为前缀,即 <parent unique-id>/<filename>。

前缀 FSO 格式

前缀布局下的目录删除操作

下图描述了对目录执行删除操作时 OM 元数据的变化。

前缀 FSO 删除

前缀布局下的目录重命名操作

下图描述了对目录执行重命名操作时 OM 元数据的变化。

前缀 FSO 重命名

配置

可以在 ozone-site.xml 中配置以下选项,以便在客户端未指定存储桶布局参数时,定义创建存储桶时的默认布局。支持的取值为 OBJECT_STORE、FILE_SYSTEM_OPTIMIZED 和 LEGACY。

默认情况下,该配置项为空。如果 Ozone 发现该配置项为空,将默认使用 FILE_SYSTEM_OPTIMIZED 存储桶布局。

<property>
    <name>ozone.default.bucket.layout</name>
    <value/>
</property>

评论

登录后参与评论

正在加载评论…