Write Anywhere File Layout
||This article needs additional citations for verification. (March 2012)|
|Full name||Write Anywhere File Layout|
|Max. file size||up to 100TB (limited by containing aggregate size; variable maximum depending on platform)|
|Max. volume size||up to 100TB (limited by containing aggregate size; variable maximum depending on platform; limited to 16TB when using Deduplication)|
|Allowed characters in filenames||selectable (UTF-8 default)|
|Dates recorded||atime, ctime, mtime|
|File system permissions||UNIX permissions and ACLs|
|Transparent compression||Yes (Ontap 8.0 onwards)|
|Transparent encryption||No (possible with 3rd party appliances like Decru DataFort)|
|Data deduplication||Yes (FAS Dedup: periodic online scans, block based;)|
|Supported operating systems||Data ONTAP|
The Write Anywhere File Layout (WAFL) is a file layout that supports large, high-performance RAID arrays, quick restarts without lengthy consistency checks in the event of a crash or power failure, and growing the filesystems size quickly. It was designed by NetApp for use in its storage appliances. Its author claims that WAFL is not a file system. WAFL provides mechanisms that enable a variety of file systems and technologies that want to access disk blocks.
One of WAFL's most salient features is the snapshot, or read-only copy of the file system. Zero-copy snapshots allow users to recover files that have been accidentally deleted; they provide an online backup that can be accessed quickly. It is implemented similarly to that of a log-structured file system. A special kind of snapshot that the filer uses internally called a consistency point allows WAFL to restart quickly in the event of an improper shutdown. NetApp's Data ONTAP Release 7G operating system supports a read-write snapshot called FlexClone.
An important feature of WAFL is its support for both a Unix-style file and directory model for NFS clients and a Microsoft Windows-style file and directory model for CIFS clients. WAFL also supports both security models, including a mode where different files on the same volume can have different security attributes attached to them. Unix can use either access control lists (ACL) or a simple bitmask, whereas the more recent Windows model is based on access control lists. These two features make it possible to write a file to a CIFS type of networked filesystem and access it later via NFS from a Unix workstation.
As the name suggests Write Anywhere File Layout does not store data or metadata in pre-determined locations on disk, instead it automatically places data using temporal locality to write metadata alongside user data in a way designed to minimize the number of disk operations required to commit data to stable disk storage using single and dual parity based RAID.
Using a data placement based on temporal locality of reference can improve the performance of reading data sets which are read in a similar way to the way they were written (e.g. a database record and its associated index entry), however it can also cause fragmentation from the perspective of spacial locality of reference. This does not adversely affect files that are sequentially written, randomly read, or are subsequently read using the same temporal pattern, but does affect sequential read after random write spacial data access patterns.
Releases of Data ONTAP since 7.3.1 have included a number of techniques to optimize spatial data layout such as the reallocate command to perform scheduled and manual defragmentation, and the Write after Read volume option which detects and automatically corrects suboptimal data access patterns caused by spatial fragmentation. Releases of Data ONTAP 8.1.1 include other techniques to automatically optimize contiguous free-space within the filesystem which also helps to maintain optimal data layouts for most data access patterns. Prior to 7G, the wafl scan reallocate command would need to be invoked from an advanced privilege level and could not be scheduled.
See also 
- Netapp's official website
- Network Appliance: File System Design for an NFS File Server Appliance
- U.S. Patent 5,819,292 - Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file system - October 6, 1998