Meus dados residem em um SSD e - graças às reescritas e à amplificação de gravação - qualquer modificação de um atime resultará não apenas na modificação do inode, mas em todo o bloco em que ele reside sendo apagado e reescrito. Isso é, obviamente, indesejável, pois causaria uma grande quantidade de desgaste desnecessário na unidade.
Quando o Duplicity faz backup de arquivos, ele modifica o atributo atime dos arquivos de origem no processo?
Se ele modificar o atime, isso será feito no backup inicial (completo), nos backups incrementais ou em ambos?
A resposta acabou sendo sim . A duplicidade modifica o atime do inode de cada arquivo durante o processo de backup inicial. Isso aciona uma grande quantidade de regravações de SSD e amplificação de gravação.
Nos backups subsequentes (incrementais), um número muito menor (mas ainda substancial) de inodes (e arquivos alterados, é claro) é reescrito.
O Duplicity não faz nenhuma tentativa de preservar o tempo dos arquivos.
Para ser justo, a maneira como o Duplicity aborda esse problema é bastante convencional e não coloca uma carga particularmente grande nos HDDs. A questão de reescrever e amplificar a gravação é especificamente uma coisa do SSD. Portanto, tudo o que pode ser dito sobre o Duplicity é que ele não é otimizado para SSDs e que (todas as outras coisas sendo iguais) você desgastará os SSDs mais rapidamente do que os HDDs se usar o Duplicity.
Como frostschutz observou nos comentários, esse problema pode ser resolvido montando seu sistema de arquivos com a configuração noatime ... para que possa ser mitigado com relativa facilidade.
À medida que os HDDs forem extintos e os SSDs assumirem o controle, os sistemas de arquivos serão cada vez mais otimizados para SSDs e podemos esperar que o problema de desgaste/desempenho causado por alterações de tempo, regravações e amplificação de gravação seja resolvido. Novos sistemas de arquivos como o F2FS estão liderando pelo exemplo.
Não, é incorreto dizer que um aplicativo de software modifica o tamanho
atime
de um arquivo. Os programas de modo de usuário quase não têm como controlar se oatime
é atualizado. Essa é a responsabilidade do sistema operacional ou, mais especificamente, do driver do sistema de arquivos. Além disso, as opções de montagem padrão atuais no Linux minimizarão as atualizações de registro de data e hora para que tenham pouco impacto no desempenho ou na longevidade do seu ssd .A situação atual nas distribuições Linux modernas é a seguinte:
noatime
elimina completamente asatime
atualizações às custas de qualquer utilidade fornecida pela manutenção deatime
metadados.relatime
minimiza o problemalazytime
deve eliminar completamente qualquer impacto remanescente na longevidade do SSD devido às atualizações de carimbo de data/hora.