Z File System (ZFS)

The Z File System (ZFS) is an open-source logical volume manager and file system created by Sun Microsystems, originally for its Solaris operating system. It is now used in many operating systems including FreeBSD, NetBSD, Mac OS X Server 10.5 and various Linux distributions through ZFS-FUSE. The most distinguishing feature of ZFS is pooled storage, where multiple storage devices are treated as one big pool rather than as separate devices and logical drives. Storage can be taken from the pool and allocated to other file systems, and the pool can be increased by adding new storage devices to the pool. This is the same method of resource allocation used in a multitenant cloud environment.


ZFS is an advanced file system designed by Sun Microsystems to overcome many of the problems that previous file system designs had such as error prevention and volume management. ZFS includes data corruption protection, support for multiple storage devices and high storage capacities without degrading performance, and uses concepts like volume management, copy-on-write clones, snapshots, continuous checking of integrity and automatic repair when errors are found. It also uses a data replication model similar to RAID-5, which is called RAID-Z, and eliminates a fatal flaw in RAID-5 called the "write hole," which causes a problem when a data block is written to a stripe but a power failure or interruption happens just before the parity block can be written, resulting in the data being inconsistent.

Major design goals of ZFS:

Data integrity — Checksum is always written with data and is calculated again when those data are read back. If there is a mismatch in the checksum, which indicates an error, then ZFS attempts to automatically correct the error if data redundancy is available (backups).

Pooled storage — All storage devices are added to a pool, which can be allocated to other file systems or returned. This makes it easier to manage since a single pool is simpler than multiple physical and logical drives. To increase the pool, new storage devices can be added.

Performance — Performance is increased by employing multiple caching mechanisms. ZFS uses an adaptive replacement cache (ARC), which is an advanced memory-based read cache, along with a second L2ARC, which can be added when needed, and a disk-based synchronous write cache, which is available through ZIL (ZFS intent log).

Post a Comment

0 Comments