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

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

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

  1. rm -rf: exclui instantâneos expirados
  2. mv: move snapshots mais antigos para 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 no log abaixo, a maior parte do tempo é gasta nas rm -rfetapas 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 ext4 para o sistema de arquivos. Talvez esta não seja a melhor escolha entre as disponíveis no Red Hat. Alguém tem alguma recomendação que possa acelerar o processo?

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

Responder1

  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 na maioria das cargas de trabalho. A remoção dessas opções provavelmente aumentará o desempenho, mas você deve se lembrar de desmontar o dispositivo antes de puxar o cabo, caso contrário você poderá perder dados (presumivelmente é por isso que as opções foram adicionadas em primeiro lugar, 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. noatime desativa atualizações 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 do atimes, portanto isso deve ser perfeitamente seguro.

  4. data=writeback reduz a sobrecarga do registro no diário, ao preço de aumentar ligeiramente a possibilidade de perda de dados em caso de falha de energia. Dependendo da distribuição, este já pode ser o padrão.

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

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

Responder2

Você configura o rsnapshot para manter mais instantâneos (por exemplo 9999) e os exclui do disco usando o crontab. Isso tornará a velocidade do rnapshot mais previsível.

Responder3

Observe também que o uso --link-desttambém altera o plano de como isso cpé feito, o que pode afetar significativamente o desempenho (basicamente é apenas rmo e, em seguida , hourly.$oldé usado rsyncpara fazer a cópia e sincronizar a partir da fonte simultaneamente).hourly.1hourly.0

Há mais discussão sobre umtécnica alternativa aqui- basicamente girando o último instantâneo de hora em hora para o novo em mv hourly.$old hourly.0vez de rm-ing, e fazendo um cp -aflfrom hourly.1on hourly.0para atualizá-lo, mas eu não tentei isso - você teria que fazer a rotação manualmente em vez de confiar em rsnapshotfazer isso

informação relacionada