radosgwを使用してCeph(Jewel)でOpenstack(liberty)swiftを使用しようとしています。目的は、オブジェクトを ceph osds の下に保存することです。Openstack と Ceph クラスターが動作しています。
Ceph をオブジェクト ストレージ バックエンドとして使用するために、ceph クラスターに radosgw をインストールして構成しました。openstack ノードに「python-swiftclient」をインストールし、オブジェクトストア サービスを作成し、radosgw の URL でそのサービスのエンドポイントを追加しました。
以下のリンクにある指示に従いました。 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 list -v
test_CONTAINER
コマンドラインからの迅速な統計の出力
# 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
ダッシュボードからオブジェクト ストアにアクセスしようとしたときに表示されるエラーについては、下の画像を参照してください。