How nested can be the VDEV tree? All the examples I've
seen suggested 3 layers - root vdev, striping over some
top-level vdevs (if present), made (redundantly) of some
physical/leaf vdevs.

  In trivial cases this goes down to two levels (a root
striping over non-redundant leaf vdevs) or one level
(single disk pools).

1) Can the top-level vdevs be nested?

2) In particular, if I wanted to make a mirror of raidzN's,
can it be done in one ZFS pool, or would I have to play
with iSCSI and ZVOLs?

3) If I have two separate ZFS nodes with local storage,
intended for failure-tolerant HA, which approach is better -
to create a mirror over ZVOLs (importing a remote ZVOL over
iSCSI and loopback), or to replicate using frequent snapshots
and zfs send/zfs recv?

I expect the mirroring approach to provide better failover
HA since any most-recently-alive node has the most up-to-date
data stored locally, and its mirroring layer would replicate
(resilver) all changes to the downed node when that comes up.
While with zfs-send replications, we'd have to roll back
to the most recent common snapshot, and choose which node
to replicate form each time...

But with zfs send each host's local data is more probably
consistent, since it is written and tracked separately.

I guess both approaches are good for actually different
tasks - like failover and near-sync backup...

What are known drawbacks of mirroring over LAN, such as
implications on performance, latency, fragmentation,
storage/computing overhead?

zfs-discuss mailing list

Reply via email to