it-swarm-pt.tech

ZFS vs XFS

Estamos pensando em construir um servidor de armazenamento de ~ 16 TB. No momento, estamos considerando o ZFS e o XFS como sistema de arquivos. Quais são as vantagens, desvantagens? O que precisamos procurar? Existe uma terceira opção melhor?

64
Tamas Czinege

Eu achei o XFS mais adequado para sistemas de arquivos extremamente grandes, com possivelmente muitos arquivos grandes. Eu tenho um sistema de arquivos XFS de 3,6 TB funcionando há mais de 2 anos sem problemas. Definitivamente funciona melhor que o ext3, etc. nesse tamanho (especialmente quando se lida com muitos arquivos grandes e muita E/S).

O que você obtém com o ZFS é pool de dispositivos, striping e outros recursos avançados incorporados no próprio sistema de arquivos. Não posso falar com detalhes (deixarei que outros comentem), mas pelo que sei, você gostaria de usar o Solaris para obter o máximo benefício aqui. Também não está claro para mim o quanto o ZFS ajuda se você já estiver usando RAID de hardware (como eu).

45
Mark Renouf

O ZFS oferece vantagens além do RAID de software. A estrutura de comando é muito cuidadosa e intuitiva. Também possui dispositivos de compactação, snapshots, clonagem, envio/recebimento de sistema de arquivos e cache (aquelas novas unidades SSD sofisticadas) para acelerar a indexação de metadados.

Compressão:

#zfs set compression=on filesystem/home

Ele suporta instantâneos de cópia na gravação que podem ser montados ao vivo:

# zfs snapshot filesystem/home/[email protected]
# cd filesystem/home/user/.zfs/snapshot/tuesday

Clonagem do sistema de arquivos:

# zfs clone filesystem/home/[email protected] filesystem/home/user2

Sistema de arquivos enviar/receber:

# zfs send filesystem/home/[email protected] | ssh otherserver "zfs receive -v filesystem/home/user"

Envio/recebimento incremental:

# zfs send -i filesystem/home/[email protected] | ssh otherserver "zfs receive -v filesystem/home/user"

Dispositivos de armazenamento em cache:

# zpool add filesystem cache ssddev

Tudo isso é apenas a ponta do iceberg, eu recomendo colocar as mãos em uma instalação do Open Solaris e tentar isso.

http://www.opensolaris.org/os/TryOpenSolaris/

Editar : isso é muito antigo, o Open Solaris foi descontinuado, a melhor maneira de usar o ZFS é provavelmente em Linux ou FreeBSD .


Divulgação completa: eu costumava ser um arquiteto de armazenamento da Sun, mas não trabalhava para eles há mais de um ano, apenas estou empolgado com este produto.

75
Chris

o uso de snapshots e xfs do lvm em sistemas de arquivos ativos é uma receita para desastres , especialmente ao usar sistemas de arquivos muito grandes.

Eu estive rodando exclusivamente no LVM2 e xfs nos últimos 6 anos nos meus servidores (em casa, mesmo que o zfs-Fuse seja muito lento) ...

No entanto, não posso mais contar os diferentes modos de falha que encontrei ao usar os instantâneos. Eu parei de usá-los completamente - é muito perigoso.

A única exceção que vou fazer agora é meu backup pessoal de servidor de correio/servidor da web, onde faço backups noturnos usando um instantâneo efêmero, sempre igual ao tamanho da fonte fs e é excluído logo depois.

