By Deirdre' Straughan on Sep 07, 2010
George Wilson describes a new feature of ZFS in Oracle Solaris 10 9/10.
This talk explains the basic elements of the ZFS filesystem and the corresponding structures in the on-disk format. ZFS belongs to a new generation of filesystems, which are able to keep up with the pace of the developing disk subsystems and new challenges in data processing. But how does it work?
Transactions are implemented with COW; the talk explains which data structures from uberblock over the internal tree to the leaf nodes on the disk are modified during that. Some applications like databases emit a high number of synchronous writes which have to be implemented differently; ZFS keeps the integrity with the ZFS Intent Log.
The tasks of the Data Management Unit (DMU) and the Storage Pool Allocator (SPA) are explained and why ZFS is able to optimize better than traditional filesystems. The structures mantained by DMU and SPA are examined. Directories and other mappings are implemented with ZAP (ZFS Attribute Processor) and variants (micro-ZAP). It is explained how it works and where it is used. Free space in ZFS is mantained with regard to the blocks still in use by snapshots. The talk explains how this works over multiple disks. ZFS can use SSDs in the critical areas for faster log writing (aka LOGZILLA) and for fast access to frequently read data (aka READZILLA). ZFS caching algorithm ARC implements this.
A presentation at OSDEVCON 2009 by Ulrich Gräf:
TH Darmstadt (now TU Darmstadt) 1985 - 1991:
NOTE, 2014: We lost Uli last year, so we are especially pleased to be able to bring back this video as at least one way to honor his contributions.
Learn more: Oracle Solaris ZFS Technology at the Oracle Technology Network