Resizing swap on Solaris 11
08 April 2012
I was doing the 11.0 to 11.1 upgrade, and pkg
told me:
pkg: Insufficent disk space available (3.16 GB)for estimated need (4.42 GB) for
Root filesystem
So I need to find another Gb and a bit from somewhere, and it happens that this box has way more swap space than it needs.
On any Solaris with ZFS root, swap is a ZFS dataset just like any other.
Well, almost any other. It’s acutally a vdev, so it needs to be created
with -V
and a size.
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 171,2 8 12280 12280
The steps are to remove the swap space, destroy the dataset, recreate it with a smaller size, then add it again.
# swap -d /dev/zvol/dsk/rpool/swap
# zfs destroy rpool/swap
# zfs create -V 3G rpool/swap
# swap -a /dev/zvol/dsk/rpool/swap
If, like me, you have slow disks, it can take a while to intialize the swap, but that’s all you have to do. Beats messing about with swap partitions doesn’t it?