2

Suppose I have

  1. 4 disks split into 2 zfs mirrored pairs
  2. 2 sata controllers, where each can take 2 disks

Obviously, better expected uptime will be achieved by splitting each controller across both mirrored pairs: so either controller can fail and still leave a (degraded) pool running on the other controller.

Suppose I care more about performance than uptime. What is faster:

  1. splitting each controller across mirrored pair
  2. splitting each mirrored pair across controllers
mkk
  • 123
  • 3
  • At this small scale, I don't think it matters. Don't overcomplicate the solution. But why are you expecting SATA controller failure? – ewwhite Jun 19 '23 at 07:05
  • its a toy example, in reality there are several controllers and 12 disks – mkk Jun 19 '23 at 22:44
  • Why didn't you ask about the real situation? – ewwhite Jun 21 '23 at 01:31
  • I see your confusion. The question was phrased as a hypothetical ("Suppose...") because having only two mirrors and two controllers removes the "the number of physical disks on a single controller" as a performance variable. I posed the hypothetical so I could just get answers specifically about the effect of dividing pools between controllers or vice versa. – mkk Jun 21 '23 at 16:55

1 Answers1

3

If performance is your top priority and you can tolerate the potential downtime and data unavailability caused by a controller failure, splitting each controller across mirrored pairs may offer better performance by leveraging increased parallelism and load balancing.

fopsik
  • 606
  • 3
  • 9