存储桶
链接
登录后可跨设备保存划线和私人笔记登录
Bucket 链接允许将一个卷(甚至另一个存储桶)中的存储桶暴露到不同的位置,如同它本来就位于该位置一样,这对于 S3 兼容性或跨租户访问尤其有用。这种机制创建了类似符号链接的行为。有关更多信息,请参阅 S3 协议文档 和 S3 多租户文档。
概述
与 S3 相比,Ozone 在命名空间层次结构中多了一个元素:卷。默认情况下,/s3v 卷的所有存储桶都可以通过 S3 接口访问,但只有 /s3v 卷中的(Ozone)存储桶会被暴露。
Bucket 链接提供了一种方式,通过为目标存储桶创建"符号链接",使任何卷中的存储桶都可以通过 S3 接口访问。
使用场景
Bucket 链接特别适用于以下场景:
- S3 兼容性:通过 S3 接口暴露非 S3 卷中的存储桶
- 跨租户访问:无需复制数据即可跨不同卷访问存储桶
- 命名空间组织:在不移动数据的情况下对存储桶进行逻辑分组
- 访问控制:通过不同的访问路径控制存储桶的可见性
创建 Bucket 链接
要使任何存储桶都能通过 S3 接口使用,请创建一个符号链接存储桶:
ozone sh volume create /s3v
ozone sh volume create /vol1
ozone sh bucket create /vol1/bucket1
ozone sh bucket link /vol1/bucket1 /s3v/common-bucket此示例通过 S3 接口,将 Ozone 桶 /vol1/bucket1 以 S3 兼容的 common-bucket 形式暴露出去。
桶链接的工作原理
桶链接在数据库中的存储方式与普通桶相同,但额外包含了所引用的源卷和源桶的相关信息:
- 源桶(如
/vol1/bucket1)继续存储实际数据 - 链接桶(如
/s3v/common-bucket)充当符号引用 - 对链接桶执行的键操作(列出、获取、放入等)会被透明地重定向到源桶
- 桶操作(信息、删除、ACL)作用于链接对象本身
- 在建立链接的过程中,不会复制或重复任何数据
访问链接桶
创建桶链接之后,你就可以像访问其他任何桶一样,通过 S3 接口访问它:
# Set up AWS credentials
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
# Access the linked bucket through S3 interface
aws s3api --endpoint http://localhost:9878 list-objects --bucket common-bucket有关实现细节,请参阅卷管理设计文档。
评论
登录后参与评论
正在加载评论…
KnowForge