Title: Resize live UFS filesystem on FreeBSD 11 | |
Author: Solène | |
Date: 17 May 2016 | |
Tags: freebsd11 | |
Description: | |
I am using FreeBSD in virtual machines and sometimes I need to | |
increase the disk capacity of the storage. From your VM Host, increase | |
the capacity of the storage backend, then on the FreeBSD system (10.3 | |
when writing), you should see this in the last line of _dmesg_. | |
Use `gpart commit vtbd0` to save changes or `gpart undo vtbd0` to | |
revert them. | |
Here is the `gpart show` output on the system: | |
34 1024 1 freebsd-boot (512K) | |
1058 159382528 2 freebsd-ufs (76G) | |
159383586 8388540 3 freebsd-swap (4.0G) | |
167772126 167772161 - free - (80G) | |
The process is a bit harder here because I have my partition swap at | |
the end of the storage, so if I want to increase the size of the ufs | |
partition, I will need to remove the swap partition, increase the data | |
partition and recreate the swap. This is not that hard but having the | |
freebsd-ufs partition at the end would have been easier. | |
1. swapoff the device : **`swapoff /dev/vtbd0p3`** | |
2. delete the swap partition : **`gpart delete -i 3 vtbd0`** | |
3. resize the freebsd-ufs partition : **`gpart resize -i 2 -a 4k -s | |
156G vtbd0`** | |
4. create the swap : **`gpart add -t freebsd-swap -a 4k vtbd0`** | |
5. swapon : **`swapon /dev/vtbd0p3`** | |
6. tell UFS to resize : **`growfs /`** | |
If freebsd-ufs was the latest in the gpart order, only steps 3 and 6 | |
would have been necessary. | |
Sources: [FreeBSD | |
Handbook](https://www.freebsd.org/doc/handbook/disks-growing.html) and | |
[gpart(8)](https://www.freebsd.org/cgi/man.cgi?gpart%288%29) | |