Есть ли практическая польза от использования rsyncd
по сравнению с rsync через ssh? Является ли действительно увеличить скорость, стабильность, что-нибудь?
Я думаю, большая разница в том, что если вы используете rsyncd
на стороне сервера вместо rsync
над ssh
, сервер уже знает, что у него есть, поэтому создание списков файлов для определения того, что необходимо передать, намного проще. Это не будет иметь значения, если вы просто переместите несколько файлов, но если вы, например, CPAN доступный через rsync, вам не нужно каждый раз создавать список файлов на стороне источника.
Это старый вопрос, но есть еще одна очень веская причина для использования rsync
в режиме демона по сравнению с ssh:
У меня есть одно сетевое хранилище на 10 ТБ, резервное копирование которого выполняется на другое сетевое хранилище на 10 ТБ, и накладные расходы на шифрование только для SSH-туннеля являются ограничивающим фактором для передачи. Оба NAS представляют собой довольно маломощные процессоры Intel Atoms с тактовой частотой 1,8 ГГц и даже с более простыми вариантами шифрования для ssh (например, ssh -c arcfour
передается как ssh-вызов в rsync), накладные расходы на шифрование по-прежнему приводят в лучшем случае к 200-300 Мбит / с в гигабитной сети Ethernet.
Использование демона rsync на одном конце устраняет накладные расходы на шифрование и обеспечивает скорость передачи> 800 Мбит / с для больших непрерывных файлов.
Я не думаю, что сравнение запуска rsyncd с rsync через SSH имеет смысл. Обычно они используются для совершенно разных целей.
rsync over ssh обычно используется для резервного копирования или синхронизации серверов через Интернет. rsyncd обычно используется для таких вещей, как программные зеркала, поэтому имеет смысл сравнить rsyncd с простым зеркалом HTTP или FTP или даже с BitTorrent.
Существует также программное обеспечение, такое как zsync, которое позволяет вам получить многие преимущества rsync, по-прежнему используя стандартный HTTP-сервер.
Функция rsyncd
запускать на сервере и отвечать (удаленно) rsync
Запросы.
(когда мы говорим rsyncd
мы имеем в виду rsync
работает как демон, и когда мы говорим «удаленный», мы имеем в виду удаленный с точки зрения запущенной машины rsyncd
)
Обе будут использовать ssh для безопасного общения друг с другом.
На самом деле это не вопрос использования того или другого, хотя, если rsync
используется для копирования файлов и каталогов на той же машине, Я не думаю, что он должен работать как демон.
я думаю rsync
справочная страница разъясняет это.
rsyncd (rsyncd with daemon) по умолчанию использует порт 873.
Это будет использовать собственный протокол rsync, но ничего не шифрует. Он предназначен только для локальных или доверенных сетей.
Если вам нужна безопасность, вы всегда должны использовать rsync или rsyncd через SSH, все ваши передачи данных будут осуществляться по протоколу ssh.