Guia SSD no Linux: tudo que você precisa saber e o que precisa esquecer!

Após quebrar um pouco a cabeça buscando dados sobre a instalação do meu primeiro "disco de estado sólido", ou simplesmente SSD, resolvi escrever este artigo, compilando e atualizando todas as informações sobre SSD no Linux, visto que grande parte do material que é encontrado na internet é desatualizado e não condiz mais com os pacotes existentes e/ou funcionamento do GNU/Linux em relação a estes dispositivos.

[ Hits: 33.422 ]

Por: Esli Silva em 08/07/2017 | Blog: https://esli.blog.br


Suporte ao TRIM e opções de montagem no fstab



Suporte ao TRIM

O recurso TRIM limpa os blocos do SSD que não são mais usados pelo sistema de arquivos. Isso irá otimizar o desempenho de gravação a longo prazo e é recomendado em SSD devido ao seu design. Isso significa que o sistema de arquivos é capaz de dizer ao SSD sobre esses blocos.

A opção 'discard' ao montar um ext4 emitirá tais comandos TRIM quando os blocos do sistema de arquivos forem liberados (chama-se descarte online).

No entanto, esse comportamento implica um pouco sobrecarga de desempenho. Desde o Linux 2.6.37, você pode evitar o uso da opção 'discard' e fazer isto ocasionalmente com o FITRIM (por exemplo, a partir de um agendamento no crontab).

O utilitário fstrim também faz isso (on-line), bem como a opção '-E discard' do fsck.ext4.

Já com o Btrfs existe a opção na montagem de passar o parâmetro 'ssd'

Tanto para o Btrfs e Ext4 passe as opções 'noatime', 'notail' e 'nodiratime'.

O 'noatime' faz com que o sistema não atualize as propriedades dos arquivos quando eles são acessados, apenas quando são alterados, o que melhora bastante o desempenho.

O 'nodiratime' desativa o registro de data e hora para diretórios (colocando o nodiratime já implica no noatime). O 'notail' desabilita uma opção na qual o Filesystem usa o espaço sem uso de um bloco para armazenar o excesso de dados de outros blocos, ganhando assim mais espaço de armazenamento, porém cobrando a conta no quesito desempenho, desabilitando-o pode ser uma boa, porém não há ganhos significativos.

Estas duas opções também são aconselháveis para aumentar o desempenho em discos HD comuns e na qual você não necessita destas informações de data/hora dos acessos.

relatime X noatime/nodiratime

O noatime e o nodiratime desativam o 'atime', porém alguns aplicativos fazem uso dos dados atime, desligar este recurso pode gerar problemas pois alguns aplicativos contam com os dados do atime e falharão caso não esteja disponível.

O kernel usado no Red Hat Enterprise Linux 6 suporta outra alternativa, relatime. Relatime mantém dados do atime , mas não para cada vez que um arquivo é acessado. Com esta opção habilitada, os dados do atime são gravados no disco somente se um arquivo foi modificado desde que os dados do atime tenham sido atualizados (mtime), ou se o arquivo foi acessado pela última vez mais de um certo período de tempo atrás (por padrão, um dia).

Por padrão, todos os sistemas de arquivos são montados agora com o relatime habilitado. Para omitir este recurso em todo o sistema, use o parâmetro de inicialização default_relatime=0. Se relatime estiver ativado em um sistema por padrão, você pode omití-lo de qualquer sistema de arquivo específico montando aquele sistema de arquivo com a opção norelatime. Finalmente, para variar o período de tempo padrão antes do qual o sistema irá atualizar dados do atime de arquivo, use o parâmetro de inicialização relatime_interval= especificando o período em segundos. O valor padrão é 86400.

Ou seja, num sistema baseado no RHEL, ao invés de desativar o atime (com o nodiratime), instalar o fstrim e criar uma tarefa no CRONTAB para realizar ação, você simplesmente usa o relatime e insere um valor de tempo maior.

Porém, ao instalar a maioria das distros GNU/Linux, em mais de 95% delas, as opções 'discard' e 'noatime' já estarão ativas pois o instalador sabe que está sendo usado um disco SSD.

