问题标签 [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.
amazon-s3 - CEPH + S3 Java SDK + 预签名 PUT + CORS = 失败
我正在寻找让 CEPH + S3 Java SDK + 预签名的 PUT url + CORS 工作的神奇公式。我们能够创建一个存储桶,然后将 CORS 配置应用于该存储桶。然后,我们能够创建一个预先生成的 PUT url,然后我们将其发送回客户端。但是,CORS 预检(选项)请求失败并显示 403。
对于 AWS,同样的代码效果很好。但是,Swift 和 Ceph 都在 OPTIONS 请求上失败,并返回 403。由于 OPTIONS 失败,CORS 失败。我们追踪到(我们认为)RADOSGW 中创建身份验证头的方式可能存在缺陷……它与亚马逊 SDK 使用的签名过程不匹配。例如:
我们可以处理缺少的内容类型和其他元数据字段,但请注意 METHOD 完全错误。RADOSGW 我认为应该使用“Access-Control-Request-Method”作为签名中的方法......而不是用于预检请求的实际 OPTIONS 方法。
有没有人能够让这种组合发挥作用?
gateway - ceph网关不工作
我已经部署了一个 6 个节点的 ceph 存储集群 + 1 个管理员和 1 个监视器。一切似乎都很好。我刚刚创建了一个网关节点,当我启动 ceph-radosgw 进程时它似乎很好:
但我无法在其上使用任何 rados 或 rados-admin cmd。
无法连接到集群!错误-2
密钥环文件具有读取权限:
并且配置确实指示了环文件的正确路径:
密钥环文件确实提供写权限。
网关主机上只安装了 ceph-radosgw 和 radosgw-agent。如果有人可以为我提供故障排除提示,我将不胜感激。最好的祝愿。
ruby - AWS S3 和 CEPH/Rados Bucket 权限继承
我在创建可公开阅读的存储桶时遇到问题。我正在使用 Amazon aws-sdk v 1.60.2 在 CEPH / Rados 商店工作
我创建了一个类似于许多不同教程的存储桶
然后我上传了一些文件,s3.buckets['bucketName']
但是当我进入并查看存储桶的特定权限及其内部对象时,我看到的存储桶具有授予 AllUsers 组的读取权限以及设置给我创建存储桶的用户的 FULL_CONTROL . 但是,这些对象不继承匿名读取权限。我需要桶中的对象可以匿名读取。
作为注释,我在运行时会看到这些权限s3.buckets['bucketName'].acl
。当我尝试运行时s3.buckets['bucketName'].policy
,出现以下毫无意义的错误:
上面的错误看起来像 aws-sdk 正在调用不应发生的 XML 字符串上的 json 解析器。
我不能简单地上传具有明确权限的对象,因为我的项目会自动将 BOSH 上传到商店。
openstack-swift - 列出来自非 Keystone Swift 的容器元数据
此代码向 RadosGW 发出GET请求(我不使用 Keystone)
如果PROVIDER
是openstack-swift我的代码会抛出
如果PROVIDER
是swift我的代码抛出
我的依赖是
如何在不下载包含的 blob 列表的情况下列出所有容器及其所有元数据?
swift和openstack-swift有什么区别?
ceph - 当我删除池中的对象时,radosgw 保留影子文件
我在集群中部署了rgw,在进行测试时,我经常上传和删除对象,之后我发现.rgw.buckets中有很多影子文件,我尝试运行commend:radosgw-admin temp删除,但它给了我一个无法识别 arg remove 的错误。我也尝试配置 gc,但 gc 列表总是给我一个空列表。有人可以告诉如何处理影子文件或如何删除它们吗?非常感谢
ceph - radosgw swift接口放置对象响应500错误?
我启动了一个 radosgw(嵌入式 Civetweb),我想使用 swift 界面来放置/获取对象;
我的radosgw的ceph配置:</p>
radosgw.keyring
启动 radosgw:
其次,我创建了一个快速用户:
然后使用 swiftclient 进行通信:
创建一个桶(容器):
列表容器(一切正常):
但是当我放置对象(使用python脚本)时,我得到了错误:
radosgw的日志:</p>
put_object 的脚本:
我使用 python 脚本列出容器,它运行良好:
list_containers.py:
我不知道如何解决它,请帮助我;
多谢;
amazon-s3 - ceph s3 radosgw 403
我安装了 ceph 和 radosgw,它们与 s3cmd 配合得很好。我决定设置 docker 注册表版本 2 并使用 s3 作为存储。我开始这样:
当我试图推动某些东西时,我得到了
在 radosgw 日志中
我发现亚马逊支持“验证请求:使用查询参数(AWS 签名版本 4)” http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
所以,我的问题: 1. 有没有办法告诉 radosgw 使用查询 qarameters 对请求进行身份验证?2.有没有办法告诉注册中心不要使用这种身份验证?3. 有没有办法在radosgw 中使用registry?(也许很快?)
提前致谢, 拉斐尔
openstack - 带有 ceph 后端的 Openstack swift (radosgw)
我正在尝试使用 radosgw 将 Openstack (liberty) swift 与 Ceph (Jewel) 一起使用。目的是对象应该存储在 ceph osds 下。我有一个可用的 Openstack 和 Ceph 集群。
为了使用 Ceph 作为对象存储后端,我在 ceph cluster 中安装并配置了 radosgw。在 openstack 节点中,我安装了“python-swiftclient”,创建了一个对象存储服务并使用 radosgw 的 URL 为该服务添加了一个端点。
我按照下面链接中的说明进行操作。 http://docs.ceph.com/docs/jewel/radosgw/keystone/
头文件
Openstack 端点
从命令行输出 swift list
从命令行输出 swift stat
当我尝试访问 openstack 仪表板中的对象存储 - 容器时,出现以下错误。 http://pastebin.com/ALevYCX8
amazon-s3 - 有什么方法可以远程创建 ceph rgw 用户吗?
如你所知,我们可以通过 command 创建一个 ceph rgw 用户"radosgw-admin user create"
,但是我们只能在 ceph 环境的 shell 中执行这个命令。那么,有什么方法可以远程创建 ceph rgw 用户吗?例如,通过restful api。
php - 从 Amazon 为 S3 更改主机并将其设置为与 Ceph radosgw 一起使用
是否可以将系统从 Amazon S3 更改为与其他 S3 提供商合作,例如 cap radosgw?我正在为 Laravel 使用 League/fly system-aws-s3-v3 和 aws/aws-SDK-PHP 包,但他们希望我输入我在 Ceph radosgw 上没有的区域,并自动连接我亚马逊服务。我试图将我的服务器添加为 filesystems.php 中的“端点”,但它仍然迫使我选择一个区域。这是我的 s3 磁盘配置:
这是我得到的错误:
缺少必需的客户端配置选项:区域:(字符串)“s3”服务需要“区域”配置值(例如,“us-west-2”)。可以在http://docs.aws.amazon.com/general/latest/gr/rande.html找到可用公共区域和端点的列表。