Sistema de arquivos Linux para um servidor de arquivos grande

8

Eu gostaria de saber, de pessoas mais experientes, qual seria a melhor escolha de sistema de arquivos para usar em um servidor de arquivos com mais de 20TB de discos rígidos. Pessoalmente eu sempre usei EXT3 (no passado) e EXT4 (desde que disponível) [e uma vez que ReiserFS 3 causou muitos dados corrompidos] em meus computadores pessoais e nos discos BOOT e ROOT de "pequenos servidores".

No entanto, como as ferramentas EXT4 (embora não a própria EXT4) estão limitadas a partições de 16 TB, esta pode não ser a minha melhor aposta. A distribuição será Debian 6.0 (Squeeze) e / ou Gentoo (versão mais recente), então o kernel deve ser bem recente (no Debian, pelo menos com backports), significando kernel linux > = 2.6.32.

O servidor de arquivos será usado para três finalidades (e partições separadas também, porque o objetivo é manter os dados "seguros" e não importa muito a sobrecarga). Todos os discos devem ser criptografados usando LUKS :

  1. Mídia, downloads e repositório Debian local [Eu tenho pelo menos 6 máquinas rodando Debian] > 20TB (talvez mais separação entre Mídia, Downloads e repositório Debian)
  2. Dados (Documentos, Fotos, ...) ~ 4TB SAFE (que significa raid1 ou raid6 + disco de backup)
  3. Backups > = 20 TB para backups de outros computadores na minha gigabit lan (você pode sugerir um software que faça backup de todo o sistema operacional mesmo que seja o Windows, o BackupPC diz que faz isso, quaisquer alternativas?)

Velocidades rápidas não são realmente necessárias (acessos simultâneos: máximo de 2 ou 3 arquivos grandes, digamos vídeos), mesmo que sejam "apenas" 200MB / s de leitura de 10 Raid6 de HDD eu posso viver com isso.

Em resumo, procuro por um sistema de arquivos confiável, escalável (ou seja, facilmente expansível) que suporte mais de 20 TB / partição. Quanto mais seguro e confiável for o FS, melhor. O hardware empregado será pelo menos um quad core (AMD x4 630 ou Intel i5-2500k) e muita RAM (> 8GB, talvez > 16GB) para que os requisitos de hardware sejam atendidos.

Meus PCs / servidores serão conectados a um no-break (fonte de alimentação ininterrupta) em caso de falta de energia Pode também fazer mídia e backups em máquinas separadas (por exemplo, dois servidores).

    
por user51166 25.12.2011 / 14:35

5 respostas

3

Muitas pessoas estão sugerindo o ZFS. Mas o ZFS não está disponível nativamente no Linux, exceto por meio do fusível. Eu não recomendaria isso para sua situação em que o desempenho provavelmente seja importante.

Infelizmente, o ZFS nunca estará disponível como um módulo nativo do kernel, a menos que os problemas de licenciamento sejam resolvidos de alguma forma.

O XFS é bom, mas algumas pessoas relataram problemas de corrupção e não posso comentá-lo. Eu joguei com pequenas partições XFS e não tive esses problemas, mas não em produção.

O ZFS tem muitas vantagens & recursos úteis que não podem ser ignorados. Em resumo, eles são (veja Wiki do ZFS para uma descrição completa do que eles significam):

  • Integridade de dados
  • Conjuntos de armazenamento
  • L2ARC
  • Alta capacidade
  • Copiar na gravação
  • Instantâneos e amp; clones
  • Distribuição dinâmica
  • Tamanhos de bloco variável
  • Criação leve do sistema de arquivos
  • Gerenciamento de cache
  • Endianidade adaptativa
  • Deduplicação
  • Criptografia

Então, como podemos contornar isso? Minha alternativa sugerida, que pode se adequar à sua situação, é considerar nexenta . Este é um kernel do Open Solaris com ferramentas de usuário do GNU sendo executadas na parte superior. Ter um kernel Open Solaris significa ter o ZFS disponível nativamente.

    
por 27.12.2011 / 23:36
4

Você deve tentar XFS, se encaixar bem em seus requisitos:

XFS is a 64-bit file system. It supports a maximum file system size of 8 exbibytes minus one byte, though this is subject to block limits imposed by the host operating system. On 32-bit Linux systems, this limits the file and file system sizes to 16 tebibytes.

    
por 25.12.2011 / 21:31
4

