“tar cfz” versus “tar cf - | gzip ”: eles são diferentes? (ou como melhorar um backup)

2

Eu quero acelerar meu backup feito com tar cfz , a maneira comum de fazer isso. Mas, todos os dias, meus arquivos de backup crescem, então fica mais lento.

Eu estava pensando em aproveitar os vários núcleos disponíveis no meu servidor e fiquei me perguntando se há alguma diferença entre fazer o backup com tar cfz ou tar da tubulação para gzip: tar cf - | gzip

Eu acho que não há nenhuma diferença, porque o primeiro gera dois processos (tar e gzip), de uma maneira similar a piping.

Se não houver diferença, você conhece alguma alternativa boa para fazer isso, sem incrementar? Eu estou olhando pigz também e parece bem.

    
por Dario Castañé 12.03.2010 / 12:27

3 respostas

4

Quando você diz que quer tirar proveito de múltiplos núcleos, a implicação é que seu tar com gzip é limitado pela CPU e não é IO ligado, você tem certeza que este é o caso? Se você não tem certeza de que precisa executar sar, iostat, top ou verificar gráficos de monitoramento, etc., para descobrir. Nunca é uma boa idéia tentar resolver um problema sem compreendê-lo primeiro. Não estou dizendo que esse é o seu caso com certeza, mas meu palpite é que, mesmo que haja compactação com gzip, é mais provável que você seja vinculado a E / S.

Se for vinculado a E / S e você tiver várias matrizes, um processo separado para cada matriz poderá fazer sentido.

Eu também aconselho David a considerar incremental.

    
por 12.03.2010 / 13:24
1

É improvável que você melhore o desempenho bruto de tar e gzip brincando com isso; para aproveitar melhor o hardware, você poderia separar as pastas em partes diferentes e fazer vários arquivos simultaneamente.

Por que você não quer ir incremental? Eu recomendaria usar o rsnapshot mesmo se você estiver fazendo isso localmente, pois ele tem a capacidade de usar links físicos para economizar espaço em disco enquanto ainda mantém cópias exatas de várias vezes

    
por 12.03.2010 / 12:42
0

Se você é cpu bound (e não io bound!), você pode usar pigz . Ele espalhará o gzip por vários núcleos. Eu uso para meus backups. É uma queda no substituto para o gzip:

tar cf - | pigz
    
por 26.01.2011 / 20:23

Tags