Por uma questão de clareza, quando dizemos zfs, queremos dizer openzfs e não A versão comercial suportada pela Oracle Inc.
Os dois sistemas de arquivos são imensamente maduros e têm uma boa comunidade construída em torno deles. Estaremos focados nos principais fatores que determinariam você a escolher o sistema de arquivos mais adequado para você. Não será sobre um ciclo interminável de prós e contras com uma conclusão diplomática. Não! Vamos chegar ao fundo disso.
Plataformas comunitárias e suportadas
O XFS é amplamente suportado no Linux junto com o IRIX. Leia o suporte experimental de gravação no FreeBSD também está disponível. OpenZFs, por outro lado, tem uma base de usuários extremamente ampla. Comunidade FreeBSD se esforça para acompanhar a filial a montante OpenZFS. Empresas inteiras como Delphix, IXSystems e muitas outras usam o OpenZFs ou recomendam especificamente porque querem que a plataforma mais confiável armazene e gerencie os dados de seus e seus clientes.
Junto com esse OpenZFS, também é suportado no Linux, o OS X (isso mesmo, você pode tê -lo executando nativamente no seu MacBook! ) e agora eles estão trabalhando para trazê -lo no Windows, embora a ideia ainda esteja em sua infância. Mais sistemas operacionais esotéricos, como Illumos e Smarts, também suportam totalmente o OpenZFs.
A licença usada pelo OpenZFS é a licença CDDL que, como se vê, foi incompatível com a licença GPL do Linux, e é por isso que você precisa instalar o OpenZFs como um módulo binário separado e um kernel carregado em vez de enviá -la com o distro. Isso adiciona uma etapa extra em termos de instalação e atualização do software.
XFS, por outro lado, vem enviado com a maioria dos distritos Linux e Redhat Inc. na verdade recomenda seus usuários para usar o sistema de arquivos e oferece suporte comercial para ele.
Arquitetura
Enquanto o ZFS foi projetado para ser confiável, o principal ponto de venda do XFS é seu suporte para E/S paralela rápida. O OpenZFS foi projetado como um sistema de arquivos de cópia sobre gravação, o que significa que, mesmo quando os dados estão sendo modificados, é feito escrevendo um novo bloco de dados primeiro e depois se livrando do bloco de dados antigo. Isso garante a integridade dos dados diante de falhas de energia ou pânico do kernel. O ZFS também suporta somas de verificação, o que significa corrupções silenciosas de dados quando seus discos começam a falhar são relatados, se não for corrigida automaticamente (o que aconteceria se você tivesse Raidz ou espelhamento ativado).
Como mencionado anteriormente, o XFS oferece termos de E/S de maior desempenho. Sendo um sistema de arquivos de diário, ele ainda acompanha as alterações que devem ser feitas nos dados no disco. Isso oferece alguma segurança contra a energia e travamentos do sistema. Nenhuma segurança é oferecida contra 'podridão de bit' ou falhas de disco silencioso.
Para os leitores mais experientes em tecnologia, o OpenZFS é um sistema de arquivos de 128 bits, enquanto o XFS é um sistema de arquivos de 64 bits. Isso significa que enquanto este pode armazenar até 264 arquivos, com cada arquivo até 8 exbibytes em tamanho. O tamanho máximo de um volume também é 8 exbibytes (1 exbibyte é 260 bytes).
Este número é diminuído quando comparado aos 16 exbibytes do tamanho do arquivo máximo, 256 trilhões de yobibytes (1 yobibyte é 280 bytes) do tamanho máximo de volume oferecido pelo OpenZFS. Embora ambos os sistemas de arquivos ofereçam flexibilidade absurda nesse sentido, ambos têm uma falha devido à sua arquitetura. Ambos suportam apenas 255 nomes de arquivos longos de caracteres. OpenZFS, no momento da redação deste artigo, está trabalhando para aumentar ainda mais esse limite.
Um último ponto de diferença arquitetônica é esta - o XFS tem implementação de árvores B+ para pesquisar arquivos e alocar espaço. Isso torna a pesquisa e a busca dos dados muito mais rápidos. Openzfs não tem esse recurso.
Características
A arquitetura robusta é muito mais importante do que o conjunto de recursos. Infelizmente, os recursos são muito mais visíveis para o usuário do que a arquitetura. E mesmo aqui, o Openzfs vence por uma margem enorme. Ele tem sua própria implementação de RAID (Raidz e espelhamento) para que você possa ter redundância em um nível de software que seja muito superior a qualquer outro software ou solução de hardware. Além disso, suporta uma ampla gama de algoritmos de compressão embutidos como LZ4 e GZIP para que você possa armazenar seus arquivos compactados. Você pode ter instantâneos periódicos de seus dados sem uma tremenda penalidade no uso do espaço.
Você também pode ter desduplicação no OpenZFS e ZFS envia pode ser uma alternativa decente ao rsync. No entanto, para o XFS, a maioria desses recursos ainda está na prancheta esperando para ser implementada.
Usando o OpenZFs, você também pode ter suporte para o hardware de borda mais sangrando, como Intel Optane ou outros dispositivos NVME e usá -los como caches de leitura ou gravação. Ambos os sistemas de arquivos têm suporte decente para os SSDs, o que melhora o desempenho e a longevidade dos dispositivos de estado sólido.
Utilização e desempenho de recursos
A utilização de recursos é uma das principais preocupações que afastam as pessoas de usar o OpenZFS. A noção é que um sistema de arquivos tão avançado deve ter uma grande penalidade na memória e no uso da CPU. Esta não é a verdade completa, no entanto.
Se você estiver usando o ZFS com todos os valores padrão definidos, ele usará mais recursos que o XFS e terá um desempenho um pouco pior em termos de E/S, mas, com hardware moderno e CPUs mais rápidos, essa diferença é insignificante. Os recursos de hackging de recursos, como a desduplicação de dados.
O XFS é otimizado para arquivos enormes e para E/S paralela torna a escolha mais fácil para casos de uso, como a divisão de supercomputação avançada da NASA. Onde, o ZFS precisa de ajuste para se ajustar ao caso de uso. Se você estiver executando um banco de dados, defina o tamanho do registro do seu banco de dados como um múltiplo do seu tamanho de bloco ZFS. Para fazer isso certo, requer tempo para testar e benchmarking. Onde, se você estiver servindo arquivos grandes, o Blocksize pode ser maximizado para melhorar o desempenho.
Para encurtar uma longa história, o OpenZFS é a solução mais à prova de futuro e robusta para seus dados preciosos. Oferece confiabilidade junto com uma tonelada de recursos. Ele está sendo desenvolvido ativamente para atender aos novos padrões da indústria e tem um avanço que coloca sistemas de arquivos como XFs em uma enorme desvantagem.
O XFS merece consideração apenas para casos de uso muito específicos em que arquivos grandes estão envolvidos e seu aplicativo pode usar a E/S paralela e mesmo assim. OpenZFs, por outro lado, pode ser recomendado mesmo quando todos os casos de uso futuros não forem imediatamente aparentes. Com a garantia de que, se não corromper seus dados ou silenciosamente, devolve as informações erradas, o OpenZFS é a escolha óbvia para seus dados valiosos.