Я занимаюсь перемещением файлов с сервера Ubuntu на сервер Snow Leopard. Сервер Ubuntu имеет долю NFS размером около 6 ТБ, которую я хотел бы клонировать на сервер Snow Leopard.
Я установил общий ресурс nfs на сервере Snow Leopard, а затем запустил
rsync -av /Volumes/FromUbuntu /Volumes/LocalCopy
После копирования около 100 ГБ он жалуется, что файлы исчезли. Я предполагаю, что по какой-то причине ссылки NFS устарели? Что может быть причиной этого? Сервер Ubuntu не дает сбоев, и мне известно о проблемах с подключением. Я бы не против запускать команду rsync снова и снова, пока копирование не будет завершено, но только для того, чтобы rsync составил список файлов, требуется около 6 часов.
Какие-либо предложения? Было бы быстрее просто rsync через SSH? Спасибо!
(PS: я пробовал просто использовать cp -arv, что, похоже, не дает сбоев, но, согласно монитору сетевого трафика на Mac, копирование файлов занимает в два раза больше времени, чем rsync, после того, как rsync построил свой список файлов. ?)
ОБНОВЛЕНИЕ: я пытаюсь использовать rsync через ssh с сервера Mac на сервер ubuntu, и, похоже, это происходит намного быстрее (для создания списка файлов и начала передачи потребовалось менее двух часов, тогда как при использовании rsync с монтирования nfs около шести часов только для создания начального списка файлов.) Определенно похоже, что есть проблема с монтированием общего ресурса NFS на Mac. У кого-нибудь были с этим проблемы? А как насчет другого способа монтирования общих ресурсов nfs на Mac на клиенте ubuntu? Я планировал разместить общий ресурс NFS для клиентов Ubuntu на Mac, но теперь начинаю нервничать. Спасибо за ваш вклад!
Это проблема со специальными символами в именах файлов, как описано здесь: https://superuser.com/questions/91967/rsync-character-set-problems
Насколько мне известно, условие "исчезновение файла" не является фатальной ошибкой для rsync
, и процесс должен продолжаться нормально. Вы говорите, что rsync
останавливается при сообщении об исчезновении файла?
Если вы создаете резервную копию действующей файловой системы, всегда можно получить сообщение об исчезновении из rsync
. Между тем, что rsync
добавляет файл в свой список передачи и время, rsync
фактически доходит до его чтения, файл может «исчезнуть» по любому количеству законных причин (например, был удален временный файл блокировки или файл был переименован). Обратите внимание, что некоторые приложения обходят ограничения в блокировке файлов NFS, создавая и удаляя скрытые файлы блокировки, и возможно, что rsync
может видеть некоторые из них.
Я бы посоветовал, чтобы ваша исходная файловая система оставалась как можно более спокойной во время резервного копирования. В идеале никто, кроме процесса резервного копирования, не должен иметь к нему доступа, но я понимаю, что это может быть невозможно. Если ваша исходная файловая система находится на логическом томе LVM, вы можете рассмотреть возможность создания моментального снимка только для чтения, который будет использоваться в качестве источника резервного копирования.
То, что я делаю в моем ежедневном сценарии резервного копирования, это сценарий rsync
обертка:
#!/bin/bash
rsync "$@" 2> >(grep -v vanished)
ret=$?
((ret==24)) && exit 0 || exit $ret