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

Rsync 8 Devices по ночам - все файлы входят, но ничего не выходит

Имею 8 устройств. Один из них - «концентратор», а 7 - «удаленный». Каждое из устройств находится в разном физическом местоположении, и я подключен к конфигурации концентратора и луча VPN, все удаленные сайты могут получить доступ к концентратору, но не друг другу. В моей синхронизации более 100 000 файлов / папок.

Все RSYNC запускаются с хаба (SITE0)

ПРИМЕЧАНИЕ. Используйте% SITE #% в качестве заполнителя для IP-адреса фактического объекта. Я просто удалил их, потому что они для этого не нужны. У меня вообще есть ip в реальном скрипте.

Я настроил Rsync, чтобы делать следующее:

MWF = понедельник среда пятница. (TH = вторник, четверг) Я синхронизирую Site1 / Site2 / Site3 / Site4 / Site5 / Site6 / Site7, входящий в «Hub», используя эту команду: (где % SiteN% = IP фактического устройства)

rsync -vzar --size-only --no-g --no-times  rsync://*%SiteN%*/Image/* /data/Image >> /data/Logs/$foo

(это содержит >> / data / Logs / $ foo, я должен написать журнал для просмотра)

Кажется, что все это всегда работает, то есть новые файлы принимаются «HUB».

После завершения INBOUND я отправляю исходящие сообщения на 3 устройства (Site1 / Site2 / Site3), используя этот сценарий.

rsync -vzar --size-only --no-g --no-times --exclude "SubFolder1/" --exclude "Subfolder2/"  /data/Image/* rsync://*%SITEN%*/Image >> /data/Logs/$foo

Вот где у меня проблема. Я получаю в журналах следующее.

Вызов HUB Outbound

rsync Started HUB->Site3 Thu Mar 28 05:32:00 EDT 2019
sending incremental file list
rsync Stopped HUB->Sit3 Thu Mar 28 05:53:39 EDT 2019

Вызов Site1 исходящий

rsync Started Hub->Site1 Thu Mar 28 05:53:39 EDT 2019
sending incremental file list
rsync Stopped Hub->Site1 Thu Mar 28 06:08:41 EDT 2019

Вызов Site2 исходящий

rsync Started HUB->Site2 Thu Mar 28 06:08:41 EDT 2019
sending incremental file list
rsync Stopped HUB->Site2 Thu Mar 28 06:23:46 EDT 2019

======= Но если я запускаю OUTBOUND-скрипт (-ы) вручную в AM, он работает без сбоев.

Что я делаю не так? Считает ли Rsync, что ему не нужно обновлять изменения, потому что я сделал INBOUND ранее? Я думал об этом раньше, и поэтому я разбил скрипты на уникальные скрипты, вызываемые «мастером» (СМ. НИЖЕ) в надежде, что возникнет какая-то проблема с RSYNC и памятью.

Интересно, что на T-H я запускаю другой набор скриптов, которые меняют MWF (входящий Site1 / Site2 / Site3 и все OUTBOUND), и я получаю те же результаты с Site1 / Site2 / Site3.

Основное различие, которое я вижу между ними, - это, возможно, версия RSYNC. На HUB и Site1 / Site2 / Site3 версия Rsycn - 3.1.3, на остальных - 3.0.9.

Любая помощь будет оценена по достоинству.

Полный раскрывающий: у меня есть «главный сценарий», который вызывает отдельные сценарии для запуска необходимого Rsync. Это было сделано для облегчения чтения сценария. У меня была эта проблема ДО того, как я это сделал, это мой вызывающий скрипт, который создает строки, которые выглядят как "Calling Site2 Outbound", а скрипты, которые они вызывают, имеют строки регистрации, чтобы дать строки, которые выглядят следующим образом: "rsync Started HUB-> Site2 Чт, 28 марта, 06:08:41 EDT 2019 "

например: Основной сценарий: (отредактировано и сокращено)

#!/bin/sh   
foo=rsync-`date +%m%d%Y`.log    

echo 'Syncing remote sites to main site Started '`date` >> /data/Logs/$foo  
echo '------------------------------------------'>> /data/Logs/$foo 

echo 'Calling Site1 Inbound' >> /data/Logs/$foo 
    /bin/sh /root/SiteScripts/Site1In.sh $foo
echo ' '>> /data/Logs/$foo  

echo 'Calling Site2 Inbound' >> /data/Logs/$foo 
    /bin/sh /root/SiteScripts/Site2In.sh $foo
echo ' '>> /data/Logs/$foo  
.
. Rest of sites
.
echo ' '>> /data/Logs/$foo  
echo 'Syncing remote sites to main site Completed '`date` >> /data/Logs/$foo    
.
.
.
echo 'Syncing main site to remote sites Started'`date` >> /data/Logs/$foo   
echo '------------------------------------------'>> /data/Logs/$foo 

echo 'Calling Site1 Outbound' >> /data/Logs/$foo    
    /bin/sh /root/SiteScripts/Site1Out.sh $foo
echo ' '>> /data/Logs/$foo  

