Entenda o que são sistema de arquivos e qual você deve usar!

qual sistema de arquivos escolher para seu sistema, HD ou SSD externo


Quando chegamos no mundo Linux nos deparamos com um leque de opções, desde a instalação de diversas distribuições como Ubuntu, Fedora, Zorin OS, e muitas interfaces gráficas também como Gnome, Kde, XFCE e Cinnamon, e não poderia ser diferente quando o assunto é sistema de arquivos (file system) não é mesmo? 😉

O que é um sistema de arquivos? 

entenda o que são sistemas de arquivos


Na definição mais simples possível, é um um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema ter controle do acesso do disco rígido, leitura, escrita, armazenamento de dados, entre outras. Cada sistema operacional possui seus próprios sistemas de arquivos, desenvolvido de acordo com as necessidades dos mesmos.

E  Conforme cresce a capacidade dos discos e aumenta o volume de arquivos e acessos, esta tarefa torna-se mais e mais complicada, para os sistemas de arquivos existentes, exigindo o desenvolvimento de novos file systems cada vez mais complexos e robustos.

No Linux temos diversos sistemas de arquivos, alguns compatíveis também com outros sistemas operacionais, outros próprios do sistema pinguim. A maioria das distribuições Linux possui um sistema padrão no momento da instalação, e na maioria dos casos se trata do Ext4, mas se você for instalar o Fedora por exemplo, vai se deparar com o Btrfs como padrão, e no Opensuse vai encontrar o mesmo Btrfs na partição root e XFS na partição Home do sistema. E se plugar o seu pendrive recém comprado, provavelmente vai encontra-lo em NTFS ou FAT32 que são partições vindas do Windows 🤫mas com suporte a leitura e escrita no mundo Linux. 

Agora vamos conhecer um pouco mais de cada sistema de arquivos, para lhe ajudar na hora de escolher um sistema padrão para sua instalação Linux, pendrive ou HD externo. 🧐

Ext4, uma evolução do Ext2 e Ext3

a evolução dos sistemas de arquivos Ext2 Ext3 e Ext4


Como já descrito no subtítulo o Ext4 se trata de uma evolução do Ext2 e do Ext3. Esse Ext significa “EXTended file system“, e foi o primeiro sistema de arquivos criado especificamente para Linux. 

Em 1992 o Ext foi introduzido como primeira versão do sistema de arquivos, sendo uma grande atualização do sistema de arquivos do Minix que era utilizado na época, sem possuir recursos importantes. Hoje em dia, poucas distribuições Linux o suportam ainda.

E então veio o Ext2, sendo o primeiro sistema de arquivos a suportar atributos de arquivo estendidos além de 2 unidades de terabyte. Foi bastante utilizado até a chegada de seu sucessor.

O Ext3 chegou para substituir o Ext2, e seu grande diferencial foi o suporte a jounaling, um recurso muito importante pois mantém o controle das modificações feitas em um log (journal) no próprio  sistema de arquivos, antes de escrevê-las no disco. 

Já a evolução do Ext3, foi o Ext4, que incluiu recursos mais recentes para reduzir a fragmentação dos arquivos (desfragmentação online), além de permitir maiores volumes de armazenamento, sendo de 16 TiB para um sistema com blocos de 4K, ele também usa alocação com atraso pra melhoras na vida útil da memória flash entre outros.  

Por conta disso, lá pelo ano de 2010, ele se tornou-se o padrão no momento da instalação na maioria das distribuições Linux. Além de ter sido projetado para ser compatível com as versões anteriores (Ext 2/3), tornado-se seu substituto padrão.

Porém pra muitos desenvolvedores o Ext4 era na melhor das hipóteses um remendo dos outros Ext, e uma hora ou outra seria necessário um outro sistema de arquivos para suprir a demanda do mundo tecnológico, dessa maneira foram surgindo outros sistemas de arquivos, ao invés de um Ext5.

ZFS

