- Data integrity
- Easy web manager
- Jailed plugins
- Lots more!
- Automatic striping across devices
- Fault-tolerant / self healing
- Copy-on-write (COW)/ snapshots
- Machine independent
- Volume manager
- On write, copy block and write to the copy
- When copy finishes, pointers are updated to reference block copy + freshly written data
- Want snapshots?
COW allows for a few different kinds of “snapshots” to be created:
- snapshots: point in time reference to a set of blocks.
- clones: filesystem that references blocks at a point in time.
Think of clones like a directory that contains old data symlinked in.
ZFS Self Healing
- Every block has a 256-bit checksum associated with it.
- Validated every read.
- Data can be healed from another copy if checksums do not match.
- scrub reads everything, should be used regularly on low access data!
We don’t need no stinking partitions?
- vdev: files, hard drive partitions or entire disks.
- Usage of entire drive is recommended as it simplifies things greatly.
- zpool: a collection of one or more vdevs (think of a zvol as a raw disk device).
- datasets: chop up a zpool to allow differing permissions, quotas and compression per dataset.
- The web manager covers a very broad range of tasks
Word of caution: The web ui does not use https by default. Only access it from a trusted network during initial setup!
- Utilizes FreeBSD’s jail(8) and PC-BSD’s Push Button Installer (PBI).
- Allows for isolated applications.
- Fine grain access control to zpools can be leveraged.
[if you don’t see a live demo - the presenter needs more beer!]
What can’t you use it for? :P