Удаление файлов в 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 использовать тот же дизайн, чтобы ускорить удаление

Другие вопросы по тегам