J'utilise native-zfs et je me demandais s'il existe un moyen d'utiliser une partition ZFS pour SWAP. J'utilise mon serveur avec une clé USB et je pense que ce serait un bon moyen de l'accélérer un peu.
L'utilisation de ZFS pour swap devrait simplement fonctionner, comme c'est le cas sous Solaris et FreeBSD.
zfs create pool/swap -V 1G -b 4K
mkswap -f /dev/pool/swap
swapon /dev/pool/swap
Voici un guide plus élaboré, copié à partir du wiki de zfsonlinux :
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
Vous pouvez ajuster la taille (la partie 4G
) à vos besoins.
L'algorithme de compression est défini sur zle
car il s'agit de l'algorithme disponible le moins cher. Avec ashift=12
(blocs de 4 Ko sur le disque), le cas courant d’une taille de page de 4 Ko signifie qu’aucun algorithme de compression ne peut réduire les E/S. L'exception concerne les pages à zéro zéro, qui sont supprimées par ZFS; mais une certaine forme de compression doit être activée pour obtenir ce comportement. Si votre pool utilise ashift=9
, vous pouvez utiliser compression=lz4
.
mkswap -f /dev/zvol/rpool/swap
/etc/fstab
echo /dev/zvol/rpool/swap none swap defaults 0 0 >> /etc/fstab
Avertissement: utilisez toujours des alias longs /dev/zvol
dans les fichiers de configuration. N'utilisez jamais un nom de périphérique /dev/zdX
court.
swapon -av