How do I determine the new size for resize2fs?

I want to shrink an ext4 filesystem to make room for a new partition and came across the resize2fs program. The command looks like this:

resize2fs -p /dev/mapper/ExistingExt4 $size

How should I determine $size if I want to substract exactly 15 GiB from the current ext4 filesystem? Can I use the output of df somehow?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

You should not use df because it shows the size as reported by the filesystem (in this case, ext4).

Use the dumpe2fs -h /dev/mapper/ExistingExt4 command to find out the real size of the partition. The -h option makes dumpe2fs show super block info without a lot other unnecessary details. From the output, you need the block count and block size.

...  
Block count:              19506168  
Reserved block count:     975308  
Free blocks:              13750966  
Free inodes:              4263842  
First block:              0  
Block size:               4096  
...

Multiplicating these values will give the partition size in bytes.

The above numbers happen to be a perfect multiple of 1024, so we can calculate the result in KiB:

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

Since you want to shrink the partition by 15 GiB (which is 15 MiB times 1 KiB):

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

As resize2fs accepts several kinds of suffixes, one of them being K for “1024 bytes”, the command for shrinking the partition to 62296032 KiB becomes:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

Without unit, the number will be interpreted as a multiple of the filesystem’s blocksize (4096 in this case). See man resize2fs(8)


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x