Filesystems

創建FS後空文件縮小

  • March 31, 2015

我的伺服器有問題,這讓我很害怕。我想創建一個空文件,然後將文件掛載為循環設備。所以我試試這個:

dd if=/dev/zero of=/tmp/loop.img bs=1024k count=10

當我檢查文件時,它的大小合適:

ls -lisah
528484126  10M -rw-r--r--  1 root root  10M 31. Mär 04:06 loop.img

下一步是創建 fs:

mkfs.ext4 /tmp/loop.img

然後文件變小:

ls -lisah
528484126 1,2M -rw-r--r--  1 root root  10M 31. Mär 04:10 loop.img

而且我無法掛載文件。有人知道發生了什麼,或者可以告訴我我的錯誤嗎?

好吧,您最大的問題是您在執行 mkfs 之前沒有通過循環掛載映像,這可能是您打算做的(例如losetup /dev/loop0 /tmp/loop.img,後跟mkfs.ext4 /dev/loop0

但是,至於收縮和為什麼數字變化,1.2M是實際使用的文件;10M是磁碟分配。這就是說“您已在 /tmp 上授予 loop.img 10M,而它目前正在使用其中的 1.2M”。

文件系統映像是少數幾種重要的文件(以及稀疏分配的文件)之一;通常磁碟分配只是比實際文件大小高的下一個塊邊界。

引用自:https://serverfault.com/questions/679464