Aspectos mais importantes a serem lembrados:

  1. se você tem um sistema de arquivos grande (ish) que possui um instantâneo, o desempenho de gravação é terrivelmente degradado
  2. se você tiver um sistema de arquivos grande (ish) que possui uma captura instantânea, o tempo de inicialização será atrasado em literalmente dezenas de minutos, enquanto o disco estiver agitando e agitando durante a importação do grupo de volumes. Nenhuma mensagem será exibida. Esse efeito é especialmente horrível se o root estiver no lvm2 (porque a espera pelo dispositivo raiz expirará e o sistema não inicializar)
  3. se você tiver um instantâneo, é muito fácil ficar sem espaço. Depois de ficar sem espaço, o instantâneo fica corrompido e não pode ser reparado.
  4. Os instantâneos não podem ser revertidos/mesclados no momento (consulte http://kerneltrap.org/Linux/LVM_Snapshot_Merging ). Isso significa que a única maneira de restaurar dados de um instantâneo é realmente copiá-los (rsync?). PERIGO PERIGO: você não deseja fazer isso se a capacidade da captura instantânea não for pelo menos o tamanho da fonte fs; Se não o fizer, em breve atingirá a parede de tijolos e acabará com a fonte fs e o instantâneo corrompidos. (Eu estive lá!)
18
sehe

Algumas coisas adicionais em que pensar.

  • Se uma unidade morre em uma matriz RAID de hardware, independentemente do sistema de arquivos que está no topo, todos os blocos no dispositivo precisam ser reconstruídos. Mesmo os que não mantinham nenhum dado. O ZFS, por outro lado, é o gerenciador de volumes, o sistema de arquivos e gerencia a redundância e distribuição de dados. Portanto, ele pode reconstruir inteligentemente apenas os blocos que continham dados. Isso resulta em tempos de reconstrução mais rápidos, exceto quando o volume está 100% cheio.

  • O ZFS possui uma limpeza em segundo plano, que garante que seus dados permaneçam consistentes no disco e repare os problemas encontrados antes de resultar na perda de dados.

  • Os sistemas de arquivos ZFS estão sempre em um estado consistente, portanto não há necessidade de fsck.

  • O ZFS também oferece mais flexibilidade e recursos com seus snapshots e clones, em comparação com os snapshots oferecidos pelo LVM.

Tendo executado grandes pools de armazenamento para produção de vídeo de grande formato em uma pilha Linux, LVM, XFS. Minha experiência foi que é fácil cair no microgerenciamento de seu armazenamento. Isso pode resultar em grandes quantidades de espaço alocado não utilizado e tempo/problemas com o gerenciamento de seus volumes lógicos. Isso pode não ser um grande problema se você tiver um administrador de armazenamento em tempo integral, cujo trabalho é microgerenciar o armazenamento. Mas descobri que a abordagem de armazenamento em pool do ZFS remove esses problemas de gerenciamento.

14
3dinfluence

O ZFS é absolutamente incrível. Estou usando-o como meu servidor de arquivos doméstico para um servidor de arquivos HD 5 x 1 TB HD e também estou usando-o em produção com quase 32 TB de disco rígido É rápido, fácil de usar e contém algumas das melhores proteções contra corrupção de dados.

Estamos usando o OpenSolaris neste servidor, em particular porque queríamos ter acesso a novos recursos e porque fornecia o novo sistema de gerenciamento de pacotes e a maneira de atualizar.

8
X-Istence

Eu não acho que você deva se concentrar no desempenho. Seus dados estão seguros com XFS, ext4, etc? Não. Leia estas teses de doutorado e trabalhos de pesquisa:

O XFS não é seguro contra corrupção de dados: pages.cs.wisc.edu/~vshree/xfs.pdf

E nem o ext3, o JFS, o ReiserFS etc.: zdnet.com/blog/storage/how-Microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Encontrei a fascinante tese de doutorado de Vijayan Prabhakaran, IRON File Systems, que analisa como cinco sistemas de arquivos de registro em diário de mercadorias - NTFS, ext3, ReiserFS, JFS e XFS - lidam com problemas de armazenamento.

Em poucas palavras, ele descobriu que todos os sistemas de arquivos têm

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

Mas o ZFS protege seus dados com sucesso. Aqui está um artigo de pesquisa sobre isso: zdnet.com/blog/storage/zfs-data-integrity-tested/811

7
Miklo

Qual SO você planeja executar? Ou isso é outra parte da consideração? Se você estiver executando o Solaris, o XFS nem é uma opção, até onde eu sei. Se você não está executando o Solaris, como planeja usar o ZFS? O suporte é limitado em outras plataformas.

Se você está falando de um servidor Linux, eu continuaria com o Ext3 pessoalmente, apenas porque ele recebe a maior quantidade de testes. O zfs-Fuse ainda é muito jovem. Além disso, tive problemas com o XFS uma vez, quando um bug causou corrupção de dados após uma atualização do kernel. As vantagens do XFS sobre o Ext3 definitivamente não superam os custos envolvidos na restauração da máquina, localizada em um datacenter remoto.

7
Kjetil Limkjær

Não é uma resposta orientada para o FS, desculpe, mas saiba que vários controladores de disco não lidam com> 2 TB LUNS/discos lógicos - isso pode limitar a maneira como você organiza seu armazenamento. Eu só queria que você estivesse ciente para poder verificar seu sistema de ponta a ponta para garantir que ele lide com 16 TB por toda parte.

5
Chopper3

Depende dos recursos que você deseja ..., as duas opções razoáveis ​​são xfs e zfs, como você disse, o código xfs é muito bem testado Eu o usei pela primeira vez há 8 anos sob o IRIX

É possível obter instantâneos do xfs (usando lvm e xfs_freeze)

É possível ter um dispositivo de registro separado, por exemplo, SSD

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

xfs grandes tradicionalmente precisam de muita memória para verificar

O problema com zeros aparecendo era um recurso de "segurança", que eu acho que desapareceu há um tempo.

1
James

Além do que já foi mencionado, do ponto de vista do desempenho, o xfs no MD base raid tem melhor desempenho do que o zfs na mídia de streaming. Eu usei exatamente o mesmo hardware por meia década com xfs e quase a mesma quantidade de tempo com zfs no meu servidor de mídia. Na Intel Atom 330 com xfs eu nunca experimentei stuter, em zfs em cenas complexas o mesmo hardware não consegue acompanhar e começa a soltar quadros).

1
user718960

Bem pessoal, não vamos esquecer a mais recente adição ao zfs: deduplication. E vamos falar sobre o compartilhamento iscsi, nfs ou smb em tempo real. Como outros já disseram, exportações de sistemas de arquivos zfs, snapshots, soma de verificação de bloco raidz (= raid5), largura de faixa dinâmica, gerenciamento de cache e muitos outros. Eu voto no zfs.

0
PiL

Em vez de criar o seu próprio, uma alternativa é o Sun 7410, também conhecido como Toro. Possui algum software muito útil que vem com a solução.

0
Jauder Ho