Symlinking pools is a bad idea (or is it?). But why?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

grenskul

Active Member
Nov 8, 2020
150
68
28
So to preface. I'm not going to do this. I'm not running zfs even (maybe yet , maybe ever).
I was going trough the basics and I have questions my regular hangout couldn't answer in a way that wasn't "that's just dumb" . So you're supposed to size your pools and vdevs according to your loss tolerance and all . That I got.But then why would you use multiple vdevs for anything but more performance? So imagine you have 12 disks . 2 vdevs of 6 raidz2 was explained to me as an ok setup for that amount of disks.
In that config I could lose 2 disks per vdev and not lose any data. So I could lose 4 total disks and still have all my data (again as long as it was 2 per vdev).I pretty sure I'm right up to here.
Now for the dumb. Why wouldn't you just make 2 pools with one vdev each and then just symlink pool 2 to pool 1 to make it so even if you lost more than 3 disks per vdev you wouldn't lose all your data (or use mergefs instead of symlinks)? What makes this a bad idea (besides performance , assuming performance is totally secondary to data resilience)? Some data is better than no data right ?
Again I am not implementing this , this is from a place of ignorance and I'm trying to "get" zfs and this just hasn't computed.
 

dswartz

Active Member
Jul 14, 2011
610
79
28
Multiple pools means having to balance data. I'm not even sure what you mean by symlinking pools. AFAIK, zfs has no such concept, and if you try to layer some other FS on top, you're cruising for trouble.
 

grenskul

Active Member
Nov 8, 2020
150
68
28
Multiple pools means having to balance data. I'm not even sure what you mean by symlinking pools. AFAIK, zfs has no such concept, and if you try to layer some other FS on top, you're cruising for trouble.
/pool1 and /pool2, do like /pool2/folder -> /pool1/folder? .
 

dswartz

Active Member
Jul 14, 2011
610
79
28
Sure, just not sure what that really gains you as opposed to making one big pool and not having to deal with balancing...
 

tsteine

Active Member
May 15, 2019
171
83
28
@grenskul If I correctly understand what you are after, it is the ability to lose a pool entirely, without losing your all your data.

In my book, the ZFS way to do that would be to set up 2 individual pools consisting of 1 raid6 vdevs each
Expose pool1 and use it normally
setup a cron job that creates snapshots of pool1 then replicates that snapshot from pool1 to pool2 at whatever interval you need.

I don't know of any way to achieve raid1 functionality in a pool across vdevs. In ZFS, redundancy is at the vdev layer, and not at the pool layer.
 
Last edited: