Sistemas de arquivos recomendados

2

Estou configurando um servidor da Web no Amazon EC2 nas últimas semanas (Ubuntu 8.04). Como quero que meu site seja balanceado em vários servidores web, em algum momento coloquei todos os meus dados em um volume do EBS. Com o tempo, posso anexar esse volume a um servidor de arquivos e compartilhá-lo entre todos os servidores da Web.

De qualquer forma, atualmente meu volume do EBS é EXT3. Eu simplesmente escolho este sistema de arquivos porque estou mais familiarizado com ele e não tive nenhum problema com ele no passado. Eu queria saber se existe outro sistema de arquivos que alguém poderia recomendar que funcionaria bem em um tipo de servidor configurado?

A integridade dos dados é, obviamente, de importância vital e estou disposto a entregar o desempenho em troca disso.

    
por Luke 10.06.2009 / 07:23

3 respostas

3

Ext3 é um sistema de arquivos muito bom para todos os fins, adequado para a grande maioria das coisas que você pode usar um servidor Linux. Tem apenas algumas peculiaridades de desempenho conhecidas, a principal delas é excluir dezenas de milhares de arquivos com pressa. Também não é recomendado para armazenar muitos arquivos muito grandes, como vídeo em movimento, como usado em um sistema DVR, ou muitos arquivos muito pequenos (dezenas de milhares) em um único diretório.

Alternativas que lidam melhor com esses extremos são XFS e JFS, mas se você não precisar de nenhum desses três cenários, o ext3 ficará bem. (ReiserFS também lida com o problema de muitos arquivos pequenos e excluir muitos arquivos ao mesmo tempo problema muito bem, mas não manipula muitos arquivos enormes tudo isso de forma robusta.)

E se você estiver fazendo atividades pesadas em disco onde a velocidade do sistema de arquivos vai importar, então o EC2 será um problema maior do que o sistema de arquivos.

    
por 10.06.2009 / 07:48
1

EXT3 é difícil de bater. Existem outros sistemas de arquivos de journaling legais, mas do ponto de vista da estabilidade, o melhor é ir testado e comprovado. Existem problemas de desempenho conhecidos com o armazenamento de muitos arquivos em um diretório (digamos, mais de 10.000), mas alguns desses problemas foram tratados nos kernels mais recentes e normalmente não serão um problema. E enquanto você está esperando pelo Ext4, tenha em mente que existem muitas, muitas ferramentas por aí que são compatíveis com Ext2, o que significa que elas podem pegar um sistema de arquivos Ext3 e executá-lo.

O XFS é rápido e manipula arquivos grandes muito bem, mas tem uma tendência a zerar setores em uma recuperação de diário. Embora isso possa ser perfeitamente aceitável na edição de fluxo de áudio e vídeo, pode causar pesares em outros ambientes. (Não me entenda mal, eu gosto muito do XFS, eu só acho que as pessoas precisam entender as implicações do sistema de arquivos que estão usando).

O Reiser3 (e o 4) são muito bons com arquivos pequenos. A desvantagem do Reiser é que se você tiver vários sistemas de arquivos Reiser no mesmo volume, e de alguma forma perder suas informações da tabela de partições, pelo amor de todas as coisas não tente reparar seu sistema de arquivos R3 - o fsck para o Reiser basicamente varre o disco procurando o que parece ser o início do sistema de arquivos e, em seguida, o recria a partir daí. Se acontecer de encontrar um sistema de arquivos diferente do que você pretendia, oh bem, ele apenas os une de qualquer maneira. Em outras palavras, pode ser facilmente confundido.

    
por 10.06.2009 / 07:50
1

O Ext3 é realmente muito lento com arquivos grandes e muitos arquivos no mesmo diretório. Eu não sei como isso aparece no EC2, mas os tempos de busca realmente me matam quando eu tenho arquivos grandes em um disco físico .

Isto é devido a não ter extensões. Uma busca no final de um arquivo de 100GB exigirá um monte de leitura de busca e busca que o mata em um disco físico.

Quase sempre executo o XFS. O JFS também é rápido, mas achei buggy. Já faz alguns anos desde que corri, então pode estar bem agora.

O XFS também possui desfragmentação online. Isso não significa que seja mais suscetível à fragmentação do que o ext3. Mas quando você obtém seus fs fragmentados, o melhor caminho no ext3 é uma restauração de backup para "desfragmentar". Há uma desfragmentação ext2 / ext3, mas ninguém a usa, então eu não contaria com isso. Você pode contar com a desfragmentação do XFS. Novamente, não sei se isso é importante para o EBS, pois ambos podem acabar sendo arquivos fragmentados em uma SAN em algum lugar, e uma desfragmentação custaria a você nas operações de dados.

Mas isso é tudo desempenho.

Nunca perdi dados com o XFS. E eu corri muito. Eu perdi dados com (e devido a) UFS (OpenBSD .. agh), JFS, ReiserFS e ext2 (o último sendo não-journaled). E eu corri o XFS mais e mais pesado que qualquer outro.

Mas eu realmente anseio pelo ZFS ou similar no Linux.

Palavra final: ext3 é bom estabilidade estabilidade. Se for bom para você, em termos de desempenho e recursos, fique com isso.

    
por 10.06.2009 / 09:28