私はnative-zfsを使用していますが、SWAPにZFSパーティションを使用する方法があるかどうか疑問に思っていました。サーバーをサムドライブから実行しているので、少し高速化するのに良い方法だと思いました。
スワップにZFSを使用することは、SolarisおよびFreeBSDの場合とまったく同じように機能します。
zfs create pool/swap -V 1G -b 4K
mkswap -f /dev/pool/swap
swapon /dev/pool/swap
zfsonlinux wiki からコピーした、より詳細なガイドを次に示します。
zfs create -V 4G -b $(getconf PAGESIZE) -o compression=zle \
-o logbias=throughput -o sync=always \
-o primarycache=metadata -o secondarycache=none \
-o com.Sun:auto-snapshot=false rpool/swap
必要に応じてサイズ(4G
部分)を調整できます。
最も安価なアルゴリズムであるため、圧縮アルゴリズムはzle
に設定されます。 ashift=12
(ディスク上の4 kiBブロック)では、4 kiBページサイズの一般的なケースは、圧縮アルゴリズムがI/Oを削減できないことを意味します。例外はすべてゼロのページで、ZFSによって削除されます。ただし、この動作を実現するには、何らかの形式の圧縮を有効にする必要があります。プールでashift=9
を使用している場合、compression=lz4
を使用できます。
mkswap -f /dev/zvol/rpool/swap
/etc/fstab
を更新echo /dev/zvol/rpool/swap none swap defaults 0 0 >> /etc/fstab
警告:構成ファイルでは常に長い/dev/zvol
エイリアスを使用してください。短い/dev/zdX
デバイス名を使用しないでください。
swapon -av