external jbod - pool and vdev layout

otpi

Contributor
Joined
Feb 23, 2017
Messages
117
What is the ideal pool and vdev layout when using external JBODs? In case of power loss/bad cable, expander etc...

If I have two diskshelves, use mirrored pairs and one physical member of that mirror in each shelf. Loss of one shelf is ok, right?

What if I use 8 wide raidz3. Should each vdev split 3/5 disks between shelves in case of a failure? vs. 4/4 split or 8/0 split.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
What if I use 8 wide raidz3. Should each vdev split 3/5 disks between shelves in case of a failure? vs. 4/4 split or 8/0 split.
You can't get a survivable setup with an 8-wide RAIDZ3 and a whole shelf loss ( unless it's 8-0 and the shelf with no member disks is the one lost.. you'll be doing pretty well if you can predict which one that will be in order to set up for it).

If your goal is pool survival with an entire shelf missing, you probably need to stick with your mirrored arrangement.

Otherwise, you need to restrict your VDEVs to only be 2x wide as the parity disk count (still losing as much as mirrors to capacity anyway).
 

otpi

Contributor
Joined
Feb 23, 2017
Messages
117
Of course! thanks! Parity x2. Had a mental f-up there...

Regarding data integrity: If a pools vdevs are spread over several physical shelves, and one shelf loose power, is that worse than if all vdevs where in the same physical box?
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
Regarding data integrity: If a pools vdevs are spread over several physical shelves, and one shelf loose power, is that worse than if all vdevs where in the same physical box?
Data integrity will be maintained to the extent that you have designed for it (SLOG or not, redundant devices in either mirrors or parity, etc.)... as long as the shelves that go offline can eventually be brought back, it really makes little difference... if a pool doesn't have enough disks to remain available, it will stop doing transactions anyway, so in both cases an unavailable pool is the result.
 
Top