echo 'Calling Site2 Outbound' >> /data/Logs/$foo    
    /bin/sh /root/SiteScripts/Site2Out.sh $foo
echo ' '>> /data/Logs/$foo  

echo 'Calling Site3 Outbound' >> /data/Logs/$foo    
    /bin/sh /root/SiteScripts/Site3Out.sh $foo
echo ' '>> /data/Logs/$foo  

echo 'Syncing main site to remote sites Completed'`date` >> /data/Logs/$foo 

Пример скрипта, который вызывается сверху (только обратный для входящего)

#!/bin/sh   
echo 'rsync Started Hub->Site1 '`date` >> /data/Logs/$1 
    rsync -vzar --size-only --no-g --no-times --exclude "Subfolder/" --exclude "SubFolder/"  /data/OMSImage/* rsync://%Site1%/Image >> /data/Logs/$1
echo 'rsync Stopped Hub->Site1 '`date` >> /data/Logs/$1 

================================================== ====================== Обновление 4.2.2019.

Вчера вечером я снова запустил синхронизацию с дополнительным 'v' (-vvzari). Это полный результат, который я получил.

Calling Site1 Outbound (.86)
rsync Started Hub -> Site1 Tue Apr 2 04:25:12 EDT 2019
opening tcp connection to 192.168.86.61 port 873
sending daemon args: --server -vvloDprze.iLsfxC "--log-format=%i" --size-only . IMAGES/  (6 args)
sending incremental file list
[sender] hiding directory 3d-Volumes because of pattern FOLDER1/
[sender] hiding directory Romexis3d because of pattern FOLDER2/
[sender] expand file_list pointer array to 524288 bytes, did move
[sender] expand file_list pointer array to 1048576 bytes, did move
[sender] expand file_list pointer array to 2097152 bytes, did move
[sender] expand file_list pointer array to 1439480 bytes, did move
rsync Stopped Hub -> Site1 Tue Apr 2 04:40:19 EDT 2019

Мне кажется, что RSYNC перечислил путь и не видит никаких изменений, но я точно знаю, что есть сотни новых файлов. Есть ли что-то, чего мне не хватает в работе RSYNC? Я испытываю эту проблему только в устройствах, у которых на обоих концах есть RSYNC 3.1.

Со времени моей первоначальной публикации я развернул 4-е НОВОЕ устройство NAS, и у меня возникла точно такая же проблема с этим. Остальные агрегаты старые (5+ лет), и у меня нет проблем.

Мне теперь интересно, нужно ли мне перезапустить службу RSYNC на HUB или Spokes, чтобы это произошло?

Сегодня вечером я добавлю третью букву "v" ...

4.5.2019 ОБНОВЛЕНИЕ.

После добавления дополнительной буквы «v» я смог устранить еще несколько проблем. Я добавил «лишнее» устройство NAS. Помните, что у меня есть «HUB», и он без проблем «тянет» все удаленные сайты. Он просто не будет «проталкивать» все мои «новые» устройства NAS.

Я добавил второй NAS (за исключением оборудования как HUB под названием SPARENAS) к ​​физическому расположению HUB.

Я выполнил следующую синхронизацию для тестирования All IN в «HUB». «HUB» отправляет на этот новый NAS (SpareNAS) SpareNAS отправляет на «удаленные» устройства NAS.

Вот что интересно.

ХАБ на Запасной = НЕТ ПРОБЛЕМ. Запасное устройство для пульта ДУ = ЖЕ ВОПРОСЫ.

Это указывает мне на то, что проблема связана с удаленными устройствами NAS.

Я собираюсь провести дополнительное тестирование, и следующим шагом будет использование sshpass, чтобы сообщить отказавшим устройствам REMOTE NAS перезапустить Rsync после их успешного «извлечения».

Если это не сработает, я буду использовать тот же метод для перезагрузки устройства REMOTE nas после успешного «PULL».

Синхронизация занимает несколько часов, поэтому у них будет достаточно времени для загрузки, прежде чем я снова попытаюсь получить к ним доступ.

Я думаю, это, по крайней мере, доказало, что ошибка «push» не в моем «HUB».

Думаю, я нашел ответ на этот вопрос. Судя по другим исследованиям, я считаю, что проблема заключается в используемом устройстве и прошивке. Я использую устройства NETGEAR ReadyNas. Те, у кого есть проблемы, используют прошивку 6.9.5. У меня были другие проблемы с медленным доступом SMB, и я обнаружил, что все версии прошивки ReadyNas 6.9.x имеют проблемы с медленным SMB и Rsync (при использовании в качестве резервной копии из графического интерфейса) [Тонны сообщений об этом на форумах NETGEAR].

Форум NETGEAR - Медленный SMB Форум NETGEAR - Медленный SMB после 6.9.x

Я не использую RSYNC таким образом, но, похоже, у меня такие же проблемы, как и у других.

Поэтому, несмотря на то, что мои скрипты нуждались в доработке и работают лучше и быстрее и не нарушают разрешения, как это было месяц назад, у меня все еще есть проблемы, но я думаю, что не могу их исправить. Мне нужно подождать, пока NETGEAR исправит их ....