Antigamente, habilitar corretamente o TRIM para SSDs no Linux envolvia duas etapas:
- Executando
fstrim
uma vez, para cuidar de todos os blocos "não cortados" até o momento, então - Definir o
discard
sinalizador no fstab (para que o corte continue).
Estou um pouco atrasado. Agora estou vendo coisas sobre um serviço fstrim.timer que está incluído nas distribuições Linux mais recentes e estou vendo informações conflitantes sobre qual combinação de fstrim.timer , fstrim
e discard
usar.
Minha pergunta é: em Linuxes modernos (modernos no momento em que este livro foi escrito), qual é a maneira preferida de ativar o TRIM em um SSD? É apenas para ativar o fstrim.timer e deixá-lo fazer o que quer? O uso da discard
bandeira não é mais necessário?
Se for importante, estou especificamente interessado no Ubuntu >= 22 (Jammy) e no Debian >= 10 (Buster).
Se você usar
discard
, não precisará defstrim.timer
, o que basicamente significa "executar automaticamentefstrim
para você de tempos em tempos".discard
não "continua" nada, significa apenas que o TRIM seria acionado quando os arquivos fossem excluídos.Em outras palavras, se certos arquivos foram excluídos enquanto o sistema de arquivos é montado com
nodiscard
, os blocos lógicos que foram usados por eles não serão TRIM, mesmo se você montar o sistema de arquivos posteriormentediscard
(a menos que alguns novos arquivos que foram feitos para "re- use" esses blocos lógicos também estão sendo excluídos).fstrim
por outro lado, independentemente de ser executado a partir de um cronômetro ou manualmente por você, informaria ao driver do sistema de arquivos que todos os blocos lógicos que não são usados atualmente podem ser TRIM.É por isso que você pode querer executar
fstrim
uma vez antes (depois também está bom) de começar a usar odiscard
. Oublkdiscard
antes (depois não está bem) de formatar a partição. (Muitosmkfs
programas, por padrão, acionariam o equivalente de qualquer maneira.)