the read speed should be 250Mb/s (31.25MB/s)
Em primeiro lugar, é muito improvável que você alcance esse nível de desempenho com 4 HDDs de 7200 rpm com um padrão de acesso de leitura aleatório. Mesmo que seus discos possam ler tamanhos maiores de 16 a 64 KB, o máximo de operações de E / S por segundo para um disco de 7,2k é de aproximadamente 100 para acesso não seqüencial. Na minha experiência, você pode estar olhando para ~ 10-20 MB / s no final, se você fez tudo certo.
Should we combine the HDD's to one big directory?
Você se beneficiará claramente da distribuição oferecida por md
, dmraid
ou controladores RAID de hardware para RAID0. Note que neste modo de operação você irá perder todos os dados uma vez que até mesmo um único disco falhe.
Se você ler e escrever solicitações paralelamente (mesmo se a porcentagem de gravações for muito baixa em comparação com as leituras), você se beneficiará da funcionalidade write-back do controlador RAID. Considere comprar um controlador com uma BBU para obter melhor consistência operacional (os controladores sem uma BBU perderão o conteúdo de seu cache em caso de falta de energia e poderão destruir seu sistema de arquivos).
Should the files all be placed in the same directory? (we're talking about 25,000,000 files or so)
Certamente não. Muitos sistemas de arquivos têm um desempenho ruim com um grande número de arquivos (> 50.000) em um único diretório. Evite esta condição por razões de portabilidade. Se você realmente precisar, dê uma olhada nos sistemas de arquivos que são conhecidos por tenha bom desempenho nestas condições .
What Filesystem should we use?
Depende. Teste sua carga com o grupo moderno e veja se você tem ineficiências. Você também pode encontrar tuneables e tweeks para reduzir o número de buscas em disco por acesso de arquivo para cada um deles (como montagem com noatime
).
No final, você pode querer dobrar o número de discos a serem usados para aumentar o desempenho e introduzir redundância em uma configuração RAID10.