Restic: Imprima o tamanho do backup ao listar os instantâneos (aprimoramento)

Criado em 10 dez. 2016  ·  20Comentários  ·  Fonte: restic/restic

Resultado de restic version

Qualquer.

Comportamento esperado

Adicionar uma coluna extra para listar o tamanho do backup (em bytes) pode ser muito útil.
Isso ajudará a distinguir entre diferentes backups apenas verificando seu tamanho.

$ restic snapshots
ID        Date                 Host        Tags        Directory    Size
--------------------------------------------------------------------------
5b969a0e  2016-12-09 15:10:32  localhost               myfile       390865

Comportamento real

$ restic snapshots
ID        Date                 Host        Tags        Directory
----------------------------------------------------------------------
5b969a0e  2016-12-09 15:10:32  localhost               myfile
stats user interface feature enhancement

Comentários muito úteis

O problema com o tamanho dos "novos" blobs (adicionados por aquele instantâneo específico) torna-se menos relevante com o tempo, porque esses blobs serão referenciados por instantâneos posteriores. Além disso, quando os instantâneos anteriores são removidos, o número de blobs referenciados por um determinado instantâneo aumentará.

Acho que é importante imprimir essas informações logo após a conclusão do backup e também podemos gravá-las na estrutura de dados do instantâneo no repo. Planejei adicionar algum tipo de visualização de 'detalhe' para um determinado instantâneo e acho que é uma boa ideia exibir o número e o tamanho dos novos blobs lá, mas na visão geral (comando snapshots ) não é relevante o suficiente. Lá, acho que o restic deve exibir o tamanho total de um determinado instantâneo (o que você obtém se restaurá-lo), porque isso não muda.

Todos 20 comentários

Obrigado pela sugestão. Qual você esperaria que fosse o tamanho? Como todos os dados são desduplicados, um "tamanho" para um determinado instantâneo não é tão fácil de determinar. Seria esse o tamanho de todos os dados referenciados naquele instantâneo? Ou os dados que ainda não foram armazenados no repo quando o instantâneo foi obtido (novos dados)?

Esta é uma proposta muito boa. O número à direita deve ser o tamanho cumulativo dos blobs adicionados ao repo. É o parâmetro quantitativo mais interessante de qualquer execução de backup.

Quanto espaço meu incremental desperdiçou esta noite? Opa, é 10x mais do que na noite passada, deixei algum lixo em algum lugar (ou esqueci de colocar alguns exclui), é melhor eu limpar. ;)

+1 para sugestão @zcalusic

O problema com o tamanho dos "novos" blobs (adicionados por aquele instantâneo específico) torna-se menos relevante com o tempo, porque esses blobs serão referenciados por instantâneos posteriores. Além disso, quando os instantâneos anteriores são removidos, o número de blobs referenciados por um determinado instantâneo aumentará.

Acho que é importante imprimir essas informações logo após a conclusão do backup e também podemos gravá-las na estrutura de dados do instantâneo no repo. Planejei adicionar algum tipo de visualização de 'detalhe' para um determinado instantâneo e acho que é uma boa ideia exibir o número e o tamanho dos novos blobs lá, mas na visão geral (comando snapshots ) não é relevante o suficiente. Lá, acho que o restic deve exibir o tamanho total de um determinado instantâneo (o que você obtém se restaurá-lo), porque isso não muda.

