0

我正在尝试将 ceph RadosGW 与 OpenStack Keystone 集成。一切都按预期工作,但是当我尝试使用 Horizo​​n 中生成的公共链接访问公共存储桶时,我收到一个永久性错误“NoSuchBucket”。但是,此存储桶及其所有内容确实存在:我可以在 Horizo​​n 中以经过身份验证的用户身份访问它,我可以通过 S3 浏览器/aws cli 以经过身份验证的用户身份访问它,我可以使用 radosgw-admin bucket list --bucket 查看它。我们正在运行 OpenStack Rocky,这个问题似乎与 Ceph Octopus 15.2.4 相关(在 Nautilus 和 Luminous 上的 RGW 没有问题)。这是我的配置文件:

<...>
[client.rgw.ceph-hdd-9.rgw0]
host = ceph-hdd-9
keyring = /var/lib/ceph/radosgw/ceph-rgw.ceph-hdd-9.rgw0/keyring
log file = /var/log/ceph/ceph-rgw-ceph-hdd-9.rgw0.log
rgw frontends = beast endpoint=<IP Address>:8080
rgw thread pool size = 512

rgw zone = default

rgw keystone api version = 3
rgw keystone url = https://<keystone url>:13000
rgw keystone accepted roles = admin, _member_, Member, member, creator, swiftoperator
rgw keystone accepted admin roles = admin, _member_
#rgw keystone token cache size = 0
#rgw keystone revocation interval = 0
rgw keystone implicit tenants = true
rgw keystone admin domain = default
rgw keystone admin project = service
rgw keystone admin user = swift
rgw keystone admin password = swift_osp_password
rgw s3 auth use keystone = true
rgw s3 auth order = local, external
rgw user default quota max size = -1
rgw swift account in url = true
rgw dynamic resharding = false
rgw bucket resharding = false
rgw enable usage log = true
rgw usage log tick interval = 30
rgw usage log flush threshold = 1024
rgw usage max shards = 32
rgw usage max user shards = 1
rgw verify ssl = false

任何想法/帮助/建议/想法 - 非常感谢。

UPD:这是我在 RadosGW 日志中发现的错误公共存储桶

对于具有公共 URL 的存储桶(失败): 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 20 req 115 0s swift:list_bucket rgw::auth::swift::DefaultStrategy: 尝试 rgw::auth::swift: :SwiftAnonymousEngine 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 20 req 115 0s swift:list_bucket rgw::auth::swift::SwiftAnonymousEngine 授予访问权限 2020-08-03T16:26:54.317+0000c swift 2 req 4d165 :list_bucket 标准化存储桶和租户 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 10 s->object= s->bucket=containerA 2020-08-03T16:26:54.317+0000 7FD4D6C9A700 2 REQ 115 0S SWIFT:LIST_BUCKET INT PRESIRSIONS 2020-08-03T16:26:26:54.317+00 00 00 00 00+00 00 7FD4D6C9A700 20 GET_SYSTATE:RENCTATE:REVENTATE:RCTATATATE:RCT.RCTRABLE:RCTREAL:RCTRALE:RCTRALE:RCTRALE公路state=0x55bccaea2e20 s->prefetch_data=0 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 10 缓存获取:name=default.rgw.meta+root+containerA:过期未命中 2020-08-03T16:26:54.318+0000 7fd4d5c98700 10 缓存放置:name=default.rgw.meta+root+containerA info.flags=0x0 2020-08-03T16:26:54.318+0000 7fd4d5c98700 10 添加 default.rgw.meta+root+containerA 到缓存 LRU 结束 2020- 08-03T16:26:54.318+0000 7fd4d5c98700 10 req 115 0.001000010s init_permissions on :[]) 失败,ret=-2002

对于 keystone 用户(来自 Horizo​​n)访问的同一个存储桶

2020-08-03T16:24:14.853+0000 7fd4f24d1700 20 req 109 0s swift:list_bucket rgw::auth::keystone::TokenEngine granted access 2020-08-03T16:24:14.853+0000 7fd4f24d1700 20 get_system_obj_state: rctx=0x7fd59fe3b778 obj =default.rgw.meta:users.uid:7c0fddbf5297463e9364ee3aed681077$7c0fddbf5297463e9364ee3aed681077 state=0x55bcca5cc0a0 s->prefetch_data=0 2020-08-03T16:24:14.853+0000 7fd4f24d1700 10 cache get: name=default.rgw.meta+users.uid +7c0fddbf5297463e9364ee3aed681077$7c0fddbf5297463e9364ee3aed681077 : hit (requested=0x6, cached=0x7) 2020-08-03T16:24:14.853+0000 7fd4f24d1700 20 get_system_obj_state: s->obj_tag was set empty 2020-08-03T16:24:14.853+0000 7fd4f24d1700 10缓存获取:名称=default.rgw.meta+users.uid+7c0fddbf5297463e9364ee3aed681077$7c0fddbf5297463e9364ee3aed681077:命中(请求=0x1,缓存=0x7)2020-08-03T16:24:14。853+0000 7fd4f24d1700 2 req 109 0s swift:list_bucket 标准化存储桶和租户 2020-08-03T16:24:14.853+0000 7FD4F24D1700 10 s->对象= S-> buck = 7c0fddbf5297463e9364ee3ae3ae3Aeed681077/ contunera 2020-08-03T16:24:24:24:24:24:24:24:24:24:24:24:24:24:24.14.853+007FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD DRE RER RESER -03T16:24:14.853+0000 7fd4f24d1700 20 get_system_obj_state:rctx=0x7fd59fe3ab18 obj=default.rgw.meta:root:7c0fddbf5297463e9364ee3aed681077/containerA state=0x55bcca5cc0a0 s->prefetch_data=

请问有什么想法吗?

4

2 回答 2

0

V14.2.12 NAUTILUS 向系统对象添加负缓存( https://github.com/ceph/ceph/pull/37460 )

然后找到一个错误(https://tracker.ceph.com/issues/48632

章鱼 v15.2.9 解决了这个问题(https://github.com/ceph/ceph/pull/38971

于 2021-03-17T06:04:20.433 回答
0

我们遇到了同样的问题,它与向后移植到 Octopus v15.2.8 和 Nautilus v14.2.12 的错误有关,因此请确保运行该版本或更高版本。

于 2021-01-12T22:57:48.193 回答