Назад | Перейти на главную страницу

Что лучше: использовать rsync через SSHFS или через CIFS в качестве удаленного репозитория, не имея возможности использовать rsyncd?

У меня есть NAS, который поддерживает только CIFS, AFS, SSH (без возможностей rsyncd, без NFS).

Мне нужно создавать резервные копии очень больших файлов (образов vm), и я обычно устанавливаю сервер rsync на устройстве резервного копирования, а затем делаю rsync --inplace передавать только дельту уровня блока больших файлов. Это отлично работает с rsyncd.

С CIFS кажется, что он должен прочитать весь файл назначения и локальный файл перед его копированием. ВСЕ над (целиком, а не только дельтой) .. лучше с SSHFS?

Есть ли другой способ переместить только дельту блока без rsyncd?

Нет, лучше не будет с sshfs. Не может быть, как в случае с локально смонтированными удаленными файловыми системами, локальные rsync процесс должен прочитать файл, чтобы увидеть, что нужно скопировать. Для этого весь файл необходимо передать по сети.

sshfs в этом не поможет; что вам нужно сделать, это добавить -W возможность указать rsync просто передавать файлы целиком, не пытаясь выяснить, в чем заключаются конкретные различия. Вам также может потребоваться удалить --inplace (не уверен в этом).

rsync действительно разработан для удаленных операций, когда на каждом компьютере есть экземпляр (или демон) rsync, каждый из которых имеет быструю ссылку на свой диск, но с медленной связью между экземплярами rsync. В вашем случае медленное соединение находится между "удаленным" rsync и его диском, поэтому необходим другой набор вариантов оптимизации. В частности, rsync обычно по умолчанию читает все исходные и целевые файлы, поэтому он может определить, какие разделы необходимо передать по «медленной» средней ссылке; в вашем случае замедляет его больше, чем просто слепая передача всего файла.

Также убедитесь, что у вас есть -t вариант (или -a, что означает -t), и являются не с помощью -c. -c заставит его прочитать весь файл, чтобы увидеть, изменился ли он вообще; без этого он просто посмотрит размер файла и время модификации, что -t-a) сохранить.