概述
什么是 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 文档。
评论
登录后参与评论
KnowForge