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: 34.532 ]

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


Schedulers e o Journaling



Schedulers: CFQ vs Deadline vs Noop

O CFQ (Completely Fair Queuing) é o scheduler padrão de I/O do Linux desde o kernel 2.6.18 ele é quem coloca as solicitações síncronas enviadas por processos em filas numeradas e aloca o tempo para que cada uma destas filas acessem o disco, controlando entre outras coisas, a prioridade do acesso ao disco e a largura de banda para I/O.

A partir do Kernel 3.1 foi introduzido algumas opções de otimização no CFQ para SSDs e outros drives 'não-rotacionais' ('discos' que não são discos, como memórias flash etc) onde ele detecta este tipo de dispositivo e suporta múltiplos requests por vez e uma profundidade maior da fila. Seu funcionamento padrão em discos comuns é organizar as filas de acordo com setor e proximidade (lembrando que é um disco girando, sendo lido e gravado).

Existe outros schedulers no Linux, como o Deadline e o Noop. Para SSD o CFQ se mostra com o melhor desempenho, sendo este o padrão da maioria das distribuições.

Há na internet diversos artigos onde mostram como alterar o sistema para que use o Deadline em discos não-rotacionais (SSDs), porém não encontrei nenhum argumento que justifique isto.

Neste link há uma comparação dos 3 schedulers no kernel 3.4 usando disco convencional (HDD) e SSD:
Um dos argumentos é a opção fifo_batch do Deadline que controla o numero de pedido por lotes de solicitações de I/O no disco, com isto ele equilibra as taxas de latência vs transferência, focando a latência (pois o disco está girando e leva em consideração a proximidade do setor), porém ao inverter (já que no SSD não tem disco) você prioriza a taxa de transferência, em tese, melhorando o desempenho. Porém, mesmo assim, em benchmarks que verifiquei, o CFQ continua melhor e o ganho de transferência no Deadline com esta ação não produz uma melhoria visível.

Ou seja: neste quesito, não faça nada.

Journaling

O Journaling cobra um pouco no desempenho, mas isto é um recurso muito importante para a recuperação dos dados em possíveis crashs no sistema.

Aí depende muito de cada um em desativa-lo, eu acho desnecessário (depende muito de qual uso terá este GNU/Linux com SSD).

Se em seu ambiente você terá um disco HD junto com SSD no Linux, você pode configurar para que o sistema use outro device ou partição para o Journal, apontando para uma área do HD (no mkfs.ext4 ao criar a partição do sistema que será instalado no SSD, use a opção '-J' para as configurações do journal, entre elas há um "device=" onde você aponta um outro dispositivo ou partição para usar como Journal, apontando assim, para o HD comum).

Caso mude o journal no ext4, habilite na montagem do SSD, além dos parâmetros já passados, os seguintes: "journal_checksum" e o "journal_async_commit".

Neste quesito é opcional. Muitos o fazem, porém o ganho de vida útil com os atuais SSDs não será perceptível.

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

Certificados e OpenSSL - A Sopa de Letras

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

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

Leitura recomendada

Programação visual (módulo 2)

Proteção de tela ou vídeo como papel de parede

Criação de imagem com o Gimp

Trabalhando com foto usando Cheese + GIMP + Xmorph

Enfeite o LILO com uma imagem de seu gosto

  
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 removido 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