I’m running a FreeBSD instance in Linode. And FreeBSD is not the official supported OS in Linode.The disk type is set to raw to install FreeBSD.
And recently Linode upgraded my instance and the disk size is increased from 40G to 80G.
But when I login to the system, I found that my zpool is still 40G. But the disk is shown as 80G.
# gpart show => 34 100663229 ada0 GPT (80G) [CORRUPT] 34 6 - free - (3.0K) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 4194304 2 freebsd-swap (2.0G) 4196352 96464896 3 freebsd-zfs (46G) 100661248 2015 - free - (1.0M)
I tried to enable zfs autoexpand on my zpool, the same. Then how to increase the disk/zpool size?
First, re-write disk metadata
# gpart recover ada0 ada0 recovered
After this, gpart can show the real disk space info
#:~ # gpart show => 40 167772080 ada0 GPT (80G) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 4194304 2 freebsd-swap (2.0G) 4196352 96464896 3 freebsd-zfs (46G) 100661248 67110872 - free - (32G)
Then, expand zfs partition
# gpart resize -i 3 ada0 ada0p3 resized
Then, expand the zpool
zpool online -e zroot /dev/ada0p3
Done!
#:~ # df -h / Filesystem Size Used Avail Capacity Mounted on zroot/ROOT/default 74G 29G 45G 39% /
Don’t forget to write zfs info to disk
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0