Filesystems
從外部 vfat 磁碟到本地 ext4 的 rsync 會產生截然不同的大小
我找到了一個較舊的外部高畫質,我想將其重新用於其他用途。我正在對我通過網路執行的 NAS 進行 rsync,但這需要很長時間。
所以我決定先rsync到我的本地驅動器(SSD),然後再最備份份到NAS。
我跑了
rsync -avvz --progress /media/ubuntu/9AB4-7DB9/ubuntu/ bak
。這似乎已經結束了。但是當我比較這兩個目錄的大小時,它們有很大的不同。
du -kh bak 29G bak du -kh /media/ubuntu/9AB4-7DB9/ubuntu/ 56G /media/ubuntu/9AB4-7DB9/ubuntu/
這怎麼可能?我首先假設
vfat
文件系統可能是罪魁禍首——但到了這個程度呢?我不敢相信它的尺寸幾乎翻了一番我還認為它可能是
-z
compress 選項rsync
,但據我了解,這應該只在傳輸期間壓縮:-z, --compress compress file data during the transfer
有任何想法嗎?我很困惑,只是想確保我的備份是完整的。謝謝,
du 命令以塊而不是字節為單位測量文件大小。由於 vfat 和 ext4 使用完全不同的塊大小,因此大小變化 2 倍甚至 8 倍都不會令人驚訝。
ext4 通常使用 4k 塊,但 ext4 和 vfat 都使用在格式化磁碟時設置的可變塊大小。vfat 支持 512b 到 32k 之間的邏輯塊大小;ext4 支持 1k 到 4k 之間的塊大小。
如果是舊磁碟,它可能是 512b 塊或 2k,具體取決於磁碟大小和屬性。如果您有很多小於 2k 的文件,則每個文件的大小在復製到 4k 塊大小的 ext4 時都可能翻倍。