在Solaris ZFS根文件系统环境中设置交换区大小
1、确定当前交换区文件及大小
#zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
rpool 278G 92.8G 185G 33% 1.00x ONLINE -
#swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 293,1 16 4194288 4194288
#zfs get volsize rpool/swap
NAME PROPERTY VALUE SOURCE
rpool/swap volsize 2G local
2、如果当前交换区没有被正在使用 ( 如上面swap -l 命令输出中blocks为4194288,free为4194288 ),可以直接改变交换区的大小。
#zfs set volsize=20G rpool/swap
#zfs get volsize rpool/swap
NAME PROPERTY VALUE SOURCE
rpool/swap volsize 20G local
#swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 293,1 16 41943024 41943024
3、 如果当前交换区正在被使用 ,可以通过增加新的交换文件来增加交换区的大小。
#zfs create -V 4G rpool/swap2
#swap -a /dev/zvol/dsk/rpool/swap2
#zfs get volsize rpool/swap2
NAME PROPERTY VALUE SOURCE
rpool/swap2 volsize 4G local
#swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 293,1 16 41943024 41943024
/dev/zvol/dsk/rpool/swap2 293,3 16 8388592 8388592
4、如何删除交换文件
#swap -d /dev/zvol/dsk/rpool/swap2
#zfs destroy rpool/swap2
#swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 293,1 16 41943024 41943024