Qual sistema de arquivos escolher pro meu novo drive SSD?

A cada vez que vai instalar o Linux, para experimentar uma nova distro ou testar algum lançamento, ainda em fase beta ou alfa, você costuma ter a dúvida sobre qual sistema de arquivos usar em cada uma das novas partições criadas?
O sistema de arquivos a ser usado é apenas a ponta do iceberg, dentre tantas dúvidas e opções possíveis de ajuste do sistema, já antes da sua instalação.
Para não te aborrecer com um artigo enorme, vou tentar responder apenas a principal pergunta: qual o sistema de arquivos ideal para instalar Linux no drive SSD?

Neste post, vou me restringir ao ambiente desktop comum de usuário e — é claro — ao sistema operacional do pinguim.
SSD drive by Toshiba

Das várias opções disponíveis, no ato da instalação, há basicamente 4 a serem consideradas:

  • EXT4 — Esta é a escolha natural e recomendada se você deseja estar do lado mais seguro.
    O Ext4 tem suporte total ao hardware dos SSD e ao trimming.
    Até esta data, o Ext4 ainda está ganhando na maioria dos benchmarks realizados entre ele e os outros 3 sistemas de arquivos citados nesta lista.

    Portanto, é também a opção mais adequada para quem deseja mais performance e segurança — mas não vai ser sempre assim.

    O Ext4 está atingindo o pico da sua maturidade e deve ter várias melhorias e novos recursos implementados, no decurso dos próximos anos, pelos seus desenvolvedores.

    O ritmo de desenvolvimento dos outros sistemas de arquivos, contudo, está mais acelerado.

    No Red Hat, o Ext4 tem suporte a arquivos com tamanho até 16 Tb. O sistema de arquivos pode chegar a 50 Tb.

  • BTRFS — O nome pode ser um acrônimo para “better fs” (ou seja, “sistema de arquivos melhorado”).

    No Ubuntu e nas outras distribuições GNU/Linux baseadas no Debian, ele desponta como um dos sucessores naturais do Ext4.

    É seguro para o uso da grande maioria dos clientes mas não tem a maturidade exigida para o ambiente de produção.

    Em alguns testes de benchmark, o Btrfs já ganha do Ext4 em eficiência.

    Por ser mais novo, já nasceu com código voltado para as novas tecnologias de armazenamento.

  • XFS — Muitos usuários não sabem que o XFS também tem suporte ao TRIM.
    Este é o sistema de arquivos padrão no Red Hat, a partir da versão 7.

    Seu desenvolvimento remonta à década de 90, nas famosas workstations da Silicon Graphics.
    É mais maduro do que o Btrfs, de modo geral, embora tenha começado a ter suporte no Linux, há menos tempo.

    Se você usa o Red Hat ou o Fedora, recomendo usar este sistema de arquivos, para usufruir de todo o suporte que a empresa oferece.

    O XFS pode trabalhar com arquivos de até 500 Tb de tamanho e o próprio sistema de arquivos pode chegar a vários exabytes.

  • JFS — Teve suporte ao TRIM, adicionado a partir da versão 3.7 do kernel Linux.
    Há pouca documentação sobre ele.

    Ele tem sido comparado aos outros em vários testes de performance e tem se saído muito bem em alguns.

Além destes, há vários outros sistemas de arquivos desenvolvidos para unidades SSD e dispositivos flash — o F2FS é um deles.
No artigo Introdução ao ZFS, abordamos este sistema de arquivos especificamente.

Os testes de benchmarking

Foge ao escopo deste artigo fazer análises de performance — cujos resultados mudam o tempo todo.

Neste sentido, sugiro que você dê uma olhada nos links, abaixo. Selecionei algumas análises de desempenho que eu achei interessantes.

Antes de decidir, sugiro dar uma olhada e procurar por testes mais atuais.

Referências

O novo sistema de arquivos padrão no Red Hat é o XFS: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Migration_Planning_Guide/sect-Red_Hat_Enterprise_Linux-Migration_Planning_Guide-File_System_Formats.html.
Teste de performance do Phoronix: http://www.phoronix.com/scan.php?page=article&item=linux-40-hdd&num=1
Sistemas de arquivos otimizados para mídias flash e drives SSD: https://elias.praciano.com/2014/09/sistemas-de-arquivos-otimizados-para-midias-flash-cartoes-de-memoria-ssd-nand/.

