【发布时间】:2016-10-15 22:14:12
【问题描述】:
我正在使用 Ceph,通过 radosgw 上传许多文件。之后,我想删除文件。我正在尝试在 Python 中执行此操作,如下所示:
bucket = conn.get_bucket(BUCKET)
for key in bucket.list():
bucket.delete_key(key)
之后,我使用bucket.list() 列出存储桶中的文件,这表明存储桶现在是空的,正如我所愿。
但是,当我在 mon 上运行 ceph df 时,它显示 OSD 仍然有很高的利用率(例如 %RAW USED 90.91)。如果我继续写(认为状态数据还没有赶上状态),Ceph 基本上会锁定(100% 利用率)。
发生了什么事?
注意:我确实有这些在ceph status 中脱颖而出:
health HEALTH_WARN
3 near full osd(s)
too many PGs per OSD (2168 > max 300)
pool default.rgw.buckets.data has many more objects per pg than average (too few pgs?)
根据我在网上收集的信息,这不会导致我的特定问题。但我是 Ceph 的新手,可能是错的。
我有一个 mon 和 3 个 OSD。这只是为了测试。
【问题讨论】:
-
文件是否仍被进程打开?
-
@hek2mgl - 该过程将文件的 1000 个副本上传到 Ceph,然后如上所述删除它们。那么这个过程就存在了。您要问的文件是关于我要上传到 Ceph 的文件吗?它没有被使用。
-
@hek2mgl - 我添加了一些更可能相关的信息
-
刚刚发现 CephFS 也有同样的问题。在 CephFS 中删除文件也不会释放空间。我正在尝试找出原因,以及重新挂载所有 CephFS 分区是否会有所帮助。
-
糟糕,我发现我已启用快照。禁用快照会立即释放额外空间。
标签: ceph