簡體   English   中英

與 OpenStack Keystone 集成時,RadosGW 返回公共 URL 的 NoSuchBucket 錯誤

[英]RadosGW returns NoSuchBucket error for public URL's when integrated with OpenStack Keystone

我正在嘗試將 ceph RadosGW 與 OpenStack Keystone 集成。 一切都按預期工作,但是當我嘗試使用 Horizon 中生成的公共鏈接訪問公共存儲桶時,我收到一個永久性錯誤“NoSuchBucket”。 但是,此存儲桶及其所有內容確實存在:我可以在 Horizon 中以經過身份驗證的用戶身份訪問它,我可以通過 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 日志中發現的錯誤公共存儲桶

For the bucket with public URL (which fails): 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 20 req 115 0s swift:list_bucket rgw::auth::swift::DefaultStrategy: trying rgw::auth::swift: :SwiftAnonymousEngine 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 20 req 115 0s swift:list_bucket rgw::auth::swift::SwiftAnonymousEngine granted access 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 2 req 115 0s swift :list_bucket normalizing buckets and tenants 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 init權限 2020-08-03T16:26:54.317+0000 7fd4d6c9a700 20 get_system_obj_state: rctx=0x7fd59fe3ab18 obj=default.rgw.meta:root:containerA 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 end 2020-08-03T16:26:54.318+0000 7fd4d5c98700 10 req 115 0.001000010s init_permissions on:[]) 失敗,ret=-2002

對於 keystone 用戶(來自 Horizon)訪問的同一個存儲桶

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 cache get: name=default.rgw.meta+users.uid+7c0fddbf5297463e9364ee3aed681077$7c0fddbf5297463e9364ee3aed681077: hit (requested=0x1, cached=0x7) 2020-08-03T16:24:14.853+0000 7fd4f24d1700 2 req 109 0s swift:list_bucket normalizing buckets和租戶2020-08-03T16:24:14.853+ 0000 7fd4f24d1700 10 s->object= s->bucket=7c0fddbf5297463e9364ee3aed681077/containerA 2020-08-03T16:24:14.853+0000 7fd4f24d1700 2 req 109 0s swift:list_bucket init permissions 2020-08-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=0

請問有什么想法嗎?

我們遇到了同樣的問題,它與向后移植到 Octopus v15.2.8 和 Nautilus v14.2.12 的錯誤有關,因此請確保運行該版本或更高版本。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM