ZFS is a [[CDDL]] licensed file system written in LANG. - [Website](https://openzfs.org/wiki/Main_Page) - [Source](https://github.com/openzfs/zfs) - [Documentation](https://openzfs.github.io/openzfs-docs/) > **OpenZFS** is an open-source storage platform. It includes the functionality of both traditional file systems and volume manager. # Notability OpenZFS is supported by teams from multiple backgrounds and operating systems and used by: - [[Lawrence Livermore National Laboratory]] - [[Canonical]] (for [[Ubuntu]]) - # Philosophy Originally built for Solaris as a proprietary file system, then became available under the CDDL. [[Oracle Corporation]] later closed further development, but the OpenZFS project lives on without their involvement. # OS Support - [[Solaris]] ([[#Oracle ZFS]]) - [[Illumos]] ([[#Illumos ZFS]]) - [[FreeBSD]] - [[Linux]] - [[MacOS]] (O3X [fork](https://github.com/openzfsonosx/openzfs-fork)) # Features - Protection against data corruption. Integrity checking for both data and metadata. - Continuous integrity verification and automatic “self-healing” repair - Data redundancy with mirroring, RAID-Z1/2/3 [and DRAID] - Support for high storage capacities — up to 256 trillion yobibytes (2^128 bytes) - Space-saving with transparent compression using LZ4, GZIP or ZSTD - Hardware-accelerated native encryption - Efficient storage with snapshots and copy-on-write clones - Efficient local or remote replication — send only changed blocks with ZFS send and receive ## Illumos ZFS While [[Illumos]] is part of the OpenZFS group, their implementation is in their own source [tree](https://github.com/illumos/illumos-gate/tree/master/usr/src/common/zfs) and changes more slowly. A summary of the supported features here would be ideal. ## Oracle ZFS Oracle has mostly disbanded the teams that had worked on Solaris but it has no doubt diverged. # Tips ## Adding Drives You cannot *add* single drives to a ZFS pool. However, you can: - Swap out a drive for a larger one - Double the number of drives in your pool - *Destroy* the pool and re-create it with a larger number of drives (this will **lose data** - you must have everything backed up before doing this) # References - https://str.llnl.gov/2018-01/lee - https://arstechnica.com/gadgets/2016/02/zfs-filesystem-will-be-built-into-ubuntu-16-04-lts-by-default/ - https://www.wundertech.net/how-to-add-a-disk-to-an-existing-pool-in-truenas/