Supported Platforms
- Linux: compatible with 3.10 - 5.13 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Major New Features
-
Distributed Spare RAID (dRAID) - Create pools using a new distributed variant of RAIDZ which enables dramatically faster resilver times using integrated hot spares. Full redundancy can be restored to the pool in a fraction of the time normally required to do a full disk replacement. #10102
-
Compatibility Property - The new
compatibility
property lets administrators specify the set of features which should be enabled on the pool. This fine grained control makes it easy to create portable pools and maintain pool compatibility between OpenZFS versions and across platforms. #11468 #11861 -
InfluxDB Support - Collect pool statistics with the
zpool influxdb
command in an InfluxDB time-series database for analysis and monitoring. #10786
Changes to the zpool
/ zfs
commands
-
zpool create -u
- Prevent filesystems from being automatically mounted. #11254 -
zpool history -i
- Pool history now includes how long each command took for performance analysis. #11440 -
zpool status
- Informs users of any disks which are using a non-optimal block size. #11088 -
zfs send --skip-missing|-s
- Skip missing snapshots when sending replication streams. #11710 -
zfs rename -u
- Rename a filesystem without remounting. #10839
Notable Changes
-
Extensive modernization of the man pages. #12125 #12129 #12149 #12169 #12212
-
Updated
vdev_id
to support daisy-chained JBODs in multipath mode. #11526 -
Updated
arcstat
with new L2ARC statistics and added-a
(all) and-p
(parsable) command line options. #10743 -
Support for memory and CPU hotplugging. #11212
-
Renamed
acltype=posixacl
toacltype=posix
, an alias was added for compatibility. #10918 -
Added automated ABI validation for public library interfaces. #11287
-
Added sysctl for fletcher4 on FreeBSD #11270
Performance
-
Optimized prefetch for parallel workloads. #11652
-
Improved scalability by reduced contention on locks and atomics. #11288 #12172 #12145 #11904
-
Reduced pool import time. #11470 #11502 #11469 #11467 #11467
-
Reduced fragmentation from ZIL blocks. #11389
-
Improved
zfs receive
performance with lightweight write. #11105 -
Improved module load time. #11282
Additional Information
-
Documentation - Updated OpenZFS documentation for Linux and FreeBSD.
-
Change log - Complete v2.0.0 - v2.1.0 change log
-
Module options - The default values for the module options were selected to yield good performance for the majority of workloads and configurations. They should not need to be tuned for most systems but are available for performance analysis and tuning. See the module parameters documentation for the complete list of the options and what they control.
Added/removed/renamed module options
- Added:
- zfs_embedded_slog_min_ms - Minimum number of metaslabs required to dedicate one for log blocks
- zfs_metaslab_find_max_tries - Normally only consider this many of the best metaslabs in each vdev
- zfs_metaslab_try_hard_before_gang - Try hard to allocate before ganging
- zfs_rebuild_scrub_enabled - Automatically scrub after sequential resilver completes
- zfs_rebuild_vdev_limit - Max bytes in flight per leaf vdev for sequential resilvers
- zfs_traverse_indirect_prefetch_limit - Traverse prefetch number of blocks pointed by indirect block
- zio_taskq_batch_tpq - Number of threads per IO worker taskqueue
- Removed:
- zfs_zevent_cols - Max event column width
- zfs_zevent_console - Log events to the console