Esse file system foi projetado pela antiga Sun Microsystems, empresa que foi adquirida pela Oracle, para seu sistema UNIX Solaris. O ZFS suporta diversos recursos avançados, dentre eles posso destacar o snapshots, pooling de unidades, e striping de discos dinâmicos. Cada arquivo possui uma soma de verificação, para que o ZFS possa dizer se um arquivo está corrompido ou não. 

O ZFS está sob uma licença de código aberto, a Sun CDDL, contudo, essa licença conflita com a licença do Kernel Linux a GPL2, por isso apesar de ser bastante elogiado e estimado pelos seus recursos, o ZFS não poder ser incluído no Kernel. No entanto, você pode instalar o suporte a ele em qualquer distribuição Linux. O Ubuntu por exemplo, já oferece suporte oficial ao ZFS desde a versão 16.04.

Ele também permite que você agrupe de maneira fácil várias unidades em um único conjunto maior de armazenamento e possa trabalhar com vários discos usando um RAID de software; não sendo necessário um hardware especial para fazer coisas avançadas com os discos padrão.

Nunca usei o mesmo para produção e nem ouvi falar de ninguém que tenha usado o mesmo em um HD externo ou pendrive, mas se esse for o seu caso, pode citar nos comentários.

Btrfs

conhencendo o sistema de arquivos Btrfs


Concebido a principio para o sistema Operacional Solaris, o Btrfs foi   desenvolvido em 2007 na Sun Microsystem. Com a compra da Sun em 2009, a Oracle passou a comandar o seu desenvolvimento, mas hoje em dia ele possui um conjunto de empresas que apoiam financeiramente o seu desenvolvimento como o Facebook, Red Hat, Suse entre outras.

O Btrfs se baseia no copy-on-write onde o sistema de arquivos mantém uma única cópia de um bit de dados antes que eles sejam escritos; e quando esses dados forem escritos, uma cópia dele será feita. Isso reduz a duplicação desnecessária de objetos de memória.

Além disso o Btrfs também suporta snapshots instantâneos, clonagem de arquivos, de subvolumes, compactação transparente, e verificação do sistema de arquivos off-line, além da desfragmentação online, possuindo suporte para RAID 0, RAID 1, RAID 5, RAID 6 e RAID 10.

Apesar dos diversos recursos o Btrfs era tido como instável por grande parte da comunidade Linux para alguns casos, sendo adotado já algum tempo pelo Opensuse, como sistema de arquivo padrão da partição raiz do sistema. E recentemente o Fedora trouxe o Btrfs como sistema de arquivos padrão em sua instalação, mostrando um esforço para futuramente levá-lo a novas versões do Red Hat Enterprise Linux. 

Assim como o Fedora foi o primeiro a adotar o Wayland e depois foi seguido pelo Ubuntu e demais distribuições, não duvido que isso também ocorra como o Btrfs, ele é o sistema de arquivos do futuro/presente do mundo Linux, é o que uso atualmente no meu HD externo. E se trata de um sistema de arquivos com recursos interessantes principalmente se você possui um SSD. 

XFS

Desenvolvido pela Silicon Graphics em 1994, para o sistema operacional SGI IRX, o XFS foi portado com sucesso para o Linux no ano de 2001. Sendo um sistema de arquivos considerado bem semelhante ao Ext4 em alguns aspectos. Possuindo bom desempenho ao lidar com arquivos grandes, porém um fraco desempenho ao lidar com muitos arquivos pequenos, em comparação com os outros sistemas de arquivos. Pode ser útil para certos tipos de servidores que lidam  principalmente com arquivos grandes.

Está presente no Red Hat Enterprise Linux desde a versão 7, empresa que possui uma ampla história na área da supercomputação e servidores.  Além de ser usado por padrão na partição home do Opensuse como citado anteriormente. 

Dentre as desvantagens do XFS posso citar a falta de checksums de dados ou ECC, o que o deixa susceptível a corrupção de dados silenciosos,  o famoso “bit rot“, tornando a falta de compressão transparente.
  
