问题标签 [radosgw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1354 浏览

backup - Ceph 对象网关:最好的备份策略是什么?

我有一个由 Rook 管理的 Ceph 集群,上面有一个 RGW 存储。我们正在尝试找出这家商店的最佳备份策略。我们正在考虑以下选项:使用 rclone 通过 S3 接口备份对象,使用 s3fs-fuse(尚未测试,但已知 s3fs-fuse 不够可靠),以及使用 NFS-Ganesha 重新导出 RGW存储为 NFS 共享。我们将拥有相当多的 RGW 用户和相当多的存储桶,因此所有三种解决方案都无法很好地扩展我们。另一种可能性是执行支持 RGW 存储的 RADOS 池的快照并备份这些快照,但在这种情况下 RTO 会高得多。快照的另一个问题是,似乎不可能在所有 RGW 支持池中一致地执行它们。我们从不从 RGW 存储中删除对象,因此,如果我们从元数据池开始快照,这个问题似乎并没有那么大——即使我们稍后在数据池上创建快照,它所引用的所有数据都将保留在原处。它不会是超级一致的,但也不应该被破坏。目前还不完全清楚如何使用这种快照方案及时恢复单个对象(老实说,完全不完全清楚如何使用这种方案进行恢复),但似乎值得一试。我们还有哪些其他选择?我错过了什么吗?目前还不完全清楚如何使用这种快照方案及时恢复单个对象(老实说,完全不完全清楚如何使用这种方案进行恢复),但似乎值得一试。我们还有哪些其他选择?我错过了什么吗?目前还不完全清楚如何使用这种快照方案及时恢复单个对象(老实说,完全不完全清楚如何使用这种方案进行恢复),但似乎值得一试。我们还有哪些其他选择?我错过了什么吗?

0 投票
1 回答
94 浏览

ceph - 为什么 Ceph 通过对象哈希而不是 CRUSH 算法计算 PG ID?

Ceph 使用 CRUSH 算法进行 PG->OSD 映射,它适用于增加/减少 OSD 节点。

但是对于 obj->PG 映射,Ceph 仍然使用传统的哈希,即pgid = hash(obj_name) % pg_num. 如果我们改变 PG 的数量,这种方法可能会导致大量的数据迁移,甚至会降低系统的可用性。

为什么 Ceph 不使用 CRUSH algirhtm(比如稻草 2)进行 obj->PG 映射,当 PG 的数量发生变化时,它可能具有最佳的数据迁移量?

0 投票
1 回答
463 浏览

bucket - Ceph 限制(桶数和用户数)

我想知道这些问题:

  1. ceph 集群中的最大桶数
  2. radosgw 中的最大用户数

谢谢。

0 投票
1 回答
92 浏览

amazon-s3 - 在 Ceph 中订阅通知时出现 NoSuchKey 错误是什么意思?

我正在尝试关注此网址https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#create-notification

为我的存储桶创建一个发布者到一个主题中。

我的卷发:

它返回给我这个错误

有人知道这个错误在 Ceph 中是什么意思吗?我该如何进行?

0 投票
0 回答
70 浏览

python - 当我使用 SSECustomerKey 时,Boto3 put_object() 失败

过去一天我一直在尝试将一些加密文本加载到 Ceph 对象存储中,但每当我尝试时,我都会收到以下错误:

botocore.exceptions.ClientError:调用PutObject操作时发生错误(InvalidRequest):未知

我正在使用的代码是这样的:

我提到如果我删除SSECustomerKey=random_key,SSECustomerAlgorithm='AES256' 然后它会加载文本。

0 投票
0 回答
58 浏览

amazon-s3 - radosgw + civetweb s3 403 创建存储桶

我在异国情调的架构上安装了 ceph 版本 12.2.13 luminous (stable)。因此,无法更新到较新版本的 ceph。

让 radosgw 运行并收听,使用 S3 浏览器对其进行测试。看起来桶列表(即使没有)有效,但是任何创建新桶的尝试都会失败,并出现 403 错误。日志位于这篇文章的底部(列出,然后是创建尝试)。这些是我的用户设置:

radosgw 日志:

0 投票
1 回答
508 浏览

amazon-s3 - 只读用户 - 列出我拥有读取权限的所有存储桶

我们正在使用 ceph 并且有几个存储桶。

我们正在使用一个只读用户来备份这些存储桶。

如果我知道列表,我可以备份我的所有存储桶。

我不明白为什么,但我无法列出所有存储桶。

在 ceph radosgw 中是否有可能?我怀疑不是。

该政策如下所示:

而且我在用户层面没有什么特别之处。

但是当我尝试列出时,我得到以下信息:

只有最后一个命令是列出内容。

在这个链接中据说基本上不可能: https ://help.switch.ch/engines/documentation/s3-like-object-storage/s3_policy/

在此发布页面上,他们可能会谈论它: https ://ceph.io/releases/v16-2-0-pacific-released/

谢谢你的帮助!

0 投票
0 回答
43 浏览

bucket - RGW 多站点 - 如何设置默认存储桶同步禁用?

我只想从主区域创建新存储桶并手动开始同步到辅助区域。有没有办法为新存储桶设置同步禁用?* Ceph 版本 Nautilus 14.2.16

0 投票
0 回答
61 浏览

ceph - 将 radosgw 数据迁移到新池

我有一个 radosgw 使用的大型(2.2PB,约 60 亿个文件)EC 池。它仍然被用户大量用于阅读和写作。但是,我想开始使用一个新的 ceph 池,并将这个 ceph 池中的所有数据迁移到新的。

不幸的是,停机时间不会是一种选择,因为时间敏感数据会主动存储并从该池中检索,并且停机时间可能必须是几天才能迁移这么多数据。

有没有办法在没有大量停机时间的情况下迁移这个池?我发现的最接近的讨论是在这个线程中,他们谈论设置一个新的默认池,但它没有足够的细节来说明我的技能水平如何实施解决方案。

任何有关我如何完成此迁移的说明将不胜感激。

操作系统版本:Ubuntu 20.04
Ceph 版本:Octopus

0 投票
1 回答
166 浏览

ceph - 零停机时间将 ceph 存储桶迁移到新用户

我有一个包含数百万个对象的 ceph/radosgw 存储桶,我需要将存储桶的所有权更改给另一个用户。

通常,这是通过link将存储桶 ing 到新用户,然后chowning 中的所有文件来完成的,如下所示:

不幸的是,该chown操作必须遍历存储桶中的每个对象才能更新元数据。这会导致停机时间延长(有时显然是每百万个对象 1 小时),旧用户和新用户都无法访问存储桶的全部内容。

有什么方法可以在不需要停机的情况下更改存储桶所有权?一些想法:

  • 两个用户是否可以同时拥有一个存储桶或特定对象?
  • 我们可以创建新用户,然后只更改他们uid或其他一些元数据,授予他们访问旧用户存储桶的权限吗?
  • 问题可以在客户端解决,还是可以通过代理解决?