Armazene e faça backup de 200 milhões de arquivos pequenos

2

Meu disco é 10x1TB SAS 7200 RPM em um RAID 10 com um controlador de hardware MegaRaid 9260 com cache / BBU. Isso resulta em um volume RAID 10 de 4,6 TB. hdparm -t (quando o dispositivo está vazio) resulta em 500MB / s.

O tamanho do bloco de RAID é de 64 KB, o tamanho do bloco do sistema de arquivos é de 2 KB (vou mudar para o tamanho mínimo do bloco e o tamanho do bloco de 4KB).

O padrão de diretório é /data/x/yz/zyxabc.gz

Estou usando o EXT4 com planos para migrar para o XFS. O sistema operacional é o RHEL 6.

A partir de agora, funciona muito bem. A carga de trabalho é de 99% de leitura e pode ler até 300 arquivos / segundo em condições normais. O problema é backups. Leva 6 dias para fazer backup com o scp. O rsync é ainda mais lento. DD vai a cerca de 2MB / s. As capturas instantâneas LVM podem ser uma opção se eu tirar a foto, fazer o backup e excluí-la. A consistência dos dados é muito importante para mim.

Os arquivos têm cerca de 0,5 a 4 KB cada. Eu veria um aumento no desempenho de backup se eu armazenasse todos os arquivos em um banco de dados? Que outras alternativas existem para eu resolver o problema de fazer backup de muitos arquivos pequenos em uma janela razoável?

    
por cedivad 09.11.2011 / 13:25

4 respostas

2

i plan to move to XFS

É melhor você encomendar antecipadamente toneladas de Prozac nesse caso. :-) XFS suga muito nesse padrão (muitos arquivos minúsculos), infelizmente.

Se você está considerando mudar FS Reiser3 é a única opção vale a pena tentar nesse caso, IMO. Com notail , você recebe menos sobrecarga de CPU, sem notail - menos sobrecarga de espaço em disco.

O bloco RAID de 64 K também está além da sanidade - por que as filas de E / S de overflow com padrões tão minúsculos? Aumente em vez de diminuir! Com muita E / S simultânea, não vai doer.

Agora, quando se trata de fazer backup, é possível mencionar o COW FS. Como Btrfs ou Nilfs. Os instantâneos do LVM-2 possivelmente também estão ok, então você pode tentar combiná-lo com a migração para o Reiser3. Mas eu acho que o COW FS tem mais chances de dar o que você precisa.

    
por 09.11.2011 / 13:58
3

Você já considerou soluções como AMANDA ou Bacula ?

    
por 09.11.2011 / 13:41
1

Use uma solução de backup que suporte backups incrementais, como os já mencionados, ou talvez você possa usar um script que percorra a árvore e copie apenas arquivos com um determinado tempo de modificação?

Não sei o que você quer dizer com "Preciso de consistência". Você quer dizer que todos os arquivos precisam de backup no mesmo ponto no tempo (ou seja, instantâneo)? Nesse caso, não tenho certeza se algum tipo de tar, copy, rsync ou similar funcionará - você terá que usar algo que possa criar instantâneos de sistema de arquivos ou pausar qualquer processo que esteja criando esses arquivos. / p>     

por 09.11.2011 / 13:58
0

"DD goes at about 2MB/s"

Estou confuso, não faz uma leitura seqüencial (ou tentativa) do dispositivo? Está competindo com o uso online desses arquivos? Se for esse o caso, acho que mais discos / discos mais rápidos estão em ordem. 1 TB SAS ainda é 7.200 RPM, se não me engano, você pode pegar 600GB 15K SAS, que vai cortar suas buscas drasticamente.

Você está despejando em um RAMDisk? De modo que o seu local de destino não possa ser o gargalo do teste de DD (e você não está despejando de volta no disco local, causando novamente altas pesquisas).

Se 2 MB / s o melhor que você conseguir obter do padrão de leitura mais rápido possível, precisará de discos mais rápidos.

No entanto, o dd não oferece um instantâneo consistente sem combiná-lo com outra coisa.

    
por 09.11.2011 / 16:00