Comparação entre os sistemas de arquivos BTRFS e XFS

Comparação entre os sistemas de arquivos BTRFS e XFS
Existem muitos sistemas de arquivos disponíveis para uso com Linux. Os sistemas de arquivos Linux mais comuns incluem EXT4, BTRFS, XFS e ZFS. Cada sistema de arquivos tem seus casos de uso exclusivos, profissionais e contras. Devido à variedade de opções disponíveis, você pode ter dificuldade em decidir qual sistema de arquivos usar.Para ajudá -lo com sua escolha, este artigo compara o XFS e o BTRFS FileSystems. Se você está tendo dificuldade em decidir se usar o sistema de arquivos XFS ou o sistema de arquivos BTRFS, este artigo deve ajudar. Comecemos!

Introdução aos sistemas de arquivos XFS e BTRFS

Sistema de arquivos XFS: XFS é um sistema de arquivos de diário de 64 bits de alto desempenho. Foi originalmente desenvolvido pela Silicon Graphics, Inc. Em 1993, para o sistema operacional IRIX e foi posteriormente transportado para o kernel Linux em 2001.

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. O BTRFS foi originalmente projetado para os sistemas operacionais Linux pela Oracle Corporation em 2007. Em novembro de 2013, o sistema de arquivos BTRFS foi declarado estável para o kernel Linux.

Comparação de recursos

Os sistemas de arquivos XFS e BTRFS foram projetados para resolver diferentes tipos de problemas. Embora o objetivo do design do sistema de arquivos XFS tenha sido diferente do do sistema de arquivos BTRFS, porque ambos são sistemas de arquivos, podemos compará -los em profundidade.

  • Tamanho máximo da partição: O sistema de arquivos XFS suporta tamanhos de partição de até 1 byte menos de 8 eib (8 eib - 1 byte).
  • O sistema de arquivos BTRFS suporta tamanhos de partição de até 16 EIB.
  • Tamanho máximo do arquivo: O sistema de arquivos XFS suporta tamanhos de arquivo de até 1 byte e menos de 8 eib (8 eib - 1 byte).
  • O sistema de arquivos BTRFS suporta tamanhos de arquivo de até 16 EIB.
  • Comprimento máximo do nome do arquivo: O sistema de arquivos XFS suporta nomes de arquivos de até 255 caracteres (255 bytes) de comprimento.
  • O sistema de arquivos BTRFS também suporta nomes de arquivos de até 255 caracteres (255 bytes) de comprimento.
  • Personagens permitidos em nomes de diretórios e arquivos: O sistema de arquivos XFS permite qualquer caractere, exceto o / e NULO (\ 0) caracteres em nomes de diretórios e arquivos.
  • O sistema de arquivos BTRFS também 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 .. em qualquer um dos sistemas de arquivos XFS ou BTRFS.

  • Comprimento do caminho máximo: O sistema de arquivos XFS não tem limites para o comprimento do caminho de um arquivo ou diretório. Portanto, você pode criar estruturas de diretório profundo e manter seus arquivos nessas estruturas.
  • O mesmo vale para o sistema de arquivos BTRFS.
  • Número máximo de arquivos: Você pode criar no máximo 264 (= 18.446.744.073.709.551.616 ~ = 18 quintilhões) arquivos em um sistema de arquivos XFS.
  • O mesmo vale para o sistema de arquivos BTRFS.
  • 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 único diretório ou arquivo requer um inode, dois diretórios ou arquivos exigirão dois inodos e assim por diante.
  • No sistema de arquivos ext4, você define o número de inodos que o sistema de arquivos pode suportar ao criar o sistema de arquivos. Você não pode mudar isso depois que o sistema de arquivos foi 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 para o sistema de arquivos ext4.
  • Ao contrário do sistema de arquivos ext4, a alocação de inode é flexível no sistema de arquivos XFS. Portanto, o sistema de arquivos pode adicionar tantos inodos quanto necessário e você nunca ficará sem inodos.
  • O acima também é verdadeiro para o sistema de arquivos BTRFS.
  • Suporte de soma de verificação/ECC: O sistema de arquivos BTRFS mantém a soma de verificação CRC32C dos dados e metadados armazenados no sistema de arquivos. Portanto, no caso de corrupção de dados, o sistema de arquivos BTRFS pode detectar a corrupção e recuperar os arquivos ou metadados corrompidos.
  • O sistema de arquivos XFS mantém apenas a soma de verificação do CRC32 dos metadados. Ele não mantém uma soma de verificação dos dados armazenados no sistema de arquivos, diferentemente do sistema de arquivos BTRFS.
  • Jornal e cópia em suporte: O sistema de arquivos XFS é um sistema de arquivos de diário. Não possui suporte de cópia sobre gravação (vaca).
  • O sistema de arquivos BTRFS é um sistema de arquivos de cópia sobre gravação (vaca) e não possui suporte ao diário.
  • FileSystem Snapshot: O sistema de arquivos XFS não pode tirar instantâneos do sistema de arquivos.
  • O sistema de arquivos BTRFS pode tirar instantâneos do sistema de arquivos. Com o BTRFS, você pode tirar instantâneos somente leitura e instantâneos graváveis ​​do sistema de arquivos.

