Назад | Перейти на главную страницу

Удаление файлов в Ceph не освобождает место

Я использую Ceph, закачиваю много файлов через radosgw. После этого я хочу удалить файлы. Я пытаюсь сделать это на Python, например:

bucket = conn.get_bucket(BUCKET)
for key in bucket.list():
    bucket.delete_key(key)

Впоследствии я использую bucket.list() чтобы перечислить файлы в корзине, и это говорит о том, что корзина теперь пуста, как я и предполагал.

Однако когда я бегу ceph df в понедельник он показывает, что экранные меню все еще имеют высокую загрузку (например, %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 экранных меню. Это просто для тестирования.

ОБНОВЛЕНИЕ: кажется, что пространство восстанавливается очень медленно. Примерно через час он снизился до 63%.

Вы можете использовать Инструмент ceph pg calc. Это поможет вам рассчитать правильное количество страниц для вашего кластера. Я считаю, что именно это вызывает вашу проблему. Как видите, у вас должно быть всего 256 страниц. Просто воссоздайте бассейн (! БУДЬТЕ ОСТОРОЖНЫ: ЭТО УДАЛЯЕТ ВСЕ ВАШИ ДАННЫЕ, ХРАНЯЩИЕСЯ В ЭТОМ БАССЕЙНЕ!):

ceph osd pool delete {your-pool-name} {your-pool-name} --yes-i-really-really-mean-it
ceph osd pool create {your-pool-name} 256 256

Это должно тебе помочь.