Tipo de sistema de arquivos e opções de montagem ideais para uma unidade dedicada do rsnapshot

3

Temos uma unidade USB 2 externa que estamos usando como uma unidade de backup para nossa configuração. Nós usamos rsnapshot para os backups. Ele usa alguns comandos padrão para gerenciar snapshots:

  1. rm -rf : exclui instantâneos expirados
  2. mv : move instantâneos mais antigos em um slot
  3. cp -al : duplica o último instantâneo para o novo slot
  4. rsync -a --delete --numeric-ids --relative : sincroniza o novo instantâneo

Como você pode ver pelo log abaixo, a maior parte do tempo é gasta nas etapas rm -rf e cp -al :

[25/Dec/2010:14:00:02] rsnapshot hourly: started
[25/Dec/2010:14:00:02] echo 21012 > /var/run/rsnapshot.pid
[25/Dec/2010:14:00:02] rm -rf /mnt/extdrive/snapshots/hourly.5/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.4/ /mnt/extdrive/snapshots/hourly.5/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.3/ /mnt/extdrive/snapshots/hourly.4/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.2/ /mnt/extdrive/snapshots/hourly.3/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.1/ /mnt/extdrive/snapshots/hourly.2/
[25/Dec/2010:14:15:48] cp -al /mnt/extdrive/snapshots/hourly.0 /mnt/extdrive/snapshots/hourly.1
[25/Dec/2010:14:23:32] rsync -a --delete --numeric-ids --relative /etc /mnt/extdrive/snapshots/hourly.0/sm4/
[25/Dec/2010:14:23:52] touch /mnt/extdrive/snapshots/hourly.0/
[25/Dec/2010:14:23:52] rm -f /var/run/rsnapshot.pid
[25/Dec/2010:14:23:52] rsnapshot hourly: completed successfully

Minhas perguntas:

  1. Atualmente estou usando o ext4 para o sistema de arquivos. Talvez esta não seja a melhor escolha entre as disponíveis na Red Hat. Alguém tem alguma recomendação que acelere o processo?

  2. As opções de montagem da partição são sync,dirsync 1 2 . Existe uma maneira de otimizar isso, pois é usado exclusivamente para o rsnapshot? Naturalmente, o raciocínio seria muito apreciado.

por Belmin Fernandez 25.12.2010 / 20:54

3 respostas

5
  1. ext4 está bem.

  2. As opções "sync, dirsync" tornam as atualizações de dados e metadados síncronas, o que é um grande efeito negativo no desempenho da maioria das cargas de trabalho. Remover essas opções provavelmente aumentará o desempenho, mas você deve se lembrar de desmontar o dispositivo antes de puxar o cabo, caso contrário, poderá perder dados (presumivelmente, é por isso que as opções foram adicionadas, elas não são as opções padrão ou talvez seja algum tipo de mágica especial que sua distro faz para dispositivos USB).

  3. o noatime desabilita as atualizações do atime, o que reduz a quantidade de gravações no sistema de arquivos. Mais ou menos todos os aplicativos, incluindo o rsnapshot, não precisam de atimes, portanto, isso deve ser perfeitamente seguro.

  4. data = writeback reduz a sobrecarga do registro em diário, a um preço de aumentar ligeiramente a possibilidade de perda de dados em caso de falta de energia. Dependendo da distro, isso pode já ser o padrão.

  5. Com o ext4 também é possível desabilitar o journal completamente (como no kernel 2.6.29), embora eu não recomende esse. Isso ainda tem todas as outras melhorias do ext4, então isso deve ser mais rápido do que usar o ext2, fwiw.

  6. barrier = 0 desativa as barreiras, o que melhora o desempenho das gravações, ao custo de aumentar a possibilidade de perda de dados em uma falha.

por 26.12.2010 / 11:22
1

Observe também que usar --link-dest também altera o plano de como o cp é feito, o que pode afetar significativamente o desempenho (basicamente, apenas rm s hourly.$old e, em seguida, usa rsync para fazer a cópia hourly.1 para hourly.0 e sincronizar da origem simultaneamente).

Há mais discussões sobre um técnica alternativa aqui - basicamente girando o último instantâneo por hora para o novo com mv hourly.$old hourly.0 em vez de rm -e, e fazendo um cp -afl de hourly.1 para hourly.0 para chegar até data, mas eu não tentei isso - você teria que fazer a rotação manualmente em vez de confiar em rsnapshot para fazê-lo

    
por 22.07.2011 / 10:00
0

Você configura o rsnapshot para manter mais instantâneos (por exemplo, 9999) e os exclui do disco usando o crontab. Isso fará com que a velocidade do instantâneo seja mais previsível.

    
por 26.12.2010 / 04:50