27

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

5 ответов5

34

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

Обычно небезопасно писать в исходном каталоге, пока работает rsync. "Записывает" - это все, что изменяет содержимое исходного каталога или любого его подкаталога, включая обновления, удаление, создание файлов и т.д.

Это на самом деле ничего не сломает , но изменение может или не может быть получено rsync для копирования в целевое местоположение. Это зависит от типа изменения, от того, отсканировал ли rsync этот конкретный каталог, и от того, скопировал ли rsync файл или каталог, о котором идет речь.

Однако, есть простой способ обойти это: как только он закончится, снова запустите rsync с теми же параметрами. (Если у вас нет какого-то необычного параметра delete; если вы это сделаете, будьте немного осторожнее.) Это приведет к повторному сканированию источника и передаче всех различий, которые не были обнаружены во время первоначального прогона.

Второй прогон должен передавать только различия, которые произошли во время предыдущего прогона rsync, и поэтому будет выполняться намного быстрее. Таким образом, вы можете свободно использовать компьютер во время первого запуска, но следует по возможности избегать внесения каких-либо изменений в источник во время второго запуска. Если вы можете, настоятельно рекомендуется перемонтировать исходную файловую систему только для чтения, прежде чем начинать второй запуск rsync. (Что-то вроде mount -o ro, должно делать mount -o ro,remount /media/source .)

22

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

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

Что я делаю, так это вообще не использую устройство во время резервного копирования. Это более безопасный способ получения быстрого и надежного резервного копирования.

14

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

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

  2. Если вы добавите файл в каталог, который уже был отсканирован, он будет пропущен из целевой копии на этот раз. Если вы удалите файл из каталога, который уже был отсканирован, он на этот раз останется в целевой папке. В зависимости от того, как вы вызываете rsync все дерево может быть отсканировано в начале или может быть отсканировано постепенно, когда происходит процесс синхронизации.

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

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

Если вы используете LVM для разделения системы хранения, вы можете использовать временный снимок для резервного копирования на определенный момент времени. Это требует, чтобы у вас было достаточно места в группе томов, чтобы создать том снимка, достаточно большой, чтобы вместить все изменения, которые произойдут в течение времени, необходимого для снимка. Обратитесь к документации LVM (или к одному из множества онлайн-примеров: выполните поиск по запросу "Резервная копия снимка LVM" или подобное) для получения более подробной информации.

Даже без LVM некоторые файловые системы сами поддерживают моментальные снимки - так что вы можете также рассмотреть эту опцию.

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

11
  • Исходный HDD может читать все, пока rsync.

  • Исходный жесткий диск может записывать любой контент, не связанный с контентом rsync.

  • HDD назначения может читать все, пока rsync.

  • Целевой жесткий диск может записывать что угодно, пока rsync с условием, чтобы было достаточно места, зарезервированного для синхронизированного содержимого.

Конечно, в любом случае произойдет снижение производительности.

0

Все текущие ответы говорят о безопасности данных с точки зрения согласованности и предполагают идеальное оборудование.

Еще одна вещь, которую следует учитывать, - это сама аппаратная безопасность. Если у вас есть жесткие диски без резервных копий, которые могут оказаться на грани сбоя (возможно, вы даже не знаете об этом), и вы делаете начальную полную резервную копию, не используйте ее. Даже не монтируйте его, если данные критичны. Вы можете использовать инструмент, такой как dd чтобы клонировать диск как блочное устройство. То, что вы не хотите, чтобы дисковая головка искала и, возможно, записывала, пока вы пытаетесь сделать резервную копию. Плюс dd должен быть быстрее для первоначального резервного копирования, так как он просто копирует биты по порядку (если диск в основном не заполнен, я полагаю, что rsync также выиграет в начальном случае).

Для последующих инкрементных резервных копий rsync - отличный выбор, и я согласен с другими ответами на 100%.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .