1

Я понимаю, что вы можете rsync с arg -z и -a для сжатия и архивирования.

Может кто-нибудь подсказать мне с этими параметрами, влияет ли это каким-либо образом на файлы, для которых выполняется резервное копирование, если когда-либо их нужно будет восстановить в исходную папку?

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

Спасибо

1 ответ1

1

Может кто-нибудь подсказать мне с этими параметрами, влияет ли это каким-либо образом на файлы, для которых выполняется резервное копирование, если когда-либо их нужно будет восстановить в исходную папку?

Нет, ключ -z никоим образом не влияет на данные, записанные в целевое местоположение, и -a просто предназначен для обеспечения более точного копирования. Подробнее читайте дальше ...


Страница man для rsync описывает ключ -z (--compress) следующим образом:

-z , --compress сжать данные файла во время передачи

(-a это просто сокращение, которое включает переключатели, предназначенные для обеспечения того, что данные о целевом местоположении во всех отношениях идентичны данным о местоположении источника после завершения передачи. Это влияет на метаданные файла, но не на содержимое файла; содержимое скопированных файлов будет одинаковым независимо от того, использовали вы -a или нет.)

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

Прежде всего, тот факт, что rsync использует архитектуру клиент / сервер даже для локальных передач; одна сторона читает данные из исходного местоположения, а другая сторона записывает в целевое местоположение. Между этими двумя может быть сетевое соединение, или они могут работать на одном хосте. Эта архитектура позволяет rsync использовать тот же протокол и, по сути, ту же реализацию для локального копирования или копирования по сети: единственная часть, которая требует изменения, - это промежуточный уровень, который фактически пересылает данные назад и вперед между экземплярами rsync.

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

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

Из этого следует, что включение сжатия при локальном копировании файлов с использованием rsync, по существу, тратит впустую процессорное время, поскольку соединение между двумя задействованными экземплярами rsync намного быстрее, чем любые другие операции ввода-вывода, и один и тот же процессор будет выполнять как сжатие, так и распаковку потока данных. В таком случае, если на мгновение игнорировать кэширование, данные будут считываться с диска (медленно) в ОЗУ, возможно, копироваться в ОЗУ (быстро) с последующей последующей записью на диск (медленно). Медленные компоненты будут доминировать, а копирование меньшего количества данных в ОЗУ не поможет заметно ускорить процесс (и может очень сильно замедлить его из-за необходимой дополнительной обработки, которая сама по себе вполне вероятно требует копирования в ОЗУ). данные). Если вам действительно не повезло, включение сжатия поставит вас за предел, где необходимо использовать пространство подкачки для размещения всех необходимых данных в памяти, что в основном снизит производительность.

Обычная оперативная память в наши дни может обрабатывать много гигабайт в секунду при непрерывной передаче данных без проблем. Вращающийся дисковод со скоростью 7200 об / мин имеет тенденцию достигать скорости 120-150 МБ / с при последовательной работе, и случайный файловый ввод / вывод (как это делает rsync) практически никогда не является последовательным для более коротких пакетов. SSD могут работать лучше как с точки зрения задержки, так и с точки зрения пропускной способности, но они все еще на несколько порядков медленнее, чем RAM. Следовательно, при локальном копировании вы всегда будете привязаны к вводу / выводу, и сжатие потока транзитных данных в лучшем случае не имеет никакого значения, потому что один и тот же объем данных все еще читается и записывается, что, как мы видели выше, является медленным части процесса.

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