@speedvm

Почему rsync каждый раз копирует все файлы?

Добрый день!
Есть два сервера в Яндекс.Облако.
На первом находится много файлов (во вложенных директориях) в директории /opt/data.
На втором сервере монтируется S3 таким образом:
backup /mnt/s3 fuse.geesefs --iam,--memory-limit=4000,noauto 0 0

После чего на втором сервере запускается rsync:
rsync --archive --force --compress --rsh="ssh -i /home/admin/.ssh/storage" root@storage:/opt/data/ /mnt/s3

Почему каждый раз файлы копируются заново, даже те, которые не изменились?

Update: Ответ от техподдержки Яндекса ожидаем - "так и должно быть".
Есть параметр у rsync "--checksum". Я им никогда не пользовался. Есть вообще резон этот параметр использовать, т.к. файлов там на несколько Тб? Не будет ли определение контрольной суммы каждого файла равносильно по времени копированию?

UPDATE2: Отвечаю сам на свой вопрос. Копирование без сравнения контрольных сумм было выполнено в два раза быстрее, чем со сравнением. Так что этому параметру однозначно "нет".
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@speedvm Автор вопроса
RClone, кстати, может существенно облегчить жизнь в некоторых ситуациях. Но я обошелся стандартными средствами.
Монтируем директорию первого сервера через sshfs в /mnt/storage. Потом выполняем:
cp --archive --update --no-target-directory /mnt/storage /mnt/s3
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@mr_welk
У себя пользуюсь curlftps для монтирования внешних ресурсов в локальную фс. После этого rsync работает как должен, единственное, ему надо указать temp папку в локальной фс, иначе он погонит траффик на внешний примонтированный ресурс при сравнении файлов
Ответ написан
Комментировать
@mayton2019
Bigdata Engineer
Тут имеет место бутерброд из 4х разных технологий каждая из которых не обязана ничего другой.

1) Утилита rsync. Старая добрая всем знакомая. О ней известно что она лихо оптимизирует копирование на локальных файловых системах. С опцией --checksum должна проверять контрольные суммы md4.

2) Файловая система fuse.geesefs. Ничего о ней не знаю.

3) Стандарт сетевого диска Amazon S3 (REST кажется). Сам амазоновский диск поддерживает расчет контрольных сумм автоматически. Он создает объектный атрибут ETag который расчитывается кажется по md5.

4) Одна из реализаций S3 в виде яндекс диска. Ничего об этом не знаю. Но с помощью командных утилит aws cli можно посмотреть листинг файлов и атрибуты. Хотя-бы понять какие автоматом яндекс создал.

Вобщем так если посмотреть - то понятно что rsync ничего никому не должен.

Можно поробовать копировать как рекомендует Amazon https://aws.amazon.com/premiumsupport/knowledge-ce...

Для этого кстати диск не нужно монтировать вообще.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы