Удаление файлов в Ceph не освобождает место
Я использую Ceph, загружаю много файлов через radosgw. После я хочу удалить файлы. Я пытаюсь сделать это в Python, вот так:
bucket = conn.get_bucket(BUCKET)
for key in bucket.list():
bucket.delete_key(key)
После этого я использую bucket.list()
перечислить файлы в корзине, и это говорит о том, что корзина теперь пуста, как я и предполагал.
Тем не менее, когда я бегу 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 и могу ошибаться.
У меня есть один понедельник и 3 OSD. Это только для тестирования.
1 ответ
Вы можете проверить, действительно ли объект удален списком rados -p $ pool, я знал, что для cephfs, когда вы удаляете файл, он вернется нормально, когда mds пометит его как удаленный в локальной памяти, а затем действительно удалит его, отправив сообщения об удалении. к родственной ОСД. Может быть, Radosgw использовать тот же дизайн, чтобы ускорить удаление