为什么在ceph osd摆动期间调用boto3 list buckets操作返回Bad Gateway(502)?

2024-04-28 06:49:37 发布

您现在位置:Python中文网/ 问答频道 /正文

与python lib boto3相比,这可能更与Ceph集群相关。当一个OSD关闭时,所有的集群响应502(坏网关)到我们的s3客户机(boto3、s3cmd、rclone、awscli)。在

我所在集群的总体情况: -3个带Nginx的Rados网关,用于向civetweb执行fastcgi_pass。 在同一台服务器上运行ceph monitor。 -5台OSD服务器,每台3台OSD。在

在一个OSD坏掉之前一切都很好。集群立即进入警告状态,并开始将pg重新映射到其他osd(我使用replicate3作为池数据)。 但是当集群恢复时,即使我试图列出bucket,它也会对所有s3客户机响应502。在

self.resource = boto3.setup_default_session(**credentials)

for bucket in self.resource.buckets.all():
    yield bucket
^{pr2}$

我原以为Ceph可以处理osd,因为每个对象仍然有2个副本,但它没有这样做,而是关闭了。在

你们知道这里发生了什么吗?在


Tags: self服务器网关客户机s3bucketlib集群