存储桶

概述

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

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

什么是 Bucket(存储桶)?

Bucket 是 Ozone 数据层级中的第二级,位于 Volume 之内。Bucket 类似于传统文件系统中的目录或文件夹,是 Key(数据对象)的容器。

主要特性:

  • 隶属于 Volume: 每个 Bucket 必须属于某个 Volume。
  • Key 的容器: 一个 Bucket 可以包含任意数量的 Key。
  • 不支持嵌套: 与目录不同,Bucket 不能包含其他 Bucket。

Volume/Bucket 命名规范

为了保持与 S3 的兼容性,Ozone 的 volume 和 bucket 名称遵循 S3 命名规范。

这意味着 Ozone 中的 volume/bucket 名称:

允许的字符和长度:

  • 允许的字符:小写字母 (a-z)、数字 (0-9)、点 (.) 和连字符 (-)
  • 长度:必须在 3 到 63 个字符之间
  • 起止字符:必须以字母或数字开头和结尾

禁止事项:

  • 不能包含大写字母或下划线 (_)
  • 不能格式化为 IP 地址(例如 192.168.5.4)
  • 不能包含连续的点(例如 my..bucket),也不能有点相邻的连字符(例如 my-.bucket)
  • 不能以连字符结尾

在将 HDFS 工作负载迁移到 Ozone 时,这可能会带来麻烦,因为 HDFS 路径名称符合 POSIX 规范。

若要在 volume 和 bucket 名称中允许使用下划线 (_),同时仍然强制执行其他 S3 命名规则,可在 Ozone Manager 的 ozone-site.xml 中将属性 ozone.om.namespace.s3.strict 配置为 false。(这不会放宽对其他非 S3 字符的规则。)

详细说明

创建与管理

Bucket 在指定的 Volume 中创建。

ozone sh bucket create /myvolume/mybucket

如需了解有关存储桶操作的更多细节,请参阅 Ozone CLI 文档。

桶布局(对象存储与针对文件系统优化)

Ozone 支持不同的桶布局,主要有:

  • 对象存储(OBS): 传统的对象存储布局,键以完整路径名称存储。这种布局适用于类似 S3 的访问模式。有关更多细节,请参阅对象存储文档。
  • 针对文件系统优化(FSO): 一种针对 Hadoop 兼容文件系统(HCFS)语义优化的布局,其中中间目录会被单独存储,从而提升列表和重命名等文件系统操作的性能。有关更多细节,请参阅 Prefix FSO 文档。

纠删码

可以在桶级别启用纠删码(EC),以定义数据冗余策略。与副本机制相比,这种方式能够更高效地利用存储空间,尤其适用于大规模数据集。有关更多信息,请参阅纠删码文档。

快照

Ozone 的快照功能允许用户对指定的桶生成某一时间点上的一致性镜像。这些快照是不可变的,可用于备份、恢复、归档和增量复制等场景。有关更多细节,请参阅 Ozone 快照文档。

GDPR 合规

Ozone 提供了支持 GDPR 合规的功能,特别是“被遗忘权”。当创建一个符合 GDPR 要求的桶时,已删除数据的加密密钥会被立即移除,即使底层数据块尚未被物理清除,数据也将无法被读取。有关更多细节,请参阅 GDPR 文档。

桶链接

桶链接允许将一个卷(甚至另一个桶)中的桶暴露出来,使其看起来位于不同的位置,这在 S3 兼容性或跨租户访问场景中尤其有用。它会创建类似符号链接的行为。有关更多信息,请参阅桶链接文档。

访问控制列表(ACL)

访问控制列表(ACL)用于定义桶的权限,控制谁可以列出键、读写数据或删除该桶。有关更多细节,请参阅 安全 ACL 文档。

评论

登录后参与评论

正在加载评论…