Bobcares

Resize btrfs File System | A quick guide

by | Nov 14, 2021

Resize btrfs File System with this handy guide from the experts at Bobcares

At Bobcares, we offer solutions for every query, big and small, as a part of our Server Management Service.

Let’s take a look at how our Support Team recently helped out a customer with a workaround solution to resize their btrfs File System.

How to resize the btrfs file system

Although it is not possible to resize a btrfs file system, we can still resize each of the devices it uses. This stands true even if there is only one device in use. According to our Support Team, manually resizing the devices enables us to achieve the desired result.

Before we dive into the resizing process, our Support Techs would like to point out that the unit size is not size specific.

Furthermore, the command accepts ‘k’, ‘m’, and ‘g; for kilobytes, megabytes, and gigabytes respectively. It does not accept ‘t’ or ‘p’ for terabytes and petabytes.

How to enlarge a btrfs file system

Here is the command to enlarge the file system on a single system:

# btrfs filesystem resize amount mount-point

For instance:

# btrfs filesystem resize +200M /btrfssingle 
Resize '/btrfssingle' of '+200M'

In order to resize a multi-device file system, we have to specify the device to be enlarged. According to our Support Engineers, we have to first show all the devices with the btrfs file system at the specified mount point:

# btrfs filesystem show mount-point

For instance:

# btrfs filesystem show /btrfstest 
Label: none uuid: 755b41b7-7a20-4a24-abb3-45fdbed1ab39 
	Total devices 4 FS bytes used 192.00KiB 
	devid 1 size 1.00GiB used 224.75MiB path /dev/vdc 
	devid 2 size 524.00MiB used 204.75MiB path /dev/vdd 
	devid 3 size 1.00GiB used 8.00MiB path /dev/vde 
	devid 4 size 1.00GiB used 8.00MiB path /dev/vdf 
Btrfs v3.16.2

Once we identify the devid of the specific device we are enlarging, we will execute this command:

# btrfs filesystem resize devid:amount mount-point

For instance:

# btrfs filesystem resize 2:+200M /btrfstest 
Resize '/btrfstest/' of '2:+200M'

Moreover, we can set amount as max instead of a specific amount. This uses up the remaining free space available on the device.

How to shrink a btrfs file system

We will use the following command in order to shrink the file system on a single device:

# btrfs filesystem resize amount mount-point

For instance:

# btrfs filesystem resize -200M /btrfssingle 
Resize '/btrfssingle' of '-200M'

Before shrinking a multi-device file system, we have to specify the device to be shrunk. In other words, first, we will show all the devices with btrfs file system at the specified mount point as seen below:

# btrfs filesystem show mount-point

For instance:

# btrfs filesystem show /btrfstest 
Label: none uuid: 755b41b7-7a20-4a24-abb3-45fdbed1ab39 
	Total devices 4 FS bytes used 192.00KiB 
	devid 1 size 1.00GiB used 224.75MiB path /dev/vdc 
	devid 2 size 524.00MiB used 204.75MiB path /dev/vdd 
	devid 3 size 1.00GiB used 8.00MiB path /dev/vde 
	devid 4 size 1.00GiB used 8.00MiB path /dev/vdf 
Btrfs v3.16.2

Once we identify the device to be shrunk, we will use this command:

# btrfs filesystem resize devid:amount mount-point

For instance:

# btrfs filesystem resize 2:-200M /btrfstest 
Resize '/btrfstest' of '2:-200M'

How to set the file system size

According to our Support Team, the following command comes in handy in setting the file system to a certain size on a specific device:

# btrfs filesystem resize amount mount-point

For instance:

# btrfs filesystem resize 700M /btrfssingle 
Resize '/btrfssingle' of '700M'

Before setting the file system size in a multi-device file system, we have to specify the device. In other words, first, we will show all the devices with the btrfs file system at the specified mount point as seen below:

# btrfs filesystem show mount-point
For instance:
# btrfs filesystem show /btrfstest 
Label: none uuid: 755b41b7-7a20-4a24-abb3-45fdbed1ab39 
	Total devices 4 FS bytes used 192.00KiB 
	devid 1 size 1.00GiB used 224.75MiB path /dev/vdc 
	devid 2 size 724.00MiB used 204.75MiB path /dev/vdd 
	devid 3 size 1.00GiB used 8.00MiB path /dev/vde 
	devid 4 size 1.00GiB used 8.00MiB path /dev/vdf

Btrfs v3.16.2

Once we identify the device to be changed, we will use this command:

# btrfs filesystem resize devid:amount mount-point

For instance:

# btrfs filesystem resize 2:300M /btrfstest 
Resize '/btrfstest' of '2:300M'

[Looking for help with another query? We are just a click away.]

Conclusion

To conclude, the proficient Support Engineers at Bobcares showed us how to resize the btrfs file system without too much trouble.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.