Ou seja, neste quesito: novamente, se você estiver usando uma distro atualizada e conhecida (ou derivada de uma das 4 grandes), não precisará fazer nada.

Página anterior     Próxima página

Páginas do artigo
   1. Mito e suporte do SSD
   2. MBR ou GPT e o File System
   3. Suporte ao TRIM e opções de montagem no fstab
   4. Schedulers e o Journaling
   5. Update, firmware, RAM e tmpfs
Outros artigos deste autor

DHCP no GNU/Linux - Guia para ISC-DHCP Server

Rootsh - Auditando/monitorando o root e demais usuários do GNU/Linux

Certificados e OpenSSL - A Sopa de Letras

Leitura recomendada

Splashy - Mudando a "cara" do seu boot no Ubuntu

Composição por anexação e o Gimp

jKiwi: Simulando pintura de cabelo e novo visual com Software Livre

Gimp e o abstrato perspectivo

Escrevendo com LaTeX

  
Comentários
[1] Comentário enviado por removido em 08/07/2017 - 11:47h

Excelente!

Favoritado.


*******************************************************
* https://www.linuxcounter.net/cert/620448.png *
*******************************************************

[2] Comentário enviado por clodoaldops em 08/07/2017 - 13:13h

Very good.
Favoritado.

[3] Comentário enviado por removido em 09/07/2017 - 22:38h


Gostei do comando.

cat /sys/block/sda/queue/rotational

Falta conteúdo sobre SSD aqui no VOL.

[4] Comentário enviado por rogeriofox em 14/07/2017 - 08:39h

Meu Debian 9 com SSD já fez uma configuração bem redondinha. Fiz minha instalação com o BRTFS e sempre tem algum ajuste fino. Seu artigo foi direto ao ponto. Parabéns!!!

[5] Comentário enviado por lexemail em 14/07/2017 - 09:46h

Ótimo artigo!
Só pra reforçar, instalei recentemente o Ubuntu em um ssd de 120gb como teste. Instalação normal e até agora nenhum problema. A única "coisa" que notei foi a velocidade, ficou muito rápido.

A honestidade, igualdade, responsabilidade, autruidade, perseverança e desejo de um mundo melhor, começa pelas nossas atitudes!

[6] Comentário enviado por sergeimartao em 14/07/2017 - 15:24h

Excelente artigo, muito esclarecedor!

[7] Comentário enviado por CheshireCat em 19/07/2017 - 16:17h

Muito bom, parabéns, me foi super útil!
Favoritado. <3

[8] Comentário enviado por nicolo em 25/07/2017 - 15:21h

Interessante, mas para quem não é expert uns exemplos dos comandos recomendados seriam muito úteis. Mais sensível no ítem do journaling que não é comum
dar essa opção nos comandos. Evidente que para quem já sabe tudo os exemplos são desnecessários.

[9] Comentário enviado por Eslih em 26/07/2017 - 10:25h


[8] Comentário enviado por nicolo em 25/07/2017 - 15:21h

Interessante, mas para quem não é expert uns exemplos dos comandos recomendados seriam muito úteis. Mais sensível no ítem do journaling que não é comum
dar essa opção nos comandos. Evidente que para quem já sabe tudo os exemplos são desnecessários.


Obrigado pelo feedback @nicolo pretendo atualizar o artigo futuramente e incluirei mais comandos e detalhes sobre as tecnologias e recursos que mencionei (com maior didática também).
Mesmo assim, espero ter conseguido ajudar ;-)

[10] Comentário enviado por wandersonbc em 31/07/2017 - 15:36h

Gostei demais do artigo, em especial da parte que abrange o TMPFS.

[11] Comentário enviado por pbonfanti em 25/07/2018 - 12:57h

Excelente artigo, eu não vejo nada tão completo desde que instalei debian no meu Asus EEEPC alguns anos atrás, quando todas essas preocupações eram pertinentes. Curiosamente a bateria faliu muito antes do SSD, o qual não chegou a me dar problemas.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts