O servidor executa as seguintes operações com frequência. Ele tira um instantâneo de um volume lógico e, em seguida, faz backup do conteúdo no servidor de backup remoto. É possível que vários backups e transferências ocorram ao mesmo tempo. Muitas sessões rsync e volumes de snapshots montados serão um problema? Como otimizar o desempenho do servidor durante o manuseio?
lvcreate -L10G -s -n snapshot /home/folderA
dd if=/mnt/snapshot bs=1M | (ssh [email protected] of=/tmp/backups bs=1M)
rsync -avzh --rsh "ssh -l username" /mnt/snapshot 192.168.1.5:/tmp/backups/
Responder1
Provavelmente é mais seguro colocar algum tipo de bloqueio neles, para que o que for escolhido, apenas uma instância seja executada por vez, mas sem saber com que frequência você (planeja) executá-los e quanto tempo eles levam, é difícil ter certeza.
CentOS tem orebanho (1)comando que seria útil.
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" rebanho -en "$0" "$0" "$@" || :
This is useful boilerplate code for shell scripts. Put it at the top of the shell script you want to lock and it'll automatically lock itself on the first run. If the env var $FLOCKER is not set to the shell script that is being run, then execute flock and grab an exclusive non-blocking lock (using the script itself as the lock file) before re-execing itself with the right arguments. It also sets the FLOCKER env var to the right value so it doesn't run again.