Como esconder arquivos em um cartão de memória.

Quando você tem arquivos de conteúdo sensível, profissional ou pessoal, o uso de um cartão de memória flash (SD, MMC etc.) criptografado pode ser a melhor solução entre a discrição e o tamanho da mídia.
Cartão de memória com chaves
As dicas deste post servem para criptografar quase qualquer tipo de mídia — seja um pendrive USB, uma partição no disco, um mero arquivo, um disco virtual ou um cartão de memória microSD.
Ao executar corretamente este procedimento você impede o acesso a seus arquivos por pessoas não autorizadas.
Se você costuma acessar arquivos que gostaria de manter em segredo, você precisa usar mídias criptografadas.

O que você precisa ter em mãos para criptografar um cartão de memória

Neste texto vou mostrar como criptografar um cartão de memória formatado com o sistema de arquivos F2FS, no Linux. Só quem tem a senha de acesso poderá ver o conteúdo deste cartão.
Se você é preocupado com os diversos aspectos da segurança, vai entender por que a escolha do Linux é óbvia e necessária.
Você precisa ter instalado no seu sistema o módulo do kernel que permite manipular sistemas de arquivos F2FS — que é otimizado para cartões de memória flash.
O processo de formatar e criptografar o cartão ficará por conta do utilitário luksformat — ele simplesmente torna tudo mais fácil e rápido.
Clique nos links citados no texto e nas imagens para obter informações adicionais e maiores detalhes sobre algum assunto abordado neste texto.
Antes de prosseguir, faça backup de quaisquer arquivos que sejam importantes — os procedimentos de formatação e encriptação apagará todos os dados contidos na mídia de destino. Portanto, se você não sabe o que está fazendo, não faça.

Como formatar e criptografar uma mídia no Linux, com o luksformat

Como eu já disse, estes comandos podem ser aplicados a qualquer mídia — você só precisa adequá-los ao seu contexto.
Para formatar e criptografar um cartão de memória, localizando em /dev/sdc1, com o sistema de arquivos ext4, execute o seguinte comando:

sudo luksformat -t ext4 /dev/sdc1

Sim. Você precisa ter privilégios administrativos para rodar o luksformat.

captura de tela - comando luksformat formata e encripta uma midia flash
Clique para ver detalhes

Se você quiser usar qualquer um dos outros recursos do mkfs, basta acrescentar os parâmetros ao final da linha de comando. Por exemplo, se quiser rotular a mídia formatada com o nome Segredos, faça assim:

sudo luksformat -t ext4 /dev/sdc1 -L Segredos

* Sugiro usar nomes mais discretos que este.

Como criar uma partição f2fs criptografada

Com o comando abaixo, você pode criar um sistema de arquivos criptografado, na mesma mídia, com o nome de volume musicman

sudo luksformat -t f2fs /dev/sdc1 -l musicman

Fique atento: neste caso, o parâmetro -l fica em minúsculas.

Criando dispositivo criptografado em /dev/sdc1...

WARNING!
========
Isto irá sobrescrever os arquivos em /dev/sdc1 definitivamente.

Are you sure? (Type uppercase yes): YES
Informe a frase secreta: 
Verify passphrase: 
Digite sua senha novamente para verificação
Informe a frase secreta para /dev/sdc1: 

	F2FS-tools: mkfs.f2fs Ver: 1.2.0 (2013-10-25)

Info: Label = musicman
Info: sector size = 512
Info: total sectors = 3907583 (in 512bytes)
Info: zone aligned segment0 blkaddr: 512
Info: Discarding device
Info: This device doesn't support TRIM
Info: format successful

Se você tiver dificuldades com o sistema de arquivos F2FS, leia este artigo.
Você pode aplicar os mesmos princípios para criar sistemas de arquivos VFAT ou outros, que considerar mais interessantes.
Por fim, saiba mais sobre o assunto, clicando nos links contidos no artigo ou fazendo uma pesquisa — na caixa de busca, na seção direita deste site.