A comparação dos sistemas de arquivos BTRFS vs EXT4

A comparação dos sistemas de arquivos BTRFS vs EXT4
Existem muitos sistemas de arquivos por aí para Linux. Os mais comuns são ext4, btrfs, xfs, zfs e assim por diante. Cada um dos sistemas de arquivos tem seus casos de uso, profissionais e contras. Você pode ter dificuldade em decidir qual sistema de arquivos usar.

Neste artigo, vou comparar o EXT4 e o sistema de arquivos BTRFS. Portanto, se você está tendo dificuldade em decidir se usar o sistema de arquivos ext4 ou o sistema de arquivos BTRFS, então

Introdução ao Ext4 e aos sistemas de arquivos BTRFS:

Ext4 FileSystem: Ext4 é a quarta versão do sistema de arquivos EXT (estendido). É um sucessor do sistema de arquivos ext3. A primeira versão do sistema de arquivos Ext foi lançado em 1992 para o sistema operacional Minix. Mais tarde foi portado em sistemas operacionais Linux. O sistema de arquivos ext4 foi lançado em 2008. Ext4 é um sistema de arquivos diário.

BTRFS FileSystem: BTRFS ou o sistema de arquivos B-Tree é um sistema de arquivos de cópia em copia (vaca) moderno. É novo em comparação com o sistema de arquivos ext. Foi projetado para os sistemas operacionais Linux na Oracle Corporation em 2007. Em novembro de 2013, o sistema de arquivos BTRFS foi declarado estável para o kernel Linux.

Comparações de recursos dos sistemas de arquivos Ext4 e BTRFS:

O sistema de arquivos ext4 e btrfs foi projetado para resolver diferentes tipos de problemas. Portanto, o objetivo do design do sistema de arquivos ext4 era diferente do sistema de arquivos BTRFS. Ainda assim, eles são sistemas de arquivos. Eles têm algumas semelhanças que podemos comparar.

eu. Tamanho máximo da partição: O sistema de arquivos ext4 suporta tamanhos de partição até 1 eib.

O sistema de arquivos BTRFS suporta tamanhos de partição de até 16 EIB.

ii. Tamanho máximo do arquivo: O sistema de arquivos ext4 suporta tamanhos de arquivo até 16 TIB (para o tamanho do bloco padrão de 4 kib).

O sistema de arquivos BTRFS suporta tamanhos de arquivo até 16 EIB.

iii. Comprimento máximo do nome do arquivo: O sistema de arquivos ext4 suporta até 255 caracteres (255 bytes) nomes de arquivos longos.

O sistema de arquivos BTRFS também suporta até 255 caracteres (255 bytes) nomes de arquivos longos.

4. Personagens permitidos em nomes de diretórios e arquivos: O sistema de arquivos ext4 permite qualquer caractere, exceto o / e Nulo (\ 0) caracteres em nomes de diretórios e arquivos.

OBSERVAÇÃO: Você não pode criar um arquivo ou diretório com o nome. e… no sistema de arquivos ext4 ou no BTRFS.

v. Comprimento do caminho máximo: O sistema de arquivos ext4 não tem limites para o comprimento do caminho de um arquivo ou diretório. Então, você pode criar estruturas de diretório muito profundas e manter seus arquivos lá.

O mesmo vale para o sistema de arquivos BTRFS.

vi. Número máximo de arquivos: Você pode criar no máximo 232 (= 4.294.967.296 ~ = 4 bilhões) arquivos em um sistema de arquivos ext4.

Você pode criar no máximo 264 (= 18.446.744.073.709.551.616 ~ = 18 quintilhões) arquivos em um sistema de arquivos BTRFS.

vii. Método de alocação de inode: Um inode é uma estrutura de dados do sistema de arquivos usada para descrever um arquivo ou um diretório. Portanto, um diretório ou um arquivo requer 1 inode. 2 diretórios ou 2 arquivos exigirão 2 inodos.

No sistema de arquivos ext4, você define o número de inodos que o sistema de arquivos pode suportar enquanto você cria o sistema de arquivos. Você não pode alterá -lo depois que o sistema de arquivos for criado. Se você criar muitos arquivos pequenos, poderá ter espaço livre em disco no seu sistema de arquivos, mas não poderá criar novos arquivos/diretórios, a menos que tenha inodes gratuitos. Esta é uma grande limitação do sistema de arquivos ext4.