Eu fui imediatamente lembrado do sinalizador de estatísticas de rdiff-backup (consulte https://www.systutorials.com/docs/linux/man/1-rdiff-backup-statistics/). às vezes é bom ver algum tipo de delta entre 2 instantâneos.

Na verdade, mas isso é uma coisa diferente: é calculado ao vivo e compara dois instantâneos. Podemos adicionar algo assim, mas fazer isso para a lista de visão geral snapshots é muito caro (pelo menos com as informações que temos disponíveis nas estruturas de dados agora).

pode ser útil saber o tamanho dos dados 'exclusivos' para o instantâneo versus o tamanho total (incluindo dados desduplicados) do instantâneo.

IMO seria muito útil ter uma ideia de quanto espaço extra foi usado para um novo instantâneo. Isso pode ser apenas espaço de armazenamento físico calculado durante o backup e armazenado nos metadados do instantâneo. Se algum instantâneo for removido, esses metadados devem ser invalidados em todos os instantâneos futuros.

Acho que apreciaria esse recurso, mesmo que nada mais seja feito nesse sentido. No entanto, uma opção de recalcular esse "tamanho extra" depois que alguns backups anteriores foram removidos também seria bom. Acho que é isso que o BackupLoupe faz para o Time Machine no Mac OS. (A desduplicação no Time Machine é muito básica, mas o problema de definir o "tamanho de um instantâneo" é o mesmo).

A coisa mais fundamental que gostaria de saber imediatamente é quanto espaço em disco o conteúdo do instantâneo X consumiria no disco de destino se eu o restaurasse.

De preferência, eu também seria capaz de obter essas informações para apenas um subconjunto dos arquivos, por exemplo, se houvesse um comando size que usasse o mesmo tipo de opções de inclusão / exclusão do comando restore . Ou se o comando restore tiver uma opção que o torne apenas relatar estatísticas como esta em vez de realmente restaurar.

Obrigado @rawtaz por me apontar este problema.

Estou armazenando backups em armazenamento medido (Backblaze B2). Quero saber quantos dados novos estou criando toda vez que executo um backup. Parece que isso deve ser fácil de calcular durante o processo de backup; Eu ficaria feliz se o restic simplesmente registrasse isso como parte da conclusão de um backup ... mas parece que também pode ser útil armazená-lo como um atributo do instantâneo (para que possa ser consultado no futuro).

Não estou realmente interessado em nada que exija uma nova varredura extensiva do repositório, uma vez que isso simplesmente incorrerá em custos adicionais.

Alguma novidade?

Olá

Eu gostaria de apoiar esta sugestão. Além de 'Qual seria o tamanho deste instantâneo se eu o restaurasse' para qualquer instantâneo existente e 'quanto este instantâneo adicionou' quando um instantâneo é criado, tenho uma terceira sugestão:

Também ajudaria ser capaz de responder à pergunta: 'Em quanto o tamanho do meu repositório reduziria se eu remover o (s) seguinte (s) instantâneo (s)?' Isso seria útil em restic forget --prune --dry-run ao decidir se deseja descartar os instantâneos. Por exemplo, recentemente coloquei 20 dos 40 instantâneos em um repo e ele reduziu o tamanho de 1,1 GB para 1,0 GB. Se eu soubesse que isso economizaria apenas 100 MB, provavelmente teria mantido os instantâneos mais antigos.

@mholt fez o nº 1729 para mostrar algumas estatísticas. Talvez ele possa intervir para dizer algo sobre o andamento deste PR.

@dimejo Está feito - apenas esperando que seja revisado / mesclado. :)

Pulando em um problema muito antigo aqui, mas para mim existem 2 campos de tamanho importantes quando se pensa em instantâneos

  • O tamanho do instantâneo no armazenamento
  • O tamanho da restauração

por exemplo

$ restic snapshots
ID        Date                 Host        Tags        Directory    Snapshot Size   Restore Size 
--------------------------------------------------------------------------------------------------
5b969a0e  2016-12-09 15:10:32  localhost               myfile       10 MB           57 GB

Pelo menos eu poderia dizer quanto espaço um único instantâneo está usando e quanto espaço preciso para executar uma restauração.

Como @ fd0 já apontou, imprimir o tamanho em cada invocação de restic snapshots seria um comando muito caro. Mas você pode usar as estatísticas do restic para imprimir o tamanho de instantâneos individuais ou de todo o repositório.

Acho que é importante imprimir essas informações logo após a conclusão do backup e também podemos gravá-las na estrutura de dados do instantâneo no repo. Planejei adicionar algum tipo de visualização de 'detalhe' para um determinado instantâneo e acho que é uma boa ideia exibir o número e o tamanho dos novos blobs lá, mas na visão geral (comando snapshots ) não é relevante o suficiente. Lá, acho que o restic deve exibir o tamanho total de um determinado instantâneo (o que você obtém se restaurá-lo), porque isso não muda.

Boa ideia! Este aprimoramento está na fila? O tamanho total dos dados desduplicados no repositório também seria útil nessa sinopse.

Alguma atualização para este recurso? É muito útil poder ver cada tamanho de instantâneo e seu tamanho de restauração.

+1

Não neste momento. Se houver alguma atualização, ela será exibida nesta edição.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

fd0 picture fd0  ·  3Comentários

fd0 picture fd0  ·  4Comentários

RafaelAybar picture RafaelAybar  ·  3Comentários

TheLastProject picture TheLastProject  ·  3Comentários

shibumi picture shibumi  ·  3Comentários