Openstack swift与ceph后端(radosgw)

时间:2016-09-13 03:31:33

标签: openstack openstack-swift ceph radosgw

我正在尝试使用radosgw与Ceph(Jewel)一起使用Openstack(liberty)swift。目的是将对象存储在ceph osds下。我有一个工作的Openstack和Ceph集群。

使用Ceph作为对象存储后端我在ceph集群中安装并配置了radosgw。在openstack节点中我安装了" python-swiftclient",创建了一个对象存储服务,并为该服务添加了一个URL为radosgw的端点。

我按照以下链接中的说明操作。 http://docs.ceph.com/docs/jewel/radosgw/keystone/

ceph.conf

[client.rgw.rgw]
rgw_frontends = "civetweb port=7480"
rgw enable ops log = true
rgw ops log rados = true
rgw thread pool size = 2000
rgw override bucket index max shards = 23
ms dispatch throttle bytes = 209715200

[client.radosgw.gateway]
rgw keystone url =  http://controller:35357
rgw keystone admin token = ADMIN
rgw keystone accepted roles =  _member_,admin
rgw keystone token cache size = 200
rgw keystone revocation interval = 60
rgw s3 auth use keystone = true
nss db path = /var/ceph/nss

Openstack端点

# openstack endpoint list |grep -i object
 | 8efd00b48db249e69244a5f3e35356b1 | RegionOne | swift | object-store | True | internal | http://rgw:7480/swift/v1 |
 | b7d1c7ccc84640138116d8e6676b28a3 | RegionOne | swift | object-store | True | admin | http://rgw:7480/swift/v1 |
 | c7844842b53647a4b623905c54cc6c75 | RegionOne | swift | object-store | True | public | http://rgw:7480/swift/v1 |

从命令行输出swift列表

# swift list -v
test_CONTAINER

从命令行输出swift stat

# swift stat -v
          StorageURL: http://rgw:7480/swift/v1
          Auth Token: AUTH_rgwtk0e00000074657374757365723a737769667431dd200c6d2136112ee6d657300feb16d05ffa8f80a2e53ce6c257b32ec5505ff396e5e8
          Account: v1
          Containers: 7
          Objects: 12
          Bytes: 168
          Meta Temp-Url-Key: healthseq
          X-Account-Bytes-Used-Actual: 40960
          X-Timestamp: 1473615022.41820
          X-Trans-Id: tx0000000000000000006b3-0057d594ae-1f5cb-default
          Content-Type: text/plain; charset=utf-8
          Accept-Ranges: bytes

当我尝试访问openstack仪表板中的对象存储 - 容器时,出现以下错误。 http://pastebin.com/ALEvYCX8

请参阅下面的图片,了解我从仪表板访问对象库时遇到的错误。 Error in the openstack dashboard

1 个答案:

答案 0 :(得分:1)

只需在代码中删除此行即可 [client.radosgw.gateway]并合并设置