No sistema de arquivos BTRFS, a alocação de inode é flexível. O sistema de arquivos pode adicionar tantos inodos quanto necessário. Então, você nunca ficará sem inodos.

viii. Suporte de soma de verificação/ECC: O sistema de arquivos ext4 não mantém a soma de verificação dos dados armazenados no sistema de arquivos.

O sistema de arquivos BTRFS mantém a soma de verificação CRC32C dos dados armazenados no sistema de arquivos. Portanto, em caso de corrupção de dados, o sistema de arquivos BTRFS pode detectá -lo e recuperar o arquivo corrompido.

ix. Jornal e cópia em suporte: O sistema de arquivos ext4 é um sistema de arquivos de diário. Não possui suporte para cópia sobre gravação (vaca).

O sistema de arquivos BTRFS é um sistema de arquivos de cópia em gravação (vaca) e não possui suporte para diário.

x. FileSystem Snapshot: O sistema de arquivos ext4 não pode tirar instantâneos do sistema de arquivos.

O sistema de arquivos BTRFS pode tirar instantâneos. Você pode tirar instantâneos somente leitura e instantâneos graváveis.

OBSERVAÇÃO: O instantâneo do sistema de arquivos é um recurso importante. Usando esse recurso, você pode tirar um instantâneo do seu sistema de arquivos antes de experimentar qualquer coisa arriscada. Se as coisas não forem como planejado, você pode voltar a um estado inicial onde tudo funcionou. Este é um recurso interno do sistema de arquivos BTRFS. Você não precisa de nenhuma ferramenta/software de terceiros para fazer isso em um sistema de arquivos BTRFS.

XI. Criptografia no nível do sistema de arquivos: O sistema de arquivos ext4 possui suporte experimental para criptografia no nível do sistema de arquivos.

O sistema de arquivos BTRFS não tem suporte para criptografia no nível do sistema de arquivos.

xii. Deduplicação no nível do sistema de arquivos: O sistema de arquivos ext4 não possui suporte de desduplicação.

O sistema de arquivos BTRFS suporta a desduplicação no nível do sistema de arquivos. Você não precisa de nenhuma ferramenta/software de terceiros para isso.

OBSERVAÇÃO: A depulicação é uma técnica para eliminar/remover cópias duplicadas de dados do sistema de arquivos e manter apenas uma cópia dos dados (dados exclusivos) no sistema de arquivos. Esta técnica é usada para salvar espaços de disco.

xiii. Suporte de vários dispositivos: O sistema de arquivos BTRFS suporta vários dispositivos e possui suporte de invasão interno. O sistema de arquivos BTRFS possui um gerenciador de volume lógico (LVM) integrado que é usado para adicionar vários dispositivos ou partições de armazenamento a um único sistema de arquivos BTRFS. Um único sistema de arquivos BTRFS pode abranger vários discos e partições.

O sistema de arquivos ext4 não suporta vários dispositivos. Você não pode abranger um único sistema de arquivos ext4 em vários discos ou partições. Para combinar vários dispositivos e partições de armazenamento em um sistema de arquivos ext4, você deve usar gerentes de volume lógico de terceiros como gerentes de volume lógico como LVM 2. Para configurar o RAID, você precisa usar ferramentas de terceiros como DM-ERAD ou MDADM.

xiv. Compressão no nível do sistema de arquivos: O sistema de arquivos ext4 não possui suporte de compressão no nível do sistema de arquivos interno.

O sistema de arquivos BTRFS possui suporte de compressão no nível do sistema de arquivos interno. Ele pode comprimir um único diretório ou um único arquivo ou todo o sistema de arquivos para salvar o espaço do disco.

xv. Offline FileSystem redimensione recursos: O sistema de arquivos ext4 possui suporte para o crescimento do sistema de arquivos offline (aumente o tamanho do sistema de arquivos) e o encolhimento (diminuição do tamanho do sistema de arquivos).

