rsync, какой из серверов будет больше грузиться?

12
Mik Foxi
На сайте с 02.03.2011
Offline
1214
955

нужно с одного сервера раскидывать (синхронизировать) данные на 4 других сервера с помощью rsync (много мелких файлов).

как лучше запускать, чтоб на главном сервере это потребляло меньше ресурсов?

1) с главного сервера делать 4 запуска и лить на остальные сервера.

2) со всех серверов запускать rsync который будет коннектиться к главному.

в домашних тестовых запусках разницы по нагрузке как-то на глаз не заметил.

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#1

Ничего гигантского в плане производительности вы не получите, максимальный выигрыш, это ресурсы которые будут задействованы под каждый из потоков синхронизации, в случае запуска на одном сервере 4 таких процессов естественно на нем будет больше затрачено ресурсов нежели в ситуации когда каждый из серверов обратиться к нему, но на столько ли существенный прирост вы получите?

Из личного опыта могу сказать, что работаю с rsync на объемах в 10+ TRB, полет нормальный. В некоторых случаях правда для rsync внутренние линки. Есть схемы между прочим обоих направлений и при 5 заданиях с одного сервера и при 5 заданиях с разных серверов на один, пожалуй лишь удобство или "настроение при настройке" :) На производительность не думаю что влияет особо. :)

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
Mik Foxi
На сайте с 02.03.2011
Offline
1214
#2

Romka_Kharkov, вот и я не заметил разницы тестово гоняя 500к файлов по 100 мб локалке )

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

Glueon
На сайте с 26.07.2013
Offline
172
#3

Только тогда если поломают главный сервер - все второстепенные окажутся под угрозой.

Если второстепенные совсем второстепенны - тогда с осовного на второстепенный запускать rsync.

В противном случае может быть имеет смысл для каждого второстепенного сделать свой ключ и повесить на пользователя лимитированного по rsync-only.

А то если поломают, например, backup сервер который делает rsync забор данных со всяких финансовых, суперсекретныхпроектных серверов будет не очень ... :) Даже если на backup сервере они пакуются и прогоняются через GPG.

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
AU
На сайте с 03.09.2009
Offline
88
#4

Я думаю важно также определиться когда синхронизировать файлы. Я не в курсе специфики вашего проекта, но я полагаю что имеет смысл запускать синхронизацию на разные машины в разное время. Как вариант, написать простой скрипт, который будет ставить флаг "синхронизация с машиной XYZ in progress", следовательно sync на другие машины будет ждать. Если все запускать одновременно, может и сеть просесть.

Unix в вопросах и ответах https://unixhow.com (https://unixhow.com)
VK
На сайте с 29.12.2011
Offline
42
#5

foxi, поднимите rsync сервер на главной машине, а ведомые сервера авторизуйте там по IP. Проблема с безопасностью решится.

Если сильно переживаете за производительность фс, можете попробовать запустить сервер rsync-а с каким-нибудь ionice. Будет медленнее, но может прокатить.

AU
На сайте с 03.09.2009
Offline
88
#6

Еще одна мысль. Если есть возможность разделить жесткие диски и использовать для rsync отдельный сторедж, риски снижения производительности так же снизятся. Иными словами, на физическом хранилище с rsync (где данные синхронизируются) не размещать базы данных, статику, которая должна отдаваться веб сервером и т.п.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#7
foxi:
Romka_Kharkov, вот и я не заметил разницы тестово гоняя 500к файлов по 100 мб локалке )
но безопаснее с главного коннеститься на второстепенные, чем на куче серверов класть ключи от главного сервера.

Капитан очевидность сегодня явно на отдыхе, вы спросили вообще-то о ресурсах


как лучше запускать, чтоб на главном сервере это потребляло меньше ресурсов?

я вам ответил.

А что касается безопасности, советую ознакомиться с настройками файла rsyncd.conf.

Многое, если не все, зависит от смысла этих данных. В случае компрометации сервера хоть так хоть так есть угроза...

Насчет ключей не совсем вас понял, вы еще ключи (rsa/dsa?) туда прикрутили как-то? Вы случайно rsync не запускаете от рута через ssh pipe :D ?

Потому как в том же rsyncd.conf , можно настроить "шару" таким образом, что она будет например read only, А так же можно жестко ограничить пользователей и IP адреса доступные в этой шаре. Покажите как вы используете rsync и что в конфигах есть.. интереСа ради :D Если сервера стоят рядом !!! рекомендую сразу делать 1G internal uplink

Mik Foxi
На сайте с 02.03.2011
Offline
1214
#8
Romka_Kharkov:

Насчет ключей не совсем вас понял, вы еще ключи (rsa/dsa?) туда прикрутили как-то? Вы случайно rsync не запускаете от рута через ssh pipe :D ?
Потому как в том же rsyncd.conf , можно настроить "шару" таким образом, что она будет например read only, А так же можно жестко ограничить пользователей и IP адреса доступные в этой шаре. Покажите как вы используете rsync и что в конфигах есть.. интереСа ради :D Если сервера стоят рядом !!! рекомендую сразу делать 1G internal uplink

использую так:

rsync -avz --delete -e 'ssh -p 22' user@host:/home/user/files/ /home/localuser/dolder/

ну или чуток не так, если с локального заливать на остальные.

а конфиг я вообще не трогал и не заглядывал в него 😂

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#9

Хм, а я авторизацией самого Rsync пользуюсь, user/pass/ip + rsyncd ..

VO
На сайте с 27.07.2008
Offline
149
#10

Если нужно снизить нагрузку на основной сервер, можно попробовать использовать --bwlimit

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий