почему `rsync --sparse` создает файл намного большего размера, чем исходный?

Я пытаюсь выполнить rsync между двумя локальными дисками, поэтому сжатия нет. видимый размер разреженного файла составляет 50 ГБ, фактический размер — 16 ГБ. Я пыталсяrsync -a -P --sparse, в конце он сгенерировал разреженный файл в пункте назначения. Однако он не такой скудный, как исходный файл. Размер сгенерированного файла составляет 27 ГБ вместо 16 ГБ. я могу использоватьfallocate -d <filename>чтобы уменьшить его еще больше. Стало около 18Гб. Однако эта операция занимает довольно много времени. В другой руке,cp -a --sparseможно создать идентичный файл.

Кроме того, скорость такая же медленная, как у команды rsync без--sparse. Это потому что :

В текущей версии параметр --sparse влияет только на запись файла назначения, но не на передачу данных.

Однако меня больше интересует удаленный размер. Интересно, почему rsync не реплицировал исходный файл того же размера, что иcp --sparse=always?

Это происходит даже тогда, когда пункт назначения пуст. Так что я думаю, это не имеет ничего общего с--inplaceвариант.

      rsync  version 3.1.3  protocol version 31

согласно @anx, я провел небольшой тест с--block-size=4096которые дают одинаковый размер файла на удаленном компьютере.

0 ответов

Другие вопросы по тегам