Sua opção mais fácil é usar o XFS. Muitas das más experiências em torno do XFS são baseadas em versões antigas e problemas de hardware de desktop que eu não acho que sejam realmente relevantes para novas implantações em hardware de servidor de qualidade padrão. Escrevi uma postagem no blog sobre esse assunto que pode ajudá-lo a resolver a situação atual. Existem várias instalações ocupadas de banco de dados XFS com centenas de usuários e terabytes de dados que eu ajudo a gerenciar. Eles estão todos no kernel do Debian Lenny (2.6.26) ou posterior e eu não tenho ouvido nenhuma pista sobre eles há anos. Eu não usaria o XFS com nenhum kernel anterior a isso. Eu ouvi alguns relatos diretos de pessoas vendo comportamento estranho do XFS ainda quando o sistema fica sem memória ou espaço em disco; Eu ainda não vi isso mesmo.

A única outra opção razoável é usar ext4 com algum hacking para suportar sistemas de arquivos maiores. Eu não esperaria que tivesse um nível de confiabilidade muito diferente. Eu tive que recuperar dados de vários sistemas ext4 quebrados que funcionavam em bugs do kernel, até agora todos os arquivos fixos no upstream, mas não no kernel do distribuidor naquele momento. O ext4 tem seu próprio conjunto de problemas de metadados, como perda de dados de alocação atrasada , coisas que eram menos prováveis de acontecer no ext3. Eu estimaria que as probabilidades de você acertar um bug ext4 seriam ainda maiores do que o normal se você for forçar o limite de tamanho normal, simplesmente porque parece mais provável que você esteja atingindo um caminho de código novo menos bem testado em algum momento .

A ideia alternativa é simplesmente usar o ext3 mais seguro e chato, aceitar o limite de 16 TB e particionar melhor as coisas, para que nenhum sistema de arquivos único tenha que ser tão grande.

Um final solto relacionado a questões de periódicos. Você não falou sobre como todas essas unidades serão conectadas. Certifique-se de entender a implicação de qualquer cache de gravação que esteja em sua cadeia de armazenamento aqui. Desabilite ou verifique se o sistema de arquivos está esvaziando o cache. Eu escondi alguns recursos sobre isso em Gravações Confiáveis se isso não for algo que você está verificando ainda.

Drives sugam. Matrizes de RAID são ruins. Sistemas de arquivos são uma droga. Múltiplas falhas acontecem. Fico feliz em ver que você já está pensando em backups; ir de boa para grande confiabilidade no armazenamento requer mais do que apenas RAID e algumas unidades sobressalentes. A redundância custa algo em todos os níveis, e o dinheiro para hardware versus complexidade de software é difícil de navegar. E observe suas expectativas de desempenho. Embora uma matriz RAID como a que você está considerando faça facilmente centenas de MB / s, bastam dois leitores simultâneos que buscam o disco constantemente para soltar isso em apenas alguns MB / s. Eu posso facilmente esmagar um array RAID10 de 24 discos de tal forma que ele só ofereça < 5MB / s contra uma carga de trabalho de referência . Uma coisa que ajuda é certificar-se de ajustar a leitura para cima se vários leitores de streaming forem possíveis.

    
por 27.12.2011 / 21:46
2

A implantação no ZFS usando o FreeBSD pode acontecer aqui usando gbde para criptografia. O próprio ZFS seria o provedor de RAID de software, por meio do RAIDZ . A complexidade do gerenciamento de armazenamento de zpools de construção não é significativamente diferente do que o Linux o ajudará com o mdadm e, em alguns casos, será realmente mais fácil. Minha primeira instalação do ZFS (no Solaris 10 há cerca de 3 anos) tinha um sistema de arquivos de 17 TB com mais de 48 unidades. Eu sobrevivi a vários fracassos sem problemas, aprendendo o gerenciamento do ZFS como eu fui.

A principal vantagem é que a soma de verificação do ZFS fornece uma melhor detecção de erros do que a do Linux, que é uma defesa contra problemas hardware vale a pena considerar. As desvantagens principais são em torno do FreeBSD ser menos popular. Você ainda não sabe como administrá-lo, o suporte de hardware é um pouco mais fraco que o Linux e, como é uma plataforma menos popular, não há tantas pessoas para pedir ajuda se você tiver problemas.

Um array de armazenamento de muitos terabytes realmente destaca o que o ZFS é bom. Vale a pena considerar seriamente se você está disposto a dar um mergulho em algo novo. Se você quiser explorar a verdadeira paranoia de backup, construa servidores de backup Linux e FreeBSD, para reduzir as chances de erros no SO como um ponto único de causa de falha.

    
por 27.12.2011 / 22:05
-1

De acordo com a página de comparação do sistema de arquivos da wikipedia , há muitos sistemas de arquivos notáveis que atendem às suas necessidades, como o JFS , XFS, UDF, ZFS, GPFS e Btrfs. Basta clicar no tamanho máximo do arquivo para classificar e selecionar o mais adequado

    
por 19.09.2013 / 09:36