Como fazer backup de milhões de arquivos pequenos?

6

Qual é a melhor maneira de fazer backup de milhões de arquivos pequenos em um período de tempo muito pequeno? Temos menos de 5 horas para fazer backup de um sistema de arquivos que contém cerca de 60 milhões de arquivos, em sua maioria arquivos pequenos.

Nós tentamos várias soluções, como richcopy, 7z, rsync e todas elas parecem ter dificuldades. Estamos procurando a maneira mais ideal ...

Estamos abertos para colocar o arquivo em um arquivo primeiro ou transferir o arquivo para outro local via rede ou transferência de disco rígido

obrigado

    
por grassbl8d 02.02.2011 / 12:24

7 respostas

6

Sugiro strongmente o uso de um sistema de armazenamento de arquivos que permita a captura instantânea do volume e do backup a partir do instantâneo. Dessa forma, há pouco impacto no servidor real e o sistema de backup pode demorar para fazer o backup sem preocupação com o sistema principal. Você não menciona um sistema operacional, mas algo como o ZFS ou um arquivador NetApp permitiria isso e ambos estão sendo usados para essa função exata em todo o lugar. Tenho certeza de que existem outros sistemas de arquivos que oferecem isso, mas sei que isso funciona.

Espero que isso ajude.

    
por 02.02.2011 / 12:29
2

Eu trabalhei com um servidor que armazenava cerca de 20 milhões de arquivos, sendo 95% menores que 4k e cerca de 50% excluídos a cada 90 dias. Eles usam imagem de disco bruta para backup. Eles também criam um arquivo de índice de nomes, md5 hash e data criados por meio de um script e os usam para rastrear o conteúdo.

A solução de backup original era carregar os arquivos como blobs em um banco de dados pela assinatura md5. Isso foi eliminado já que a criação de milhões de hashes md5 levou mais tempo do que apenas fazer um backup de imagem bruta.

    
por 02.02.2011 / 17:06
1

Você realmente precisa fazer backup de todos eles todas as vezes? Se você fizer backups incrementais / diferenciais, será necessário fazer o backup das alterações todas as vezes, em vez de em todos os arquivos envolvidos.

Conforme você olhou para rsync , você pode olhar para o rsnapshot , que cria uma espécie de backup incremental.

    
por 02.02.2011 / 12:31
0

Faça backup do volume inteiro (partição) como dispositivo "bruto".

    
por 02.02.2011 / 12:55
0

Os gargalos aqui serão o sistema de arquivos e o próprio disco rígido. Com muitos arquivos pequenos, o FS está constantemente lendo metadados sobre os arquivos que podem ser separados no arquivo, ou os arquivos que você está lendo podem não estar em um clump contíguo no disco. Em ambos os casos, o cabeçote da unidade precisa se mover muito .

Quanto mais rápido você colocar todos esses arquivos pequenos em arquivos maiores, mais rápido será o seu processo geral.

Infelizmente, se tudo o que você está fazendo é copiar esses arquivos uma vez, tê-los em um único arquivo grande como um arquivo só tornará o processo mais lento.

leia todos os arquivos > arquivo > local de backup

VS

leia todos os arquivos > local de backup

As maneiras ideais seriam copiar todos os arquivos uma vez para um local secundário e usar as datas e tamanhos modificados, ou o bit de arquivo, já que você está usando o Windows (e não o exame de conteúdo como hashes, que ainda envolveria lendo os arquivos) para determinar quais arquivos foram alterados, e copie apenas aqueles para o local secundário e faça o backup de lá. Ou usar um sistema que contorne o FS, como uma cópia RAW como o poige sugeriu.

    
por 03.02.2011 / 08:34
0

O Backup do Windows Server no Windows 2008 e versões posteriores faz imagens em nível de volume, de modo que não é possível vasculhar todos os milhões de fragmentos de metadados de arquivos. Ele apenas faz um instantâneo (ou Cópia de Sombra de Volume no jargão do MS), então faz o backup de todos os blocos usados no sistema de arquivos em ordem. As leituras são sequenciais, por isso é muito rápido e grava os resultados em um grande arquivo .vhd em outro volume ou compartilhamento de rede.

Existem algumas desvantagens: cada backup é um backup completo, não há compactação e você só pode armazenar uma "imagem" por pasta de destino, se estiver indo para um compartilhamento de rede. Você pode superar o último com scripts e o primeiro com outras ferramentas como 7-zip, rsync ou qualquer outra ferramenta de backup / compactação / desduplicação que possa manipular arquivos brutos.

Você provavelmente acabará usando a linha de comando wbadmin interface para isso; ignorar a GUI, é simplista demais para a maioria dos casos de uso.

    
por 24.06.2011 / 00:51
0

Isso é o que fizemos:

Compramos um NAS com o servidor de armazenamento do Windows 2008 R2 nele. Criado um alvo ISCSI que, na verdade, é um arquivo grande (.vhd) Montou o alvo ISCSI e moveu todos os arquivos para o disco virtual.

Agora fazemos o backup do vhd com nosso software de backup. Fazer backup de um arquivo grande é muito mais rápido que muitos arquivos pequenos.

Você pode instalar o software de backup também no NAS e anexar seu tapedrive a isso. Dessa forma, você não precisa usar armazenamento duplo (espelhar os dados e fazer backup dos dados espelhados para ganhar tempo)

    
por 26.11.2014 / 10:01