É um sistema de arquivos sólido ideal para um servidor doméstico por exemplo, já utilizei ele no Opensuse, e não notei problemas quanto a ele, mas serie interessante vê-lo em produção numa partição raiz e em um HD externo por exemplo 🤔

JFS

Em 1990 a IBM desenvolveu o “Journaled File System“, para o sistema operacional IBM AIX, e portou ele posteriormente para as distribuições Linux (na verdade o Kernel Linux têm suporte a ele desde a versão 2.4.18pre9-ac4). Em seu favor possui um baixo uso da CPU e um bom desempenho para arquivos grandes não deixando de lado os pequenos também.  As partições com sistema de arquivos JFS podem ser redimensionadas de maneira dinamica, mas não podem ser encolhidas. Esse file system foi minuciosamente planejado e tem suporte na maioria das grandes distribuições Linux, contudo, seus testes em produção nos servidores Linux não são tão extensos como o Ext; já que ele foi projetado para o AIX. O Ext4 constuma ser mais usado e por isso é amplamente testado. 

O uso JFS no Linux não é tão comum, já que existe o Ext4; e ele, normalmente ( ou pelo menos se acredita), oferece um melhor desempenho. Por outro lado, o JFS é menos testado e pode ter suas cartas na manga em relação ao  desempenho, e para sistemas de bancos de dados que precisam de gravações síncronas para sobreviver a um acidente de hardware, o JFS se mostra uma boa opção. 

Se trata de um sistema de arquivos leve e eficiente com atividades nos discos “pesadas”; também possuindo baixo uso da CPU.  Assim, caso tenha algum ambiente com atividade alta em disco e possa testar um novo sistema de arquivos, recomendo o JFS.

F2FS

Sistema de arquivos bo pra SSD é o F2FS


Samsung desenvolveu um sistema de arquivos voltado para armazenamento de dados em memória flash e em SSD ( oque me animou só de ler 😃). Portanto o F2FS se trata de uma tecnologia relativamente nova. e mesmo assim ele já tem algum certo sucesso no mundo Linux. Usuários de SSD’s alegam uma excelente experiência com esse sistema de arquivos 😃 Contudo infelizmente a maioria das distribuições Linux não suportam o F2FS por padrão, no momento da instalação 😞 Pois o kernel Linux precisa ser configurado antes poder receber suporte ao mesmo. Por isso esse acaba sendo o único ou um dos únicos pontos de desvantagem, pois não é qualquer usuário (um novato por exemplo) que vai conseguir habilitá-lo na sua distribuição Linux. 

Se você possui um armazenamento de dados em memória flash ou SSD, e se considera um “usuário avançado” buscando o máximo de desempenho no armazenamento de seus dados; este com certeza será um sistema de arquivos ideal pra você 😉

Desses sistemas de arquivos citados acima, já tive experiêcias com o EXT4, o XFS e o Btrfs, para partições de sistema os 03 constumam funcionar muito bem, só que o Btrfs as vezes possui um desenpenho inferior em algumas distribuições Linux que não o suportam nativamente ainda, mas permitem a instalação do mesmo, já para pendrives e HD’s  e SSD’s externos, o que mais me chamou atenção até o momento foi o Btrfs, mas gostaria de testar o ZFS e o F2FS pra ver como se comportam, vai que se tornem os meus sistemas de arquivos favoritos 🤷🏻‍♂️ 

E você, costuma usar qual sistema de arquivos para seus prendrives, HD’s  e SSD’s externos? Deixa aqui nos cometários.

Leu essa matéria procurando um sistema de arquivos para seu sistema ou para suas unidades externas? 🤔 Comenta aqui quais te deixaram mais na dúvida, que será um prazer estár lendo e respondendo sua qauestão. 😃

Fonte da matéria:

https://www.linuxdescomplicado.com.br/2017/03/dentre-diversos-sistemas-de-arquivos-linux-existentes-qual-eu-devo-usar.html

https://www.hardware.com.br/termos/sistema-de-arquivos





Postar um comentário

0 Comentários