如何将交换添加到 ZFS 磁盘?

5 solaris opensolaris

我在一台机器上安装了 Solaris 10 05/09,我在构建盒子时使用了任何默认的交换空间设置。现在我需要增加交换空间,但我无法添加交换文件,就像在 UFS 下一样。如何增加 ZFS 驱动器上的交换量?

小智 11

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

$ swap -l
swapfile                 dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 182,2         8  4194296  4194296
Run Code Online (Sandbox Code Playgroud)

在上面的输出中,blocks == free,所以实际上并没有使用交换设备。

如果没有使用交换区,则删除交换区。例如:

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

确认交换区已移除。

$ swap -l
No swap devices configured
Run Code Online (Sandbox Code Playgroud)

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

$ zfs set volsize=1G rpool/swap
Run Code Online (Sandbox Code Playgroud)

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

$ zfs set refreservation=1G rpool/swap
Run Code Online (Sandbox Code Playgroud)

激活交换区。

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

$ swap -l
swapfile                 dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 182,2         8  2097144  2097144
Run Code Online (Sandbox Code Playgroud)

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