Итак, у меня есть довольно простой сценарий резервного копирования, который каждую ночь запускается как задание cron, и это:
rsync -azhv /company/shared_files/ /mnt/ext_drive/backups/shared_files/company_share_backup_"`date +\%Y-\%m-\%d`"
Раньше размер резервной копии составлял около 20 гигабайт, и она работала примерно за десять минут, но по состоянию на два дня назад она составляла 80 гигабайт, и на ее выполнение уходит более 6 часов. Что могло пойти не так?
Моя общая процедура состоит в том, чтобы хранить каждую резервную копию в течение 7 дней, а затем сохранять резервную копию с воскресенья каждую неделю для экономии места, поэтому в идеале я хотел бы делать отдельный rsync для каждого дня, а не выполнять rsync более естественным образом, просто обновляя файлы в резервной копии, которые изменились.
Я запускаю Debian Wheezy с жестким диском 2 ТБ и 16 ГБ памяти и передаю эти файлы с моего сервера Debian на WD My Passport Ultra с 2 ТБ.
Здесь вы можете сделать несколько вещей. Вам не нужен -z
флаг в rsync для локальной копии. Сжатие не используется для не удаленных передач.
Вы можете немного оптимизировать rsync для небольших файлов и типов изменений с помощью других параметров, например -W
(для передачи файлов целиком без предварительного сканирования).
Кроме того, не следует ли удалять файлы в месте назначения?
Более подробная информация о фактической ОС, которую вы используете, возможностях диска и целевом объекте резервного копирования, может помочь сфокусировать решение немного лучше.
Думаю, передача файлов не ограничивалась rsync
но целевое устройство. Причина, по которой это сначала казалось быстрым, заключается в том, что у вас, вероятно, много оперативной памяти, и у вас есть большие значения в /proc/sys/vm/dirty_ratio
и /proc/sys/vm/dirty_background_ratio
. Это позволяет записывать данные из источника в оперативную память в зависимости от прогресса, который вы видите, но когда кэш ОЗУ заполнен и файлы действительно нужно записать на диск, вы видите, что процесс замедляется.
Если это происходит на более позднем целевом диске (например, на новых дисках Seagate 4+ ТБ), возможно, у вас SMR HDD целевое устройство. Например, жесткие диски Seagate 4 ТБ и 6 ТБ SMR работают быстро только для первых 20 ГБ, которые вы записываете. После этого производительность записи падает со 160 МБ / с до примерно 25 МБ / с для последовательной записи и с 80-160 МБ / с до 1 МБ / с для произвольной записи файлов.