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?
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?
Respostas:
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 em funcionamento 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).
xfs_fsr
"desfragmentação".
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/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 armazenamento em cache:
# zpool add filesystem cache ssddev
Tudo isso é apenas a ponta do iceberg, eu recomendo que você instale uma instalação do Open Solaris e tente isso.
http://www.opensolaris.org/os/TryOpenSolaris/
Edit : Isso é muito antigo, o Open Solaris foi descontinuado, a melhor maneira de usar o ZFS é provavelmente no Linux ou no 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.
http://opensolaris.org/os/TryOpenSolaris/
o uso de snapshots e xfs do lvm em sistemas de arquivos ativos é uma receita para o desastre, especialmente ao usar sistemas de arquivos muito grandes.
Estou executando exclusivamente LVM2 e xfs nos últimos 6 anos em 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, que é sempre igual ao tamanho da fonte fs e é excluído logo depois.
Aspectos mais importantes a serem lembrados:
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 conserte 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, cuja tarefa é microgerenciar o armazenamento. Mas descobri que a abordagem de armazenamento em pool do ZFS remove esses problemas de gerenciamento.
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 em produção com quase 32 TB de espaço no 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.
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.
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 também não é o ext3, JFS, 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
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.
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
Tradicionalmente, xfs grandes precisam de muita memória para verificar
O problema com zeros aparecendo era um recurso de "segurança", que acho que desapareceu há um tempo.
Além do que já foi mencionado, do ponto de vista do desempenho, o xfs no MD base raid tem um desempenho melhor 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. No Intel Atom 330 com xfs eu nunca experimentei stuter, no zfs em cenas complexas o mesmo hardware não consegue acompanhar e começa a soltar quadros.
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 já foi dito, 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.