Размер папки моментальных снимков Кассандры слишком велик

#cassandra #cassandra-3.0

Вопрос:

Размер папки одного из sstable после создания моментального снимка составляет 1 ТБ

 $ du -sh * 
1001 GB    user-820d7e50c85111eab874f3e361ecc166
 

Удивительно, но размер папки моментальных снимков кассандры в папке sstable составлял 785 г (snp-2021-04-11-0400-01)
и как только я удалил папку моментальных снимков, размер папки sstable сократился до 281 ГБ

 -bash-4.2$ du -sh *
281G    user-820d7e50c85111eab874f3e361ecc166
 

Мой вопрос в том, почему размер папки моментальных снимков более чем в два раза превышает размер папки данных? это нормально для Кассандры?

Я предположил, что Кассандра создает копию sstables в папку моментальных снимков того же размера.

Ответ №1:

Кассандра не копирует SSTables, а действительно создает жесткую ссылку (просто другое имя) из исходной SSTable в папку моментальных снимков. Но когда происходит уплотнение, исходный SSTable удаляется, но он сохраняется на диске, потому что у него другое имя. И если вы часто делаете моментальные снимки, и сжатие тоже происходит часто, то у вас будет много ссылок на старые SSTables.

Решение заключается в периодической очистке снимков — вы можете использовать команду nodetool clearsnapshot для удаления выбранных снимков (например, старых резервных копий).

Комментарии:

1. Создает ли автокомпакция копию SSTables в папке моментальных снимков?

2. да, если для snapshot_before_compaction установлено значение true: github.com/apache/cassandra/blob/trunk/conf/cassandra.yaml#L793