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

Ошибка резервного копирования rsync через ssh после перемещения сервера

Я установил две машины FreeBSD; один обслуживает видеоданные, а другой является резервной копией для первого. На данный момент у меня около 4 ТБ данных. Я добавляю файлы на видеосервер по несколько за раз и планировал использовать rsync поверх ssh, чтобы поддерживать машину резервного копирования в актуальном состоянии.

Я сделал первоначальное большое резервное копирование, когда обе машины были подключены к одной подсети в лаборатории без каких-либо проблем с использованием rsync. Затем, когда я переместил резервную машину за пределы площадки (но все еще в университетской сети), я попытался выполнить синхронизацию, не меняя ничего, кроме IP (поскольку машина теперь находится в другой подсети), и получил следующую ошибку:

2010/03/22 15:55:21 [1260] rsync: connection unexpectedly closed (6340840244 bytes received so far) [receiver]
2010/03/22 15:55:21 [1260] rsync error: error in rsync protocol data stream (code 12) at io.c(601) [receiver=3.0.7]
2010/03/22 15:55:21 [1258] rsync: connection unexpectedly closed (60 bytes received so far) [generator]
2010/03/22 15:55:21 [1258] rsync error: unexplained error (code 255) at io.c(601) [generator=3.0.7]

Сценарий, обрабатывающий резервное копирование, не был изменен, как и crontab, который его вызывает. Есть ли у кого-нибудь идеи по поводу того, что могло вызвать икоту? У меня создалось впечатление, что это могло иметь какое-то отношение к тайм-ауту ssh-соединения или что-то в этом роде, но я не совсем понимаю, как диагностировать причину проблемы.

Похоже, ваше соединение было установлено, и данные были переданы, поэтому не похоже, что проблема связана с вашими известными_хостами или установкой вашего соединения.

Если бы между двумя компьютерами и rsync был NAT, необходимый для вычисления контрольной суммы для большого файла, то, похоже, было бы возможно, что время, необходимое для вычисления контрольной суммы, превысит время, в течение которого выполняется перевод для вашего соединения. сохраняется в таблице состояний. Я бы хотел добавить такой вариант ServerAliveInterval 60 на машине, выступающей в качестве ssh-клиента, чтобы принудительно отправлять сообщения keepalive.

Поскольку вы переместили сервер, теперь SSH будет жаловаться, что идентификатор сервера изменился, или попросит подтвердить новый идентификатор сервера. Итак, как сказал Cry Havok, вы должны использовать ssh как пользователь rsync и подтвердить изменение (возможно, вам придется отредактировать .ssh/known_hosts файл и удалите неправильный ключ).

Если можете, вам следует попробовать rsync без ssh, то есть запустить демон rsync и попробовать с ним, чтобы вы могли исключить по одной переменной за раз.

Вы пробовали, как пользователь, запускающий rsync, подключиться к серверу в новом месте с сервера резервного копирования?