OBSERVAÇÃO: O instantâneo do sistema de arquivos é um recurso importante. Você pode tirar um instantâneo do seu sistema de arquivos usando esse recurso antes de tentar qualquer ação de risco. Se as coisas não forem como planejado, um instantâneo permite que você volte para um estado anterior em que tudo no sistema funcionou. Este é um recurso interno do sistema de arquivos BTRFS. Você não precisa de nenhuma ferramenta ou software de terceiros para gerar um instantâneo de um sistema de arquivos BTRFS.

  • Criptografia no nível do sistema de arquivos: O sistema de arquivos BTRFS não suporta criptografia no nível do sistema de arquivos.
  • O mesmo vale para o sistema de arquivos XFS.
  • Deduplicação no nível do sistema de arquivos: O sistema de arquivos BTRFS suporta desduplicação no nível do sistema de arquivos. Você não precisa de nenhuma ferramenta ou software de terceiros para usar esse recurso.
  • O sistema de arquivos XFS também possui suporte de desduplicação, mas o recurso de desduplicação do sistema de arquivos XFS ainda é experimental.

OBSERVAÇÃO: A depulicação é uma técnica para eliminar 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 o espaço do disco.

  • Suporte de vários dispositivos: O sistema de arquivos BTRFS suporta vários dispositivos e inclui suporte de invasão interno. O sistema de arquivos BTRFS possui um gerenciador de volume lógico interno (LVM) para adicionar vários dispositivos de armazenamento ou partições 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 XFS não suporta vários dispositivos, o que significa que você não pode abranger um único sistema de arquivos XFS em vários discos ou partições. Para combinar vários dispositivos e partições de armazenamento em um sistema de arquivos XFS, você deve usar gerentes de volume lógico de terceiros, como LVM 2. Para configurar o ataque, você deve usar ferramentas de terceiros, como DM-IRD ou mdadm.
  • O sistema de arquivos XFS foi projetado para executar operações de E/S (entrada/saída) em paralelo. Se você abrange o sistema de arquivos XFS em vários dispositivos usando o LVM 2 ou um gerenciador de volume lógico diferente, o desempenho do sistema de arquivos será aumentado.
  • Compressão no nível do sistema de arquivos: O sistema de arquivos XFS não inclui suporte de compactação no nível de arquivos internos do sistema de arquivos.
  • O sistema de arquivos BTRFS inclui suporte de compressão no nível do sistema de arquivos interno. Esse recurso permite que você compacte um único diretório, um único arquivo ou todo o sistema de arquivos para salvar o espaço do disco.
  • Offline FileSystem redimensione recursos: Você não pode crescer (aumentar o tamanho do sistema de arquivos) ou encolher (diminuir o tamanho do sistema de arquivos) um sistema de arquivos XFS enquanto o sistema de arquivos não é montado.
  • Você pode crescer (aumentar o tamanho do sistema de arquivos) ou encolher (diminuir o tamanho do sistema de arquivos) um sistema de arquivos BTRFS enquanto o sistema de arquivos não é montado.
  • Recursos de redimensionamento do sistema de arquivos on -line: Você pode crescer (aumentar o tamanho do sistema de arquivos) um sistema de arquivos XFS enquanto o sistema de arquivos é montado, mas você não pode encolher (diminuir o tamanho do sistema de arquivos) um sistema de arquivos XFS enquanto o sistema de arquivos é montado.
  • Você pode crescer (aumentar o tamanho do sistema de arquivos) ou encolher (diminuir o tamanho do sistema de arquivos) um sistema de arquivos BTRFS enquanto o sistema de arquivos é montado.
  • Arquivos esparsos: O recurso de arquivo esparso economiza espaço em disco quando pequenos arquivos (menores que o tamanho do bloco) são armazenados no sistema de arquivos. Os sistemas de arquivos XFS e BTRFS suportam arquivos esparsos.
  • Sub-alocação de bloco: O sistema de arquivos BTRFS suporta sub-alocação de bloco.
  • O sistema de arquivos XFS não 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, chamado de bloco traseiro, não ocupa todo o bloco. Quando muitos arquivos pequenos são armazenados, eles não ocupam todo o bloco, e muito espaço em disco é desperdiçado. A sub-alocação de bloco permite armazenar partes de outro bloco de arquivo no bloco traseiro (o último bloco de outro arquivo que não ocupou todo o bloco) para salvar o espaço do disco.

  • Embalagem de cauda: O sistema de arquivos BTRFS suporta embalagem de cauda.
  • O sistema de arquivos XFS não suporta embalagem de cauda.

