Partition

如何確定 resize2fs 的新大小?

  • March 22, 2022

我想縮小 ext4 文件系統以為新分區騰出空間並遇到該resize2fs程序。該命令如下所示:

resize2fs -p /dev/mapper/ExistingExt4 $size

我應該如何確定$size是否要從目前的 ext4 文件系統中減去 15 GiB?我可以使用df某種方式的輸出嗎?

您不應該使用df,因為它顯示文件系統報告的大小(在本例中為 ext4)。

使用dumpe2fs -h /dev/mapper/ExistingExt4命令找出分區的實際大小。該-h選項使dumpe2fs顯示超級塊資訊沒有很多其他不必要的細節。從輸出中,您需要塊計數塊大小

... 
塊數: **19506168**  
保留塊數:975308 
免費塊:13750966 
免費索引節點:4263842 
第一個區塊:0 
塊大小: **4096**  
...

將這些值相乘將得到以字節為單位的分區大小。

上面的數字恰好是 1024 的完美倍數,所以我們可以用 KiB 計算結果:

$ python -c 'print 19506168.0 * 4096 / 1024'
78024672.0

由於您想將分區縮小 15 GiB(即 15 MiB 乘以 1 KiB):

$ python -c 'print 19506168.0 * 4096 / 1024  -  15 * 1024 * 1024'
62296032.0

由於resize2fs接受多種後綴,其中一種是K“1024 字節”,將分區縮小到 62296032 KiB 的命令變為:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

如果沒有單位,該數字將被解釋為文件系統塊大小的倍數(在這種情況下為 4096)。參見man resize2fs(8)

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