Opções para acessar e fazer backup de milhões de arquivos rapidamente
Empréstimo de pessoas com problemas semelhantes
Isso parece um problema mais fácil que os servidores de notícias da USENET enfrentam e os proxies da Web em cache: centenas de milhões de arquivos pequenos que são acessados aleatoriamente. Você pode querer dar uma dica deles (exceto que eles geralmente não precisam fazer backups).
http://devel.squid-cache.org/coss/coss-notes.txt
http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=4074B50D266E72C69D6D35FEDCBBA83D?doi=10.1.1.31.4000&rep=rep1&type=pdf
Obviamente, a natureza cíclica do sistema de arquivos cíclicos de notícias é irrelevante para você, mas o conceito de nível mais baixo de ter vários arquivos / dispositivos de disco com imagens compactadas e um índice rápido das informações que o usuário fornece para procurar as informações de localização são muito apropriados.
Sistemas de arquivos dedicados
Obviamente, esses são conceitos semelhantes aos do que as pessoas estavam falando ao criar um sistema de arquivos em um arquivo e montá-lo em loopback, exceto que você pode escrever seu próprio código de sistema de arquivos. Obviamente, desde que você disse que seu sistema era principalmente de leitura, você poderia realmente dedicar uma partição de disco (ou partição lvm para flexibilidade no dimensionamento) a esse único objetivo. Quando você desejar fazer backup, monte o sistema de arquivos somente leitura e faça uma cópia dos bits da partição.
LVM
Mencionei o LVM acima como útil para permitir o dimensionamento dinâmico de uma partição, para que você não precise fazer backup de muito espaço vazio. Mas, é claro, o LVM tem outros recursos que podem ser muito aplicáveis. Especificamente, a funcionalidade "instantâneo", que permite congelar um sistema de arquivos em um momento no tempo. Qualquer acidente rm -rf
ou qualquer coisa que não perturbe o instantâneo. Dependendo exatamente do que você está tentando fazer, isso pode ser suficiente para as necessidades de seus backups.
RAID-1
Tenho certeza de que você já conhece o RAID e provavelmente já o usa para obter confiabilidade, mas o RAID-1 também pode ser usado para backups, pelo menos se você estiver usando o RAID de software (você pode usá-lo com o RAID de hardware, mas na verdade oferece menor confiabilidade, pois pode exigir a leitura do mesmo modelo / controlador de revisão). O conceito é que você crie um grupo RAID-1 com mais um disco do que o necessário para atender às suas necessidades normais de confiabilidade (por exemplo, um terceiro disco, se você usar o software RAID-1 com dois discos, ou talvez um disco grande e um hardware - RAID5 com discos menores com um software RAID-1 na parte superior do hardware RAID-5). Quando chegar a hora de fazer um backup, instale um disco, peça ao mdadm para adicionar esse disco ao grupo de incursões, aguarde até que ele indique se está completo, peça opcionalmente uma verificação de verificação e remova o disco. Claro,