почему `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
которые дают одинаковый размер файла на удаленном компьютере.