Рейтинг:0

Папки после rsync имеют разный размер

флаг es

Я использовал rsync для копирования папки с одной машины на другую. Папка очень большая и имеет тысячи подкаталогов и в общей сложности миллионы файлов. После переноса (который пару раз прерывался) проверяю папку на каждой машине. Результаты не совпадают:

Исходная папка: 430 Гб

Целевая папка: 415 Гб

Я снова попытался выполнить rsync, но все подкаталоги пропущены. Я также попытался добавить --checksum в команду, и она все равно все пропускает. Объяснима ли эта разница в 15Gb? Если нет, есть ли способ найти, какие файлы не совпадают?

Обновлять Я использую команду rsync:

rsync пользователь @ источник: цель папки
codlord avatar
флаг ru
Я предлагаю вам обновить исходный вопрос, указав фактическую команду rsync, которую вы используете.
флаг cn
У 2 одинаковая файловая система? Тот же размер блока? Как вы рассчитали размер? Он включал tmpfs?
MrHat avatar
флаг es
Я рассчитал размер с du -h. Я проверил, и файловые системы — это zfs для исходного местоположения и nfs для целевого местоположения. К сожалению, я не могу найти размер блока для блочных устройств, потому что они находятся в сети, и у меня нет доступа.
Artur Meinild avatar
флаг vn
По умолчанию du -h сообщает размер блока. Чтобы показать фактический размер файла, вам нужно `du -h --apparent-size`. Я почти уверен, что видимый размер будет одинаковым, и в этом случае разные размеры блоков являются причиной различного использования пространства.
Рейтинг:1
флаг cn

Есть несколько причин, по которым могут быть или могут быть замечены различия в сообщаемых размерах.

  1. Сообщаемые размеры зависят от используемой вами команды и от того, что именно измеряется. Кроме того, пространство, используемое файлом, может зависеть от файловой системы и параметров форматирования, используемых для форматирования диска. Файловые системы Linux также поддерживают разреженные файлы. Это означает, что пустые части файлов (например, двоичные файлы) физически не хранятся на диске. Таким образом, физический размер файла на диске (по данным дю) меньше, чем его логический размер файла (как сообщает du --кажущийся размер или же лс).

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

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

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

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

MrHat avatar
флаг es
Спасибо за подробный ответ. Я попробую вариант удаления, чтобы посмотреть, дает ли он тот же результат (так и должно быть, потому что источник больше).В любом случае мои файлы будут использоваться, поэтому все они будут доступны и проверены, но я хотел знать, есть ли более быстрый способ проверить, правильно ли прошла передача. Я предоставлю обновление через несколько дней, как только убедюсь, что ни один из файлов не отсутствует или не поврежден.
vanadium avatar
флаг cn
Самый быстрый способ - просто отчет о самой операции `rsync`. Для максимальной безопасности вы можете использовать `rsync` для сравнения с контрольной суммой, но это сильно замедлит синхронизацию.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.