19
ZFS Swap on Linux (lemmy.world)
submitted 11 months ago by JustineSmithies@lemmy.world to c/linux@lemmy.ml

One for those running #ZFS on #Linux systems. I realise that you can't have hibernate aka suspend to disk on a swap in the encrypted zpool but if you don't use hibernation then is it OK to use swap using the likes of the command example below to set it up in the encrypted pool?

I should point out that I'm thinking of switching from my current Void Linux luks lvm setup to Void with fully encrypted zpool and zfsbootmenu on my ThinkPad P14s AMD Gen 1which has 16Gb ram that I may upgrade to 40Gb. It also has a 1Tb nvme.

zfs create -V "${v_swap_size}G" -b "$(getconf PAGESIZE)" -o compression=zle -o logbias=throughput -o sync=always -o primarycache=metadata -o secondarycache=none -o com.sun:auto-snapshot=false "$v_rpool_name/swap"

top 12 comments
sorted by: hot top controversial new old
[-] MNByChoice@midwest.social 10 points 11 months ago

ZFS is a large consu6 of RAM. I would think putting swap in ZFS is a terrible idea. I have not checked current recommendations.

[-] JustineSmithies@lemmy.world 4 points 11 months ago
[-] socphoenix@midwest.social 4 points 11 months ago

You might try adding a cache drive instead. It can help lessen the memory usage zfs needs to maintain speed. My server is spinning rust with an ssd drive attached to the pool as cache.

Command would be “zpool add pool_name cache /dev/sdX” where pool_name is the pool you want the cache on, and /dev/sdX is the empty drive you want to use with it (or partition). Make sure to encrypt this drive before setting this up, my knowledge is zfs doesn’t do that for you.

see here for a bit more information on caching.

[-] aodhsishaj@lemmy.world 4 points 11 months ago* (last edited 11 months ago)
[-] socphoenix@midwest.social 1 points 11 months ago* (last edited 11 months ago)

It’s 512GB of ssd cache plus 128GB of ram, so for now that’s been enough

[-] aodhsishaj@lemmy.world 3 points 11 months ago

Ah sorry I responded to the wrong post somehow. Meant that for OP

[-] aodhsishaj@lemmy.world 3 points 11 months ago

ZFS was built initially for large SANs so it's very cache driven. You should get two SSDs and add both for cache.

[-] Chewy7324@discuss.tchncs.de 7 points 11 months ago* (last edited 11 months ago)

If hibernate isn't a concern, I'd go with zram. Instead of swapping to a partition/file, zram compresses pages and stores them in RAM. This makes swapping quite fast.

I've not found out how to enable it on Void, but the following app was mentioned on a Void forum.

https://github.com/atweiden/zramen

[-] d3Xt3r@lemmy.nz 6 points 11 months ago* (last edited 11 months ago)

ThinkPad P14s AMD Gen 1

Both the laptop and the stock NVMe drive supports Opal2. Not sure about your second drive but if it also supports Opal2, then you should just use that instead of ZFS encryption, since Opal encryption is transparent to the OS, so you won't have any issues with hibernation.

[-] pastermil@sh.itjust.works 2 points 11 months ago

Call me a slowpoke, but I've just learned about Opal2. Would this work with LUKS2 and other OS encryption?

[-] d3Xt3r@lemmy.nz 2 points 11 months ago

Yes, but the whole point of using Opal2 encryption is that you don't need to use OS-level FDE/filesystem encryption, thus simplifying your set up.

Of course, you can still use them if you want to though.

[-] antsu@lemmy.wtf 3 points 11 months ago

I don't have the source right now, but I had the same idea not long ago, and the tl;dr is swap on a zvol is a very bad idea. If your system ever runs low on memory and actually needs to do heavy swapping, you're setting yourself up for a catastrophe.

this post was submitted on 13 Dec 2023
19 points (100.0% liked)

Linux

48248 readers
679 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS