Modificação simultânea durante o backup: rsync vs dump vs tar vs?

2

Eu tenho um servidor de log do Linux onde vários aplicativos gravam dados. Os dados são escritos em rajadas e em muitos arquivos diferentes. Eu preciso fazer um backup dessa bagunça, de preferência preservando tanta coerência entre as versões do arquivo quanto possível e evitando obter arquivos truncados. A quantidade total de dados no servidor é de cerca de 100 GB. O que eu realmente quero (mas não consigo) é desligar, fazer o backup do sistema e depois reiniciá-lo.

Que tipo de garantias contra modificações simultâneas as várias ferramentas de backup fornecem? Quando eles "congelam" as versões dos arquivos? Eu estou olhando rsync, despejo e tar no momento, mas estou aberto para outras alternativas (open source).

Alterar o aplicativo ou bloquear a gravação de backups infelizmente não é uma opção. O sistema não está executando o LVM (ainda), mas considerei isso para reconstruir o sistema e, em seguida, os instantâneos.

    
por pehrs 17.04.2010 / 12:44

3 respostas

1

Nenhuma das ferramentas que você está considerando fornece garantias contra modificação simultânea. No entanto, você realmente precisa de um instantâneo de ponto no tempo. Em caso afirmativo, use a opção de captura instantânea do LVM fornecida acima. Como você atribuiu o rsync como uma opção, presumo que o backup de disco para disco seja uma opção.

O menos seguro é o dump, que obtém uma cópia dos blocos do disco à medida que são lidos. Dado o tamanho de seus dados, é provável que haja diferenças significativas entre as informações do diretório e os dados. Para backup de disco em disco, você pode considerar dd em partições do mesmo tamanho como uma alternativa. Ambas as soluções fazem essencialmente a mesma coisa e têm os mesmos problemas.

Tar lerá os arquivos um por um e lerá ao final de cada um. Se um arquivo for renomeado ou excluído enquanto o tar estiver fazendo backup, o tar fará o backup do arquivo que ele começou a ler. É uma solução razoável para arquivos de log.

O rsync se comporta como o tar, mas apenas copia as alterações. Essencialmente, copiará todas as alterações nos diretórios. Com um esquema de rotação de log baseado em data (logfile. yyymmdd ) em vez do esquema de versão rotacionada comum (logfile.1 logfile.2gz ...). Pode eficientemente backup seus arquivos de log.

    
por 17.04.2010 / 16:57
1

não é algum tipo de rotação de log uma opção para você? basta fazer o backup de arquivos de log que já foram rotacionados - não será uma solução?

e sim - caso contrário, o snapshot no nível do LVM seria sua melhor escolha [lembre-se de que quando o snapshot está ativo, seu desempenho de gravação diminui].

    
por 17.04.2010 / 14:49
1

Se você estiver usando syslog, poderá configurar seu servidor de log para replicar os logs em tempo real para outro servidor (por exemplo, rsyslog) para backup em tempo real.

Em seguida, faça backup de todos os arquivos girados, conforme já sugerido para arquivamento de longo prazo.

logrotate também pode ser configurado para aplicativos personalizados e pode aplicar scripts bash em logs rotacionados. Portanto, você pode pular / var / log em ferramentas externas de backup e copiar os logs para um diretório de arquivo que seja mais estático.

    
por 17.04.2010 / 15:52