问题标签 [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.
docker - 在 CentOS 上安装时找不到 Ceph
我无法在我的 centos 7 系统上安装 Ceph。错误信息如下:
python - Ceph radosgw - 存储桶策略 - 默认使所有对象公开读取
我与一组通过 radosgw 将对象上传到 s3 样式存储桶的非开发人员一起工作。所有上传的对象都需要公开可用,但它们不能以编程方式执行此操作。有没有办法让对象的默认权限为公共读取,这样就不必每次都手动设置?必须有一种方法可以做到这一点boto
,但我还没有找到任何例子。有一些使用 AWS 的 GUI 浮动,但这不是我的选择。:(
我正在创建一个这样的存储桶:
我将策略设置为公共读取,这似乎允许人们将存储桶作为目录浏览,但存储桶中的对象不继承此权限。
澄清一下,我知道我可以像这样在每个对象的基础上解决这个问题:
但是我的最终用户无法做到这一点,所以我需要一种方法来使其成为上传文件的默认权限。
storage - 如何以 URL 直接访问 Ceph 上的文件
我需要一个具有以下要求的存储系统: 1. 它应该支持数据/服务集群 2. 它应该是开源的,以便我以后可以在需要时扩展功能 3. 它应该支持文件系统,因为我想访问一些文件作为公共网址(直接访问)。这样我就可以将我的脚本存储在这些文件中并直接引用这些文件。4. 支持某种身份验证 5. 我希望它在本地(不是云)。
Ceph 似乎符合所有标准,但它是否支持文件的公共访问,就像 URL(第 3 点)一样?虽然它能够生成临时 URL,但我想要几个文件的永久 URL。
ceph - Ceph rgw LDAP 授权
我尝试设置 LDAP(Active Directory)身份验证 ceph rgw。我的 ceph 版本 12.2.2。我的配置文件 ceph.conf
在 rgw host 我做了三个命令
这些命令的结果是 base64 字符串:
在解码状态下,字符串看起来像这样。登录名和密码在这一行
为了连接到 rgw,我使用 python boto。我不明白变量 aws_secret_access_key 的用途需要值
脚本的执行给出了这个结果:
cephrgwhost 日志的内容(日志文件 /var/log/ceph/ceph-client.rgw.cephrgwhost.log)。我正在查看 cephrgwhost 和 adceph.ceph.int 之间的流量,不存在 ldap 流量
ceph - 头孢。什么 osd 选择从它实际返回数据(ceph 逻辑)
我使用 nginx->radosgw->ceph 集群,其中每条放置的数据同时放置在 3 个 osd 上(每个 osd 是一个单独的 osd 服务器)整个集群包含 9 个 osd 服务器。Ceph v10(如果这很重要)
比如说,我的数据是一个 5KiB 的小文件。集群处于正常状态。
问题:当我通过 nginx->radosgw 从集群中获取(请求)我的数据时,OSD 选择了什么来从 SSD 磁盘接收实际信息?
这是一个返回整个 5KiB 数据的“主”OSD 吗?
这是否是所有 3 个 OSD 都包含这块,它同时从每个 3 个 OSD 返回整个 5KiB 数据?
除了保存这块 5KiB 数据的 3 个 OSD 中的一个之外,这是否是任何一个,它选择返回实际数据,并且数据可以从 3 个 OSD 中的任何一个返回,但只有一个选定的 OSD 会返回整个 5KiB 数据?
这是 3 个 OSD 中的任何一个,它保存了这块 5KiB 数据,它返回,比如 osd1 返回 1KiB + osd2 返回 3KiB + osd8 返回 1KiB = 5KiB ?
逻辑是什么?
感谢您耐心阅读上述选项。提前感谢您的答案。
ceph - Ceph 如何使用 STS 服务?
我想使用 STS 服务生成临时凭据以供第三方客户端使用。
我根据文档配置了 STS lite 。
这是我的配置文件:
当我执行 getSessionToken 方法时,返回 405 错误:
这是我的测试代码:
谁能告诉我是我的配置不正确还是我测试的版本不提供 STS 服务?
这些是我测试的版本:
amazon-s3 - Boto3 将对象结果放入 botocore.exceptions.ReadTimeoutError
我已经在每个节点上设置了两个带有 rados 网关的 ceph 集群。我想要实现的是将所有对象从集群“1”中具有端点的存储桶“A”转移到可以从集群“2”上的另一个端点访问的存储桶“B”。这对我的问题并不重要,但至少你了解上下文。
我使用 boto3 模块在 python 中创建了一个脚本。脚本真的很简单。我只是想把一个对象放在一个桶里。
相关部分如下:
(hello.txt 只包含一个单词)
假设这个脚本是从我的集群 1 中的一个节点(即 radosgw 端点节点)编写并运行的。当“endpoint_url”是我运行脚本的节点时它运行良好,但当我运行时它不起作用我试图到达我的另一个端点(radosgw,位于我的集群“2”中的另一个节点中)。
我收到了这个错误:
奇怪的是我可以创建一个没有任何错误的存储桶:
我什至可以列出我的两个端点的存储桶。
你知道为什么我可以做几乎所有事情,但不能在我的第二个端点中放置一个对象吗?
我希望它有任何意义。
node.js - rados_clone_range返回的-95错误码是什么意思?
我有 node.js 版本 12.4.0 的 Ceph rados 客户端。
我想将一个对象的一部分复制到另一个对象。并且有一个为此操作编写的方法。它的名字是 clone_range,它使用了 librados 的 rados_clone_range 函数。
向此函数 (rados_clone_range) 提供参数后返回错误代码 -95。
rados_clone_range返回的-95错误码是什么意思???
库文件
/* 有效地将一个对象的一部分复制到另一个对象 如果 OSD 上的底层文件系统支持它,这将是一个写时复制克隆。src 和 dest 对象必须在同一个 pg 中。为了确保这一点,io 上下文应该有一个定位键集(请参阅 rados_ioctx_locator_set_key())。
- @param io 克隆数据的上下文
- @param dst 目标对象的名称
- @param dst_off 目标对象内的偏移量(以字节为单位)
- @param src 源对象的名称
- @param src_off 源对象内的偏移量(以字节为单位)
- @param len 要复制多少数据
- @returns 0 成功,负错误码失败 */
rados.cc
例子.js
java - 无法使用使用 HTTPS 的 AWS S3 Java API 访问 S3 上的存储桶
尝试访问我们的本地 S3 存储时,我首先遇到了缺少证书的问题:
线程“主”com.amazonaws.SdkClientException 中的异常:无法执行 HTTP 请求:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
关闭证书检查:
System.setProperty(SDKGlobalConfiguration.DISABLE_CERT_CHECKING_SYSTEM_PROPERTY, "true");
我管理“连接”到服务器。但这不会产生任何结果(又名空列表),使用下面的代码。到目前为止很简单。
端点和存储桶名称都应该是正确的,因为我将它们从(工作的)S3 浏览器中剪切下来。
凭据似乎也是正确的,因为当我把它们弄乱时,我正在运行 404。再次 - 从 y S3 浏览器复制那些。
使用 S3 浏览器,我可以访问存储桶、添加文件等等。
运行List<Bucket> buckets = s3Client.listBuckets();
时它只返回一个空列表 - 没有任何例外。
控制台输出为:
2019 年 7 月 3 日 8:48:07 NACHM。com.amazonaws.http.AmazonHttpClient createSocketFactoryRegistry 警告:已明确禁用端点的 SSL 证书检查。2019 年 7 月 3 日 8:48:08 NACHM。com.amazonaws.auth.profile.internal.BasicProfileConfigLoader loadProfiles 警告:您的配置文件名称包含“配置文件”前缀。这被认为是 Java SDK 中配置文件名称的一部分,因此当您从 Java 代码中引用此配置文件时,您需要在配置文件名称中包含此前缀。2019 年 7 月 3 日 8:48:08 NACHM。com.amazonaws.auth.profile.internal.BasicProfileConfigLoader loadProfiles 警告:您的配置文件名称包含“配置文件”前缀。这被认为是 Java SDK 中配置文件名称的一部分,因此,当您从 Java 代码中引用此配置文件时,您需要在配置文件名称中包含此前缀。2019 年 7 月 3 日 8:48:23 NACHM。com.amazonaws.http.AmazonHttpClient createSocketFactoryRegistry 警告:已明确禁用端点的 SSL 证书检查。
有什么建议吗?
运行List<Bucket> buckets = s3Client.listBuckets();
时它只返回一个空列表 - 没有任何例外。
此存储桶的根目录中有(根据 S3 浏览器)2 个文件。
控制台输出为:
2019 年 7 月 3 日 8:48:07 NACHM。com.amazonaws.http.AmazonHttpClient createSocketFactoryRegistry 警告:已明确禁用端点的 SSL 证书检查。2019 年 7 月 3 日 8:48:08 NACHM。com.amazonaws.auth.profile.internal.BasicProfileConfigLoader loadProfiles 警告:您的配置文件名称包含“配置文件”前缀。这被认为是 Java SDK 中配置文件名称的一部分,因此当您从 Java 代码中引用此配置文件时,您需要在配置文件名称中包含此前缀。2019 年 7 月 3 日 8:48:08 NACHM。com.amazonaws.auth.profile.internal.BasicProfileConfigLoader loadProfiles 警告:您的配置文件名称包含“配置文件”前缀。这被认为是 Java SDK 中配置文件名称的一部分,因此,当您从 Java 代码中引用此配置文件时,您需要在配置文件名称中包含此前缀。2019 年 7 月 3 日 8:48:23 NACHM。com.amazonaws.http.AmazonHttpClient createSocketFactoryRegistry 警告:已明确禁用端点的 SSL 证书检查。
有什么建议吗?
amazon-s3 - 是否可以在没有查询参数的情况下生成 S3 下载 URL?
我使用的是 Ceph Rados 网关提供的 S3 实例,而不是 Amazon S3。
我可以生成这样的下载网址:
但某些客户端,如 iPXE 似乎无法处理从包含查询参数的 HTTP 源下载。我真的不在乎 url 的格式是什么,只要它可以被挑剔的客户下载。
这甚至可能吗?