2
I've noticed that guides on zfs+redundancy+performance tend to emphasise mirroring as a good option, but zfs administration information tends to provide relatively little information on managing a mirrored setup compared to one based on raidz.
I'm planning my zfs pool migrating from mirrored disks under Windows. My preferred setup has always been purely mirrored and having looked into zfs I'd like to keep this, and use pure mirroring for redundancy rather than RAIDZ. Ideally each drive remains logically readable in isolation, ie for 6 disks data is effectively stored as (1+2+3 mirror) + (4+5+6 mirror)
rather than ((1+2 stripe) x 3 mirror)
. I appreciate this wouldn't be very efficient and would involve having multiple smaller pools/datasets but having lost data before, it has advantages I value over efficiency. It's also probably much faster at reading and resilvering, and far more flexible physically.
If I want to run this kind of setup, what are the implications of mirroring within a vdev vs mirroring vdevs, and if the storage is extended in future by adding a set of 3 new disks, is it better to add them as a separate pool or a separate vdev (or 3 separate vdevs)?
That's a pretty cogent response - thank you. Two questions 1) can you clarify "expansion [in the way asked in the question or in some other way, it isn't clear?] also has this tradeoff". 2) I gather from your answer that there's no way to tell zfs to keep data as two distinct pools but then present them logically as one pool for file shares? Or can that be done by including within one pool a symlink to the root of the other pool, so that to the user they look like they have a common root and one filing system? – Stilez – 2016-05-20T12:06:52.637
Re 1: It was a response to your last question with the 3 new disks as either an addition to the old pool or as creation of a separate new pool. Expansion is almost the same as initial creation, consider you have 3+3 disks at first and want to add 3 later on vs. you have 3+3+3 disks at first - in both cases, your layout depends on your needs. – user121391 – 2016-05-20T12:17:03.137
Re 2: That is correct, if you split pools, you also have to use separate file systems and can share them only separately from each other. In my view this is the biggest downside of using split pools beside the obvious performance loss. On the plus side, different pools can have different properties, like
autoreplace
for example. A useful distinction is to think of the pools as your hardware (controllers, cables, disks) and of the filesystems as your software (data, directories, shares, permissions). This way the right layout comes pretty naturally. – user121391 – 2016-05-20T12:22:53.587