问题标签 [openstack-swift]
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.
openstack-swift - curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' url:8080/auth/v1.0 导致“HTTP/1.1 400 Bad Request”
我已尝试按照“ http://docs.openstack.org/developer/swift/development_saio.html ”中的说明设置 SAIO - Swift All In One
但是当我执行“curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' url:8080/auth/v1.0”时,结果是“HTTP/1.1 400 错误请求”。
我是云计算的新手,因此对此事的任何帮助表示赞赏。
python - python-swiftclient 请求中的管道损坏
我正在尝试将其整合python-swiftclient
到我笨拙的 API 中,但遇到了一些麻烦。这是最简单的精简代码:
该文件正在上传约 30 秒,然后弹出此错误:
c# - 使用 openstacknet 的软层身份验证
请看一下:
它抛出 UserNotAuthorizedException 并显示消息“无法对用户进行身份验证并检索授权的服务端点”这是什么原因?
谢谢。
PS。我使用程序集 openstacknet.dll,v1.3.0.0
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 方法。
有没有人能够让这种组合发挥作用?
java - 无法解决不完整的输出流错误jclouds
我在尝试使用 swift 放置对象时遇到异常:
代码是:
请任何人指导我如何解决这个问题
openstack-swift - 在 jclouds 中找不到资源
我在尝试的时候得到了这个
在线
swiftApi.getObjectApiForRegionAndContainer("RegionOne", CONTAINER_NAME).get(OBJECT_NAME)
;
如何解决这个问题
请分享与 jclouds 从 openstack 检索内容相关的任何链接或示例应用程序。
java - jclouds - 对 openstack-swift 使用身份验证 v1?
我有一个 openstack-swift blob 存储,设置了我希望通过 jclouds 访问的 v1 身份验证。有没有办法做到这一点?
(据我所知,始终安装 KeystoneAuthenticationModule。)
谢谢你。
openstack-swift - Openstack Swift 性能问题
我们的 swift 集群有问题,使用 swift 版本 1.8.0。集群由 3 个存储节点 + 一个代理节点组成,我们有 2 次复制。每个节点都有一个 2TB SATA HDD,操作系统在 SSD 上运行。流量约为每分钟 300 个 1.3MB 文件。文件大小相同。每个文件都使用 X-expire-after 上传,其值相当于 7 天。
当我们大约 3 个月前启动集群时,我们上传的文件明显减少(~150/m),一切正常。由于我们对系统施加了更大的压力,在某一时刻,对象过期器无法像上传一样快地使文件过期,从而慢慢填满服务器。
经过我们的分析,我们发现:
- 这不是网络问题,接口没有过载,我们没有过多的打开连接
- 这不是CPU问题,负载很好
- 这似乎不是 RAM 问题,我们有大约 20G 没有 64G
瓶颈似乎是磁盘,iostat 很能说明问题:
读写等待时间并不总是那么好:),可以达到数千毫秒,这非常可怕。
我们还看到来自节点端和代理的许多 ConnectionTimeout 消息。
来自存储节点的一些示例:
也来自代理:
如果所有推送到 swift 的服务和 object-expirer 都停止了,磁盘利用率大部分时间都保持在 100%。没有 async_pending 事务,但有很多 rsyncing 正在进行,可能来自对象复制器。如果全部打开,几乎在任何给定时间都会有 30-50 个甚至更多的 async_pending 事务。
我们考虑了不同的解决方案来缓解这个问题,这基本上是结果:
- 用于存储的 SSD 太贵了,所以不会发生
- 将另一个 HDD 与 RAID0 集群中的每个配对(我们快速复制)
- 使用一些缓存,例如 bcache 或 flashcache
你们有没有人遇到过这种问题?寻找根本原因的任何提示/其他地方?是否有可能优化过期器/复制器的性能?
如果需要任何其他信息,请告诉我。
谢谢
openstack-swift - 对象存储swift的性能每30秒波动一次
当我尝试使用 cosbench 测试集群的性能时,我发现对象存储 swift 的性能每 30 秒波动一次。做了一个实验如下:
1台代理服务器和5台存储服务器(3台用于对象服务器,另外2台用于帐户/容器服务器),每台服务器配备8*1T硬盘、64GB内存和12个CPU内核。只是启动了服务对象服务器。当只有一个客户端将小对象放入集群时,就会出现这种现象。我发现许多磁盘请求到达并且所有磁盘延迟每 30 秒突然上升一次。任何人都可以告诉我为什么会发生这种情况。
openstack - 是否向 /v1/ 发出 POST 请求在 OpenStack Swift 中创建该帐户?
它表示对 account/ 的 POST 请求应该更新该帐户的元数据。看起来这意味着没有创建一个帐户,如果有一个 POST 请求到一个不存在的帐户/。正确的?
然而,观察 SAIO 中的网络流量(swift all in one),我看到 SAIO 功能测试做的第一件事就是发出这个请求:
我很确定这个帐户不存在。Swift 是否希望使用该 POST 请求创建该帐户?