ZFS vs XFS

54

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

    
por Tamas Czinege 30.04.2009 / 11:03

12 respostas

41

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

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

    
por 30.04.2009 / 13:49
73

O ZFS oferecerá vantagens além do RAID de software. A estrutura de comando é muito bem planejada e intuitiva. Ele também tem compactação, snapshots, clonagem, envio / recebimento de sistema de arquivos e dispositivos de cache (aqueles novos discos SSD) para acelerar a indexação de meta-dados.

Compressão:

#zfs set compression=on filesystem/home

Ele suporta simples para criar instantâneos de copy-on-write que podem ser montados ao vivo:

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

Clonagem do sistema de arquivos:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

Sistema de arquivos enviar / receber:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Envio / recebimento incremental:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Dispositivos de cache:

# zpool add filesystem cache ssddev

Isso tudo é apenas a ponta do iceberg, eu recomendo começar suas mãos em uma instalação do Open Solaris e tentar isso.

link

Editar : Isso é muito antigo, o Open Solaris foi descontinuado, a melhor maneira de usar o ZFS provavelmente está no Linux ou FreeBSD .

Divulgação completa: eu costumava ser arquiteto de armazenamento da Sun, mas não trabalhei para eles em mais de um ano, estou animado com esse produto.

    
por 05.05.2009 / 23:09
18

usar instantâneos lvm e xfs em sistemas de arquivos vivos é uma receita para o desastre especialmente ao usar sistemas de arquivos muito grandes.

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

No entanto, não consigo 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 próprio backup de servidor de email / servidor pessoal, onde realizarei backups durante a noite usando um instantâneo efêmero, que é sempre igual ao tamanho da fonte fs, e é deletado logo em seguida.

Aspectos mais importantes a ter em conta:

  1. se você tiver um sistema de arquivos grande (ish) que tenha um instantâneo, o desempenho de gravação é terrivelmente degradado
  2. se você tiver um sistema de arquivos grande (ish) que tenha um instantâneo, o tempo de inicialização será atrasado com literalmente dezenas de minutos enquanto o disco estará produzindo e agitando durante a importação do grupo de volumes. Nenhuma mensagem será exibida. Este efeito é especialmente horrível se o root estiver em lvm2 (porque esperar pelo dispositivo root será timeout e o sistema não inicializa)
  3. se você tiver um instantâneo, é muito fácil ficar sem espaço. Depois de ficar sem espaço, o instantâneo está corrompido e não pode ser reparado.
  4. Os instantâneos não podem ser revertidos / mesclados no momento (consulte link ). Isso significa que a única maneira de restaurar dados de um instantâneo é realmente copiar (rsync?). PERIGO PERIGO: você não quer fazer isto se a capacidade do instantâneo não for pelo menos do tamanho da fonte fs; Se você não fizer isso, você logo atingirá a parede de tijolos e acabará com a fonte fs e o instantâneo corrompidos. (Eu estive lá!)
por 09.10.2009 / 01:14
13

Algumas coisas adicionais para pensar.

  • Se uma unidade morre em uma matriz RAID de hardware, independentemente do sistema de arquivos que esteja sobre ela, todos os blocos do dispositivo precisam ser reconstruídos. Mesmo aqueles que não guardaram nenhum dado. O ZFS, por outro lado, é o gerenciador de volume, o sistema de arquivos, e gerencia a redundância e a distribuição de dados. Por isso, pode reconstruir de forma inteligente 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 depuração em segundo plano, que garante que seus dados permaneçam consistentes no disco e reparem qualquer problema encontrado antes de resultar em 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 instantâneos e clones em comparação com os instantâneos oferecidos pelo LVM.

Ter executado grandes pools de armazenamento para produção de vídeo de grande formato em uma pilha Linux, LVM, XFS. Minha experiência tem sido que é fácil cair no micro-gerenciamento do seu armazenamento. Isso pode resultar em grandes quantidades de espaço alocado e tempo / problemas não utilizados 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 é gerenciar o armazenamento em micro-gerenciamento. Mas descobri que a abordagem de armazenamento de pool do ZFS remove esses problemas de gerenciamento.

    
por 14.07.2009 / 20:21
8

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

Estamos usando o OpenSolaris neste servidor, em particular, porque queríamos ter acesso a recursos mais novos e porque ele fornecia o novo sistema de gerenciamento de pacotes e o modo de atualização.

    
por 06.05.2009 / 02:07
7

Qual sistema operacional você está planejando executar? Ou essa é outra parte da consideração? Se você estiver executando o Solaris, o XFS não é nem uma opção, tanto quanto eu sei. Se você não está executando o Solaris, como está planejando usar o ZFS? O suporte é limitado em outras plataformas.

Se você está falando sobre um servidor Linux, eu ficaria com o Ext3 pessoalmente, mesmo porque ele receba a maior quantidade de testes. O zfs-fusível ainda é muito novo. 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, que estava localizada em um datacenter remoto.

    
por 30.04.2009 / 13:45
6

Eu não acho que você deveria 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 é ext3, JFS, ReiserFS, etc: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Eu me deparei com a fascinante tese de doutorado de Vijayan Prabhakaran, IRON File Systems, que analisa como cinco sistemas de arquivos de registro diário - NTFS, ext3, ReiserFS, JFS e XFS - lidam com problemas de armazenamento.

Resumindo, 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 com sucesso seus dados. Aqui está um artigo de pesquisa sobre isso: zdnet.com/blog/storage/zfs-data-integrity-tested/811

    
por 16.05.2010 / 14:34
5

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

    
por 16.06.2009 / 14:52
1

Depende dos recursos que você quer ..., as duas escolhas razoáveis são xfs e zfs, como você disse, o código xfs é muito bem testado. Eu o usei pela primeira vez 8 anos atrás 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

Grandes xfs 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á algum tempo.

    
por 14.07.2009 / 18:48
1

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

    
por 10.12.2014 / 21:37
0

Em vez de construir o seu próprio, uma alternativa é o Sun 7410 aka Toro. Tem algum software muito útil que vem junto com a solução.

    
por 01.05.2009 / 08:03
0

Bem pessoal, não podemos esquecer a mais recente adição ao zfs: deduplicação. E vamos falar on the fly iscsi, nfs ou smb compartilhando. Como outros já disseram, as exportações de sistemas de arquivos zfs, snapshots, raidz (= raid5) bloqueiam checksum, largura de distribuição dinâmica, gerenciamento de cache e muitos outros. Eu voto para zfs.

    
por 16.05.2010 / 15:18