OBSERVAÇÃO: A embalagem de cauda faz parte da sub-alocação de blocos. Como discutido anteriormente, os arquivos pequenos não ocupam um bloco de arquivo inteiro. Para armazenar com eficiência arquivos pequenos (e.g., 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 salva o espaço em disco nos sistemas de arquivos nos quais muitos arquivos pequenos (e.g., Códigos de origem do programa) são armazenados.

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

OBSERVAÇÃO: Uma extensão é uma área contígua do dispositivo de armazenamento 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.

  • Tamanho do bloco de arquivo variável: 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 XFS suporta tamanho de bloco fixo.
  • 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.
  • Alocar em fluxo: Os sistemas de arquivos XFS e BTRFS suportam alocação.

OBSERVAÇÃO: O sistema de arquivos aloca algum espaço de buffer na memória do sistema. 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.

  • Suporte de acabamento: Os sistemas de arquivos XFS e BTRFS suportam acabamentos, que é um recurso 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 se tornaria progressivamente mais lenta à medida que o SSD enche com novos dados.

Vantagens dos XFs sobre BTRFs

XFS é um sistema de arquivos de diário de 64 bits estável para dispositivos de armazenamento de alta capacidade.

Você pode usar o sistema de arquivos XFS pelos seguintes motivos:

  • Suporte de E/S paralelo (entrada/saída)

O sistema de arquivos XFS suporta E/S paralelo e pode fornecer vários fluxos de dados para arquivos devido ao seu design.

  • Grande suporte de partição

O sistema de arquivos XFS suporta tamanhos de partição de até 8 EIB (até 8 EIB - 1 byte).

  • Suporte de arquivo grande

O sistema de arquivos XFS suporta tamanhos de arquivo de até 8 EIB (até 8 EIB - 1 byte).

  • Apoio ao diário

O registro do diário garante a consistência dos dados no sistema de arquivos no caso de uma queda de energia ou falha no sistema. No caso de uma queda de energia ou falha no sistema, os dados armazenados no diário serão recuperados e aplicados ao sistema de arquivos.

  • E/S direto

Este é um recurso importante do sistema de arquivos XFS. É essencial para aplicações que requerem alta velocidade de leitura/gravação para dispositivos de armazenamento. A E/S direta permite dispositivos de armazenamento acesso direto ao buffer de dados usando DMA (acesso direto à memória) para que a largura de banda de E/S completa do dispositivo de armazenamento possa ser utilizada.

  • E/S de taxa garantida

O sistema de arquivos XFS pode reservar a largura de banda do dispositivo de armazenamento para determinados aplicativos. Este recurso é ideal para aplicações em tempo real (e.g., streaming de vídeo).

Desvantagens do sistema de arquivos XFS

Existem algumas desvantagens no sistema de arquivos XFS.

As desvantagens do sistema de arquivos XFS incluem o seguinte:

  • Sem suporte de LVM embutido

Comparado ao sistema de arquivos BTRFS, o sistema de arquivos XFS não possui um gerenciador de volume lógico interno. Então, você terá que usar LVM 2 Para gerenciamento de volume lógico.

  • Sem suporte de ataque interno

Comparado ao sistema de arquivos BTRFS, o sistema de arquivos XFS não possui suporte de invasão interno. Então, você terá que usar DM-IRD ou mdadm Para configurar RAID.

  • Sem suporte ao instantâneo

O sistema de arquivos XFS não possui um recurso de instantâneo do sistema de arquivos, ao contrário do sistema de arquivos BTRFS.

  • O diário não pode ser desativado

Como em alguns outros sistemas de arquivos de diário, você não pode desativar o recurso de diário do sistema de arquivos XFS. O diário não é bom para unidades flash USB. Se você usar o sistema de arquivos XFS em uma unidade flash USB, a vida útil do disco flash USB será reduzida devido à sobrecarga do diário.

Vantagens dos BTRFs sobre XFS

O sistema de arquivos BTRFS é um sistema de arquivos de cópia em escritos (vaca) moderno projetado para servidores de armazenamento de alta capacidade e de alto desempenho. O XFS também é um sistema de arquivos de diário de 64 bits de alto desempenho, que também é capaz de operações de E/S paralelas. O sistema de arquivos XFS contém muitos recursos importantes, incluindo E/S direta, E/S de taxa garantida e muito mais. Comparado ao sistema de arquivos XFS, no entanto, o sistema de arquivos BTRFS tem muitas vantagens.

As vantagens do sistema de arquivos BTRFS sobre o sistema de arquivos XFS incluem o seguinte:

i) Instantâneos de nível de arquivos embutidos.

ii) Suporte ao dispositivo múltiplo.

iii) Suporte de RAID embutido.

iv) Alocação de inode flexível.

v) otimizações para armazenar arquivos menores (arquivos esparsos, sublocação de bloco, embalagem de cauda, ​​tamanho de bloco variável).

vi) Suporte de compressão no nível do sistema de arquivos interno.

Estes são os recursos do sistema de arquivos que podem fazer com que você escolha o sistema de arquivos BTRFS em vez do sistema de arquivos XFS.

Conclusão

Este artigo comparou os sistemas de arquivos BTRFS e XFS, incluindo uma comparação dos recursos mais importantes de cada sistema de arquivos. Este artigo deve ajudá -lo a decidir entre os sistemas de arquivos BTRFS e XFS. Escolha o sistema que funcione melhor para você, de acordo com suas necessidades e preferências exclusivas.

Referências:

  1. XFS - Wikipedia - https: // pt.Wikipedia.org/wiki/xfs
  2. Comparação de sistemas de arquivos - Wikipedia - https: // pt.Wikipedia.org/wiki/comparação_of_file_systems
  3. XFS - Archwiki - https: // wiki.Archlinux.org/índice.php/xfs