RSYNC ist beim Kopieren von Dateien langsam
Der rsync
-Vorgang wird für ein Dateisystem sehr langsam ausgeführt.
Ursache: rsync
ist ein serieller Vorgang. Daher ist er langsam, wenn ein großes Dateisystem kopiert wird, insbesondere, wenn der Prozess Snapshots umfasst.
Lösung: Verwenden Sie eine der folgenden Alternativen:
- GNU Parallel zur parallelen Ausführung von
rsync
. Beispiel:time find /mnt/MyFileSystem -mindepth 1 -maxdepth 1 | parallel -P100 rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --exclude=.snapshot --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh {} root@10.0.3.6:/mnt/rsync_target
Weitere Informationen finden Sie unter GNU Parallel - GNU Project.
- File Storage Parallel Tools
Weitere Informationen und Beispiele finden Sie unter File Storage Parallel Tools verwenden.
- Befehl
find
mit der Optionxargs
. Beispiel:find ${source_dir} -mindepth 1 -maxdepth 1 | xargs -P 24 -I {} rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --log-file=<logfile_path> -quiet -e ssh {} <destination_user>@<destination_instance>:<destination_dir>
Weitere Informationen finden Sie auf der Linux-Manpage für find(1) und auf der Linux-Manpage für xargs(1).
- Weitere Informationen zum Kopieren von Dateien aus einer Region in eine andere Region mit
rsync
finden Sie unter Das Kopieren von Dateien aus einer Region in eine andere mit RSYNC oder FPSYNC ist langsam.