O sistema de arquivos BTRFS também suporta o sistema de arquivos offline crescendo e diminuindo.

xvi. Recursos de redimensionamento do sistema de arquivos on -line: O sistema de arquivos ext4 tem suporte para crescimento on -line (aumente o tamanho do sistema de arquivos quando montado). Mas não tem suporte para que o sistema de arquivos on -line diminui (diminua o tamanho do sistema de arquivos quando montado).

Você pode crescer (aumentar o tamanho do sistema de arquivos) e encolher (diminuir o tamanho do sistema de arquivos) BTRFS FileSystems online (quando montado).

xvii. Arquivos esparsos: Recurso de arquivo esparso Salvar espaço em disco quando pequenos arquivos (menores que o tamanho do bloco) são armazenados no sistema de arquivos. O sistema de arquivos ext4 e o BTRFS suporta arquivos esparsos.

xviii. Sub-alocação de bloco: O sistema de arquivos ext4 não suporta sub-alocação de bloco.

O sistema de arquivos BTRFS suporta sub-alocação de bloco.

OBSERVAÇÃO: Quando um sistema de arquivos armazena arquivos grandes em um sistema de arquivos, o arquivo grande é dividido em blocos e os blocos são armazenados no sistema de arquivos. O último bloco do arquivo não ocupa todo o bloco. Este último bloco é chamado de bloco de cauda. Da mesma maneira, quando muitos arquivos pequenos são armazenados, eles não ocupam todo o bloco. Então, muito espaço em disco é desperdiçado. A sub-alocação de bloco é um método para armazenar partes de outro bloco de arquivo para o bloco traseiro (o último bloco de outro arquivo que não ocupou todo o bloco) e salvar espaços de disco.

xix. Embalagem de cauda: O sistema de arquivos ext4 não suporta embalagem de cauda.

O sistema de arquivos BTRFS suporta embalagem de cauda.

OBSERVAÇÃO: A embalagem de cauda faz parte da sub-alocação de blocos. Como já discuti, pequenos arquivos não ocupam um bloco de arquivo inteiro. Então, para armazenar com eficiência arquivos pequenos (eu.e. Códigos de origem do programa) No sistema de arquivos, o bloco de traseiro de um pequeno arquivo é usado para armazenar outros pequenos arquivos. A embalagem da cauda melhora o desempenho do sistema de arquivos e economiza muito espaço em disco em um sistema de arquivos onde muitos arquivos pequenos (i.e. Códigos de origem do programa) são armazenados.

xx. Sistema de arquivos baseado em extensão: Os sistemas de arquivos Ext4 e BTRFS são sistemas de arquivos baseados em extensão.

OBSERVAÇÃO: Uma extensão é uma área contígua do dispositivo de armazenamento que é reservado para um arquivo em um sistema de arquivos. Os sistemas de arquivos baseados em extensão armazenam arquivos grandes em uma área de armazenamento contígua. Isso melhora o desempenho do sistema de arquivos e aumenta a eficiência de armazenamento.

xxi. Tamanho do bloco de arquivo variável: O sistema de arquivos ext4 suporta tamanho de bloco fixo. O tamanho do bloco é definido antes que o sistema de arquivos seja criado. Depois que o sistema de arquivos é criado, você não pode alterar o tamanho do bloco.

O sistema de arquivos BTRFS suporta tamanho de bloco variável. O sistema de arquivos pode determinar o melhor tamanho possível de bloco para armazenar um arquivo no sistema de arquivos com base no tamanho do arquivo. Este recurso pode economizar muito espaço em disco.

xxii. Alocar em fluxo: O sistema de arquivos ext4 e o sistema de arquivos BTRFS alocam.

OBSERVAÇÃO: O sistema de arquivos aloca algum espaço de buffer na memória do computador. Quando há solicitações de gravação em disco, o sistema de arquivos não escreve os blocos de dados diretamente no dispositivo de armazenamento. Em vez disso, o sistema de arquivos armazena os blocos de dados na memória do buffer. Quando a memória do buffer está cheia, o sistema de arquivos grava todos os blocos de dados pendentes no dispositivo de armazenamento de uma só vez. Isso reduz o uso da CPU, acelera as gravações de disco e reduz a fragmentação do disco.

