Como os instantâneos do Prometheus são armazenados no disco?

Como os instantâneos do Prometheus são armazenados no disco?

Estou tentando entender como dimensionar meu Prometheus e observar a mecânica de armazenamento para isso.

Vamos supor o seguinte:

  1. Diretório de armazenamento de dados Prometheus: 20 GB de tamanho
  2. Quantidade de instantâneos: 3
  3. Tamanho do instantâneo: 18 GB cada

Pergunta: Sem links simbólicos, como a soma do tamanho de cada instantâneo é maior que o tamanho total do diretório? Como é garantido que a captura de um instantâneo conterá todos os dados necessários?

Presumo que o mecanismo de armazenamento do Prometheus armazenará referências em vez de dados reais. Mas qual sistema funciona exatamente aqui, tentei descobrir a mecânica por trás disso.

Indicadores na direção certa também são bem-vindos. Eu gostaria de entender pelo menos os princípios.

Responder1

Uso de instantâneos do Prometheusdurolinks na versão 2.1 em diante. Isso explica o comportamento de uso do sistema de arquivos observado pelo OP.

Os instantâneos são compostos de links físicos de blocos existentes e um dump dos blocos abertos atuais. Como links físicos estão em uso, isso significa que os instantâneos de blocos mais antigos não ocupam espaço adicional em disco, pois há apenas uma cópia mantida no disco; no entanto, você pode quebrar o Prometheus se alterá-los, suas permissões ou seu usuário/grupo. Quando terminar, você pode rm -rf o diretório de instantâneo, pois embora o instantâneo ocupe inicialmente pouco espaço em disco adicional, uma vez que o bloco original seja excluído/compactado, o instantâneo será o que mantém o espaço em disco usado.

Fonte:https://www.robustperception.io/tirando-snapshots-of-prometheus-data/

informação relacionada