У нас есть кластер Cassandra из 10 узлов. Настроили ремонт в Opscenter. Мы обнаруживаем, что для каждой таблицы в пространстве ключей Opscenter создается папка резервных копий. Он продолжает расти огромным. Есть ли решение для этого, или мы вручную удаляем данные в каждой папке резервных копий?
Папка резервных копий в пространстве ключей Opscenter становится действительно огромной
- Вы говорите о каталоге снимков? 09.04.2015
Ответы:
Во-первых, резервные копии отличаются от моментальных снимков — вы можете взглянуть на резервную копию документацию для OpsCenter, чтобы узнать больше.
Инкрементальные резервные копии:
Из документов datastax -
Когда инкрементное резервное копирование включено (по умолчанию отключено), Cassandra жестко связывает каждый очищенный SSTable с каталогом резервных копий в каталоге данных пространства ключей. Это позволяет хранить резервные копии вне офиса без передачи целых моментальных снимков. Кроме того, инкрементное резервное копирование в сочетании с моментальными снимками обеспечивает надежный и актуальный механизм резервного копирования. ... Как и в случае со снимками, Cassandra не очищает файлы инкрементных резервных копий автоматически. DataStax рекомендует настроить процесс очистки жестких ссылок инкрементных резервных копий каждый раз, когда создается новый снимок.
Вы должны были включить инкрементное резервное копирование, установив для incremental_backups значение true в cassandra yaml.
Если вас интересует стратегия резервного копирования, я рекомендую использовать Служба резервного копирования OpsCenter. Таким образом, вы можете детально контролировать, для какого пространства ключей вы хотите создавать резервные копии, и отправлять файлы на S3.
Снимки
Снимки — это жесткие ссылки на старые (больше не используемые) SSTables. Снимки защищают вас от самих себя. Например, если вы случайно усекли неправильное пространство ключей, у вас все равно будет снимок этой таблицы, который вы сможете вернуть. В некоторых случаях, когда у вас слишком много снимков, вы можете сделать несколько вещей:
Не запускайте восстановление синхронизации
Это связано с восстановлением, поскольку синхронное восстановление создает моментальный снимок при каждом запуске. Чтобы этого избежать, вместо этого следует запускать параллельные исправления (флажок -par или задав количество исправлений в примечании к файлу конфигурации opscenter ниже).
Очистите свои снимки
Если у вас слишком много снимков и вам нужно освободить место (возможно, после того, как вы создали их резервную копию на S3, glacier или что-то еще), используйте чистящие снимки nodetool для их удаления. Это освободит место. Вы также можете войти и удалить их вручную из вашей файловой системы, но nodetool clearsnapshots устраняет риск того, что rm -rf укажет что-то не то.
Примечание. Вы также можете выполнять ремонт слишком быстро, если у вас нет тонны данных (проверьте мой ответ на этот другой SO-вопрос для объяснения и рычагов конфигурации службы ремонта).