Сервер часто выполняет следующие операции. Он делает снимок логического тома, а затем выполняет резервное копирование содержимого на удаленный сервер резервного копирования. Возможно, что несколько резервных копий и передача происходят одновременно. Будет ли проблемой быть слишком много сеансов rsync и подключенных томов моментальных снимков? Как оптимизировать производительность сервера при обработке?
lvcreate -L10G -s -n snapshot /home/folderA
dd if=/mnt/snapshot bs=1M | (ssh root@192.168.1.5 of=/tmp/backups bs=1M)
rsync -avzh --rsh "ssh -l username" /mnt/snapshot 192.168.1.5:/tmp/backups/
Вероятно, безопаснее всего наложить на них какую-то блокировку, чтобы, какой бы ни был выбран, только один экземпляр запускался за раз, но, не зная, как часто вы (планируете) запускать их и сколько времени, трудно сказать наверняка.
CentOS имеет стадо (1) команда, которая будет полезна.
["$ {FLOCKER}"! = "$ 0"] && exec env FLOCKER = "$ 0" flock -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.