xxiii. Suporte de acabamento: Tanto o Ext4 quanto o BTRFS FileSystem de suporte. É uma característica muito importante para os dispositivos de armazenamento SSD.

OBSERVAÇÃO: Quando você remove um arquivo de um SSD, o comando TRIM notifica o dispositivo de armazenamento SSD das páginas (blocos de arquivo) que não são mais necessários. O SSD apaga as páginas desnecessárias (blocos de arquivos) do armazenamento flash e prepara as páginas (blocos de arquivo) para armazenar novos dados. Sem suporte de acabamento, a velocidade de gravação do SSD ficaria mais lenta à medida que o SSD é preenchido com novos dados.

Vantagens do ext4 sobre o BTRFS:

O sistema de arquivos ext4 é um sistema de arquivos muito antigo. Ele tem sido usado no sistema operacional Linux há muito, muito tempo. Por causa disso, o sistema de arquivos ext4 é muito estável. O sistema de arquivos ext4 ainda é o sistema de arquivos padrão em muitas distribuições populares do Linux (i.e. Ubuntu/Debian). Se você precisar armazenar alguns dados como um usuário comum do Linux, você pode manter os olhos fechados e usar o sistema de arquivos ext4. O sistema de arquivos ext4 tem suporte ao diário. Portanto, seus arquivos devem ser seguros, mesmo quando houver uma falha de energia. É um bom sistema de arquivos para uso diário.

Vantagens dos BTRFs sobre ext4:

O sistema de arquivos BTRFS é um sistema de arquivos de cópia em escritos (vaca) moderno que foi projetado para servidores de armazenamento de alta capacidade e alto desempenho. Portanto, ele tem muitos recursos avançados que o sistema de arquivos ext4 não possui. O sistema de arquivos ext4 foi projetado para ser um sistema de arquivos local simples.

Os principais recursos do sistema de arquivos BTRFS que são úteis para os usuários do Linux Everyday são:

  1. Instantâneos no nível do sistema de arquivos embutidos.
  2. Suporte múltiplo de dispositivo.
  3. Suporte de RAID embutido.
  4. Alocação de inode flexível.
  5. Otimizações para armazenar arquivos menores (arquivos esparsos, sublocação de blocos, embalagem de cauda, ​​tamanho do bloco variável).
  6. Suporte de compressão no nível do sistema de arquivos interno.

Estes são os recursos do sistema de arquivos para os quais você pode optar por usar o sistema de arquivos BTRFS sobre o sistema de arquivos ext4.

Conclusão:

Neste artigo, comparei os BTRFs e os sistemas de arquivos ext4. Eu comparei os principais recursos do BTRFS e EXT4 FileSystem. Este artigo deve ajudá -lo a decidir entre o BTRFS e o sistema de arquivos ext4.

Referências:

  1. ext4 - wikipedia - https: // pt.Wikipedia.org/wiki/ext4
  2. BTRFS - Wikipedia - https: // pt.Wikipedia.org/wiki/btrfs
  3. kernel/git/torvalds/linux.Git - árvore de origem do kernel Linux - https: // git.núcleo.org/pub/scm/linux/kernel/git/torvalds/linux.git/comprometimento/?ID = 4204617D142C0887E45FDA2562CB5C58097B918E
  4. Comparação dos sistemas de arquivos - Wikipedia - https: // pt.Wikipedia.org/wiki/comparação_of_file_systems
  5. Data Deduplication - Wikipedia - https: // pt.Wikipedia.org/wiki/data_deduplication
  6. Arquivo esparso - Wikipedia - https: // pt.Wikipedia.org/wiki/sparse_file
  7. Subalocação de bloco - Wikipedia - https: // pt.Wikipedia.org/wiki/block_subalocation
  8. Extensão (sistemas de arquivos) - Wikipedia - https: // pt.Wikipedia.org/wiki/extent_ (file_systems)
  9. ALOCURE -ON -FLUSH - Wikipedia - https: // en en.Wikipedia.org/wiki/alocado em fluxo
  10. TRIM (computação) - Wikipedia - https: // pt.Wikipedia.org/wiki/trim_ (computação)