this post was submitted on 02 Jan 2025
5 points (100.0% liked)

Everything ZFS

293 readers
1 users here now

A community for the ZFS filesystem.

ZFS is an opensource COW filesystem used by enterprise and serious homelabbers for it's data safety and extensive feature set.

OpenZFS is the active branch now developed primarily for Linux with a port to it's FreeBSD roots.

This community is here to answer questions and discuss topics related to the use of ZFS in the wild.

Rules:

As always, the main rule is Don't Be a Dick. Be polite with new users asking questions that you may consider obvious. If you don't have something constructive to offer, downvote and move on.

No dirty deletes: your posts are here for posterity, perhaps the next person will get something out of it, even if it's wrong.

founded 2 years ago
MODERATORS
 

Hi there,

I'm not an expert in ZFS (I know enough to be a dangerous fanboy, haha), but I have an unraid server with two ZFS pools: one with HDDs and one with SSDs.

I recently bought a new 4TB Samsung 990 Pro SSD and want to add it to the SSD pool.

My initial thought was to add the 990 to the pool as a new VDEV. However, I'm also considering recreating the SSD pool with two drives in a strip configuration. I don't mind disk failures because I regularly snapshot and back up the SSD pool to the HDD pool.

The main goal is to have access to all 5TB of storage.

I'm wondering if it's a good idea to combine these drives into one pool or if it would be better to create three separate pools.

top 2 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 1 month ago (1 children)

Stripes and mirrors have similar read performance. Write performance will suffer in a mirror, though, so it depends on your use case. Personally I'd go with mirrors, or best of both worlds, mirrors + stripes. Restoring backups and outages are a pain. Of course this halves your storage space, but drives are comparatively cheap. You're better off doing something silly like bridging the drives with mergerfs. And no matter what without mirroring or RAID-Z you're giving up on ZFS best feature- the check-summing based healing. Better off just yoloing with ext4.

Hard drives and SSDs should always exist in separate pools, unless you're using the SSD as a pool cache for read or write, but realistically outside massive databases or busy virtual machine storage almost no one needs write caching.

The main reason for separating them is that you'll get consistent performance from the pool with like hardware, otherwise your performance for reading from the pool will be equivalent to the performance of the slowest drive in the pool.

[–] [email protected] 1 points 1 month ago

Thanks for your perspective.

I decided to go with the new vdev because:

  • That way, I have access to all 5TB (1TB from the old SSD and 4TB from the new one).
  • One pool is easier to manage than two.
  • I know that I don’t have auto-healing, and if either of the SSDs fails, I lose the whole pool, and I accept that.

I did this via:
zpool add ssdPool /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB-part3

I don’t like ext4 because it is not easily backupable (it doesn’t have snapshots, which are moved periodically to hddPool).