Resize2fsの縮小操作によりファイルシステムに空き容量が残りますか?

Resize2fsの縮小操作によりファイルシステムに空き容量が残りますか?

ファイルシステムイメージをできるだけ小さいサイズに縮小しようとしています。 resize2fsは予約されたファイルシステムブロックを所定の位置に保持することに同意しますが、縮小操作の後にファイルシステムに約400 Mbの空き容量が残ります。

私が実行するステップは次のとおりです。

aj@pop-os:~/disk_images$ sudo losetup -fP --show mcard.img 
/dev/loop0

aj@pop-os:~/disk_images$ sudo zerofree -v /dev/loop0p1
112082/2671282/3665210

aj@pop-os:~/disk_images$ sudo e2fsck -f /dev/loop0p1
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/loop0p1: 191007/917504 files (0.3% non-contiguous), 993928/3665210 blocks

aj@pop-os:~/disk_images$ sudo resize2fs -Mp /dev/loop0p1
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/loop0p1 to 1115084 (4k) blocks.
Begin pass 2 (max = 3444)
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 112)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/loop0p1 is now 1115084 (4k) blocks long.

すべてがうまく機能しているようで、ファイルシステムは16GBから4.1GBに縮小されました。ただし、ファイルシステムに空き容量が残ります。

aj@pop-os:~/disk_images$ sudo mount /dev/loop0p1 xmnt/
aj@pop-os:~/disk_images$ df -h xmnt/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0p1    4.1G  3.5G  434M  90% /home/aj/disk_images/xmnt

aj@pop-os:~/disk_images$ sudo umount xmnt/
aj@pop-os:~/disk_images$ sudo dumpe2fs -h /dev/loop0p1
(Output shortened for readability)
Block count:              1115084
Reserved block count:     47712
Free blocks:              162785
Block size:               4096

ご覧のとおり、ファイルシステムを縮小した後、dfユーティリティはdumpe2fsファイルシステムイメージに残っている空き容量を表示します。

なぜそんなことですか?予約されたブロックに加えて空き領域がないようにファイルシステムのサイズを実際に減らすためにresize2fsを取得するにはどうすればよいですか?

ベストアンサー1

おすすめ記事