< ZFS
ZFS/Features
The following is a near-exhaustive list of features that ZFS offers:
- Simplified administration (two main administration tools, zpool and zfs)
- A hierarchical namespace for management of all mountpoints (datasets) and block devices (zvols).
- Online management (no downtime required for routine administrative tasks)
- Partitioning is replaced by ZFS storage pools that span multiple disks
- Dynamic allocation of storage across mountpoints (no need to repartition)
- Integrated Volume management (zvol block devices like LVM logical volumes)
- Supports thin provisioning of storage
- Snapshots (maintains a copy of data as it was at a specific point in time)
- Clones (write-able copies of snapshots that store only changes from the original)
- Special .zfs directory for viewing contents of snapshots.
- ZFS Send/Recv of snapshots (online backup without the consistency issues of rsync)
- Incremental Send/Recv of snapshots (reads list of changes between snapshots and transmits only them; asymptotically faster than rsync)
- Integrated RAID with support for N-way mirrors and up to three levels of parity-based RAID (RAID-Z) similar to RAID 5, RAID 6 and an additional level beyond that.
- Variable stripe (no RAID write-hole)
- Abstraction of all storage into a vdev (virtual device) tree.
- Scaling of IOPS across top level vdevs in a pool
- e.g. If two RAID-Z2 vdevs are in a pool, objects are written to one or another, such that IOPS are more intelligently distributed than traditional striped storage.
- ARC page replacement algorithm
- Higher hit rate than commonly used LRU page replacement algorithm increases IOPS performance
- ZFS Intent Log (ZIL)
- Sequentially write intent records of pending small synchronous writes to safely reduce latencies to levels of asynchronous IO
- Tiered storage
- L2ARC devices that act as an extension of the system's main memory.
- Supports LZ4 compression for increased cache as of ZFSOnLinux 0.6.2
- SLOG devices that permit ZIL to be written to a dedicated hardware.
- L2ARC devices that act as an extension of the system's main memory.
- Data deduplication
- Data compression with zle (zero-length encoding — fast, but only compresses sequences of zeros), LZJB or its replacement LZ4, or gzip (higher compression, but slower)
- Endian Independence (different machine designs do not prevent ZFS formatted disks from being read)
- Easy disk format upgrades
- Persistent pool settings
- Failure mode configuration
- bootfs (used by GRUB2 to find binaries)
- Ability to annotate pool with a comment
- Other miscellaneous settings, especially readonly settings
- Persistent configuration for mountpoints (datasets) and block devices (zvols)
- Uses inheritance in the hierarchical namespace
- Dataset Specific Options
- NFS/SMB sharing
- Automates configuration of NFS and SMB servers, but original manual way is optional
- Case sensitivity/insensitivity
- Unicode normalization
- Quotas (limit to how much storage can be allocated from the pool)
- Multiple copies of data (transparent)
- Atime Updates
- Xattr
- setuid
- Mountpoints
- Depreciates fstab (although still an option with mountpoint=legacy)
- Makes it easy to have thousands of datasets, including one per home directory
- Control visibility of .zfs directory
- Recordsize (tunable that controls internal CoW granularity)
- NFS/SMB sharing
- Zvol Specific options
- volblocksize (tunable that controls internal CoW granularity)
- volsize (allows online resizing of zvol)
- Control visibility of snapshots in /dev (Linux-specific)
- Options common to both
- Compression (already mentioned)
- Deduplication (already mentioned)
- Cache control (great for software that implements its own cache in userland)
- Control of synchronous IO (whether ZIL is used)
- Reservations (storage reserved for use by a zvol/dataset)
- This permits thin provisioning on zvols
- Many other miscellaneous settings, especially readonly settings
- User defined settings (for use by scripts)
Features in Illumos/Solaris that have yet to be implemented in ZFSOnLinux are:
- On-access virus scanner integration (ClamAV)
- iSCSI integration
- NFSv4 ACLs
- Does not prevent NFS from being used with ZFS
- Delegated administration
- Allows system administrator to give ownership of datasets to users (e.g. their home directories) so that they can manage snapshots, configure compression, etcetera.
This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.