zfs:structure:vdev
ZFS - Structure - vdev
Each zpool consists of one or more vdevs (virtual devices).
- Each vdev, in turn, consists of one or more real devices.
- Most vdevs are used for plain storage, but several special support classes of vdev exist:
- CACHE
- LOG
- SPECIAL
- Each of these vdev types can offer one of five topologies
- Single-device.
- Mirror.
- RAIDz1.
- RAIDz2.
- RAIDz3.
RAIDz1, RAIDz2, and RAIDz3 are special varieties of what storage greybeards call “diagonal parity RAID.”
- The 1, 2, and 3 refer to how many parity blocks are allocated to each data stripe.
- Rather than having entire disks dedicated to parity, RAIDz vdevs distribute that parity semi-evenly across the disks.
- A RAIDz array can lose as many disks as it has parity blocks; if it loses another, it fails, and takes the zpool down with it.
Mirror vdevs mirror each block on every device in the vdev.
- Although two-wide mirrors are the most common, a mirror vdev can contain any arbitrary number of devices—three-way are common in larger setups for the higher read performance and fault resistance.
- A mirror vdev can survive any failure, so long as at least one device in the vdev remains healthy.
Single-device vdevs are inherently dangerous.
- A single-device vdev cannot survive any failure.
- If it is being used as a storage or SPECIAL vdev, its failure will take the entire zpool down with it.
- Be very, very careful here!!!
CACHE, LOG, and SPECIAL vdevs can be created using any of the above topologies.
- But remember, loss of a SPECIAL vdev means loss of the pool, so redundant topology is strongly encouraged.
zfs/structure/vdev.txt · Last modified: 2021/10/13 00:25 by peter