User Tools

Site Tools


ZFS Stripe/Span

Basically a junction of 2 or more drives or other vdev shapes.

When created together, with equal capacity, ZFS space-balancing makes a span act like a raid0 stripe.

Basically, the space is added together. That's the important point.

Basically, a stripe occurs where all the devices/vdevs are initialized into the pool simultaneously.

Provided all the devices are of the same size, the stripe behavior will continue regardless of fullness level.

If devices/vdevs are not equally sized, then they will fill mostly equally until one device/vdev is full. The stripe behavior stops at that point and the other device(s)/vdev(s) with more capacity will be used more.

A span occurs where the pool starts with a certain number of devices or vdevs and more devices or vdevs are added later. The newer-added devices start empty. ZFS makes no effort to balance the data in the pool across those devices or vdevs. This is not a design flaw. As more data is copied to the pool ZFS will start filling with the least full device/vdev to a point where the devices/vdevs are roughly equally full. Once all devices/vdevs are roughly equally full, it will start to behave in a stripe-like behavior.

While behaving in a stripe-like manner, here are some pros and cons:


  • Reading and/or writing can be significantly faster - reading or writing simultaneously to multiple devices is faster than using a single device
  • Drives/vdevs don't have to be used singularly - more combined space


  • Lack of redundancy - If the underlying vdevs don't include redundancy, one drive failure can result in even more data loss than you might anticipate. For example, with a stripe of 3 devices/vdevs, and one device/vdev fails, at best, any file that had portions stored on the failed device will have chunks missing, and at worst, the whole pool will be unsalvageable.

Back to ZFS

zfs/raid/stripe.txt · Last modified: 2018/07/08 16:57 (external edit)