fstrim corte todo o espaço livre após a reinicialização

0

Acabei de atualizar para um SSD. O desempenho tem sido ótimo.

No entanto, após cada reinicialização, quando eu faço um fstrim nas partições, ele cortará todo o espaço livre. E como eu entendo, recorte escreve para todo o espaço livre que está disponível. Não tenho certeza se é relevante, mas uso criptografia completa de disco (/ boot incluído).

Como a vida do SSD pode ser reduzida drasticamente com gravações frequentes, estou preocupado com esse corte.

Aqui estão os registros que eu guardo em todos os detalhes:

Jul 30 13:46:00 /: 478.6 MiB (501862400 bytes) trimmed
Jul 31 13:22:26 /: 347.8 GiB (373409230848 bytes) trimmed
Jul 31 13:25:32 /: 194.3 MiB (203710464 bytes) trimmed
Jul 31 13:25:40 /: 19.2 MiB (20111360 bytes) trimmed
Aug 02 14:08:06 /: 345.9 GiB (371398463488 bytes) trimmed
Aug 02 22:21:36 /: 56.9 GiB (61047971840 bytes) trimmed
Aug 02 22:31:27 /: 347.7 MiB (364560384 bytes) trimmed
Aug 02 22:31:43 /: 127 MiB (133144576 bytes) trimmed
Aug 02 22:33:01 /: 243 MiB (254767104 bytes) trimmed
Aug 03 06:58:47 /: 1 GiB (1080602624 bytes) trimmed
Aug 03 10:00:02 /: 2.4 GiB (2526216192 bytes) trimmed
Aug 03 11:42:14 /: 341 GiB (366146318336 bytes) trimmed
Aug 03 16:00:01 /: 0 B (0 bytes) trimmed
Aug 03 16:33:53 /: 0 B (0 bytes) trimmed
Aug 03 16:48:43 /: 341 GiB (366074740736 bytes) trimmed
Aug 03 16:50:13 /: 1.2 GiB (1297809408 bytes) trimmed
Aug 03 16:53:31 /: 341 GiB (366074695680 bytes) trimmed
Aug 03 17:07:55 /: 340.9 GiB (366066126848 bytes) trimmed
Aug 05 22:00:13 /: 341 GiB (366073069568 bytes) trimmed
Aug 05 22:07:22 /: 1.2 GiB (1261793280 bytes) trimmed
Aug 06 07:41:50 /: 1.4 GiB (1522991104 bytes) trimmed
Aug 06 10:00:11 /: 341 GiB (366068740096 bytes) trimmed

Como você pode ver, o corte após o computador ter sido ativado é de ~ 340GiB, enquanto o corte no uso normal é de apenas 1GiB.

Eu deveria estar preocupado que isso vai desgastar meu SSD? Eu não deveria aparar?

    
por anonimou 06.08.2018 / 19:19

1 resposta

0

Existe um equívoco. O recorte não causa gravações extras, diminui .

Um SSD, ou melhor, seu NAND, tem duas noções de "blocos" dos quais um é chamado bloco (geralmente algo entre 128k e 512k), e o outro que é muito mais próximo do que quer dizer quando você fala de "bloco" em termos de seu sistema de arquivos é chamado página (geralmente algo em torno de 4k). Você pode escrever uma página completa de cada vez, como faria em um disco rígido antigo, sem problemas. As coisas simplesmente funcionam como esperado.

No entanto, você não pode sobrescrever uma página, eles são gravados uma vez. Você pode, a partir de então, apenas apagar , tornando-o novamente gravável. É isso que conta para o tempo de vida da NAND. O problema é apenas ... na realidade você não pode apagar páginas. Você só pode apagar blocos (isto é, clusters de 32-64 páginas por vez).

Isto significa que quando você sobrescreve uma página ("bloco" em termos de sistema de arquivos), o controlador tem que:

  1. leia no bloco completo
  2. se existir um bloco "virgem" ou já apagado, use esse
  3. caso contrário, limpe o mesmo bloco
  4. escreva o bloco completo, tendo modificado o conteúdo da página sobrescrita
  5. faça uma "magia" não especificada para que os ciclos de apagamento sejam distribuídos de maneira uniforme por todos os blocos, evitando a morte prematura

Isso é um pouco simplificado, mas o princípio é assim. Um controlador smart pode fazer algo ligeiramente diferente (por exemplo, remapear as páginas logicamente, preencher todas as páginas até não restar nenhuma, e de alguma forma "lembrar" quais são boas e quais estão obsoletas, etc), mas em princípio, o fluxo de trabalho é como descrito acima.

Este é um problema na medida em que as pequenas escritas são comuns, logo você tem todos os blocos do disco gravados pelo menos uma vez. Agora, o que o controlador pode fazer? Não muito. Ele realmente não sabe o que o sistema de arquivos está fazendo ou o que é esperado, então ele tem que trabalhar na suposição mais conservadora. Ou seja, tudo e qualquer coisa que tenha sido escrita devem ser preservados.

TRIM resolve esse problema. Ele diz ao controlador que um tal e tão grande intervalo não está sendo usado , então o controlador também pode descartá-lo. Não escreve nada. Se em tudo, ele só irá apagar os blocos (no entanto, apenas uma vez, não todas as vezes). Desde que você disse ao controlador que você não está usando esses dados, pode arriscar jogá-lo fora sem danos. Agora, de repente, há blocos graváveis disponíveis novamente sem a necessidade de copiar dados e apagar repetidamente os blocos. O que não só torna as gravações mais rápidas , mas também diminui o número de apagamentos que devem acontecer.

    
por 13.09.2018 / 13:22