Лучше ли использовать 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 Процесс должен прочитать файл, чтобы увидеть, что нужно скопировать. Для этого весь файл должен быть передан по сети.

Другие вопросы по тегам