如何向 ZFS 磁盘添加交换?

如何向 ZFS 磁盘添加交换?

我在一台机器上安装了 Solaris 10 05/09,在构建机器时使用了默认的交换空间设置。现在我需要增加交换空间,但无法添加交换文件,而这在 UFS 下是可以做到的。如何增加 ZFS 驱动器上的交换空间?

答案1

如果您的交换设备正在使用中,则可能无法删除它。检查交换区域是否正在使用中。例如:

$ swap -l
swapfile                 dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 182,2         8  4194296  4194296

在上面的输出中,blocks == free,因此交换设备实际上并未被使用。

如果交换区域未使用,请删除交换区域。例如:

$ swap -d /dev/zvol/dsk/rpool/swap

确认交换区域已被删除。

$ swap -l
No swap devices configured

调整交换卷的大小。例如:

$ zfs set volsize=1G rpool/swap

还必须确保引用的交换从池中保留,否则在交换时可能没有足够的内存:

$ zfs set refreservation=1G rpool/swap

激活交换区域。

$ swap -a /dev/zvol/dsk/rpool/swap

$ swap -l
swapfile                 dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 182,2         8  2097144  2097144

更多信息请访问:ZFS 故障排除指南

答案2

如果您的交换处于活跃状态,您可以添加额外的交换量。

zfs 创建 -V 10G rpool/swap2

交换 -a /dev/zvol/dsk/rpool/swap2

相关内容