Filesystems

截斷擴展似乎不起作用?

  • April 12, 2022

我剛剛使用 擴展了我的 1G“主文件”,它通過另一個 GB 安裝到 /home/user truncate -s +1G homefile,雖然它將顯示的主文件的大小更改df為 2GB,但安裝時它仍然只有 1GB。我錯過了什麼嗎?我不必再次使用 mkfs.etx4 嗎?…因為這會擦除數據並破壞我使用 truncate over fallocate 的目的,我必須在擴展後使用 resize2fs,但不會更改數據。我嘗試在截斷後使用 resize2fs,但它在文件系統類型上出現錯誤(如果相關,我將不得不重新啟動我的虛擬機)。

如果我無法使用 truncate 進行擴展,是否有另一種方法可以掛載動態擴展文件?我知道 qcow2 可以做到這一點,但這似乎有點笨拙。我知道 PuppyOS 和 PorteuOS 之類的 squashfs,但是當我查看時,它涉及到更多的設置步驟。如果它可以工作,我喜歡截斷的簡單性。

您只是調整了底層儲存的大小,而不是文件系統。所以,這是完全可以預料的!

resize2fs是您需要的工具;resize2fs homefile 還沒有工作(不要這樣做),因為你首先必須告訴循環設備,通過它安裝它的底層儲存已經改變。

所以,整個過程是這樣的:

  1. 增加圖像大小 ( truncate/ fallocate…)
  2. 告訴 loopdev 它的大小發生了變化:losetup -c $(losetup -j homefile)
  3. 調整文件系統的大小:resize2fs $(losetup -j homefile)

引用自:https://unix.stackexchange.com/questions/698628