Лучше ли использовать rsync поверх SSHFS или CIFS в качестве удаленного репозитория, не имея опций для rsyncd?
У меня есть NAS, который поддерживает только CIFS, AFS, SSH (без возможностей rsyncd, без NFS).
Я должен сделать резервную копию очень больших файлов (образы VM), и я обычно устанавливаю сервер rsync на устройстве резервного копирования, затем я делаю rsync --inplace
передавать только дельту уровня блока больших файлов. Это прекрасно работает с rsyncd.
С CIFS кажется, что он должен прочитать весь целевой файл и локальный файл перед тем, как скопировать его ВСЕ (целиком, а не только в дельту). Что лучше с SSHFS?
Любой другой способ переместить только дельту блока без rsyncd?
2 ответа
sshfs не поможет с этим; что вам нужно сделать, это добавить -W
возможность указать rsync просто передавать целые файлы, не пытаясь выяснить, в чем заключаются конкретные различия. Вам также может понадобиться удалить --inplace
(не уверен в этом).
rsync действительно предназначен для удаленных операций, где на каждом компьютере есть экземпляр (или демон) rsync, каждый с быстрой ссылкой на свой диск, но с медленной связью между экземплярами rsync. В вашем случае медленная связь между "удаленным" rsync и его диском, поэтому необходим другой набор вариантов оптимизации. В частности, rsync обычно по умолчанию читает все исходные и целевые файлы, поэтому он может выяснить, какие разделы необходимо передать по "медленной" средней ссылке; в вашем случае это замедляет больше, чем просто слепая передача всего файла.
Кроме того, убедитесь, что у вас есть -t
вариант (или -a
, что подразумевает -t
) и не используют -c
, -c
заставил бы это прочитать весь файл, чтобы видеть, изменился ли он вообще; без этого он будет просто смотреть на размер файла и время модификации, которое -t
(а также -a
) сохранить.
Нет, лучше не будет sshfs
, Это не может быть, как с локально смонтированными удаленными файловыми системами, локальными rsync
Процесс должен прочитать файл, чтобы увидеть, что нужно скопировать. Для этого весь файл должен быть передан по сети.