OpenZFS 2.0 Ships First on TrueNAS
Congratulations to the OpenZFS Community! OpenZFS 2.0.0 hit the RELEASE milestone on November 30, 2020. OpenZFS 2.0 represents a new era for both the project and the file system itself, and iXsystems is proud to have contributed to such a significant engineering accomplishment. We’re also excited to announce its official availability to our Community starting immediately, making TrueNAS the first software to officially include it in a release.
After 11 months of testing the OpenZFS 2.0 codebase, we are very comfortable with its quality and even more enthusiastic about the performance and features it brings.
TrueNAS 12.0-U1 was made available yesterday (December 9, 2020), and with it, TrueNAS CORE and TrueNAS Enterprise now have OpenZFS 2.0 RELEASE included. TrueNAS SCALE 20.12 has integrated OpenZFS 2.0 RELEASE into its nightly and will be included in the official release due out next week. Complete integration of OpenZFS 2.0 RELEASE will be achieved within three weeks.
What’s the big deal with OpenZFS 2.0?
ZFS has been a big deal for over a decade and a half as an enterprise-grade file system with unequaled data protection features. FreeNAS and TrueNAS embraced ZFS and have made it the “easy button” for ZFS for nearly 10 years, with over 1 million deployments on FreeBSD. There have been more deployments of ZFS via TrueNAS (and FreeNAS) than any other platform.
OpenZFS 2.0.0 unifies the OS support for ZFS and is thoroughly described in this Ars Technica article. One of the major contributions of iXsystems was ensuring that FreeBSD and Linux were equally well supported and synchronized in OpenZFS 2.0. The software is automatically tested and verified on both OSes, and the differences between the two OSes is limited to a small number of source code files for excellent maintainability. With this evolution, Linux-based systems can replicate to and from FreeBSD-based systems, and pools from one can also be imported by the other. This capability is the key to TrueNAS CORE/Enterprise being able to coexist with TrueNAS SCALE.
TrueNAS 12.0 has a long list of features and performance improvements, many of which are made possible by OpeZFS 2.0. Thus far, TrueNAS 12.0 has been clocked at over 1.2 Million IOPS and over 23GB/s on a TrueNAS M60 and generally showed 20-30% performance improvements on larger systems. Other OpenZFS 2.0 benefits include:
- Metadata on Flash: Special SSD vdevs can be used for Metadata acceleration. This can include both file system metadata and dedupe tables.
- Fusion Pools: Special SSD vdevs (known in OpenZFS parlance as “special allocation classes”) can also be used for data based on I/O write size. This is configurable on a per dataset basis. Users can accelerate database datasets or special VMs.
- Dataset Encryption: Specific datasets can be selected or deselected for encryption with a user-provided key. When replicating the dataset to another TrueNAS, the key does not have to be provided and so the data can be transmitted and stored in the original encrypted state.
- Asynchronous Trim: Trim commands free up space, particularly within SSDs. By making these Trim commands asynchronous, they scale and perform better. This is particularly useful for deduplication of flash storage and can significantly reduce costs.
- Faster Boot: OpenZFS 2.0 includes a more parallel process for importing a ZFS pool with many drives. This reduces boot and failover times.
- Persistent L2ARC: L2ARC (flash-based read cache) now survives reboots and failovers without clearing its cache, saving hours or days it formerly took to rehydrate larger cache, and allowing performance-sensitive systems to get back to full speed without delay.
- ZFS async DMU and CoW: Within the original ZFS is a Data Management Unit (DMU) and an algorithm for Copy-on-Write (CoW). These algorithms were implemented in a synchronous manner, which required a transaction to wait until another transaction was completed. iXsystems contributed to the conversion of these algorithms to an asynchronous approach, which reduces the amount of wait time and increases parallelism in OpenZFS 2.0. An added benefit is that fewer disk I/Os are needed for sequential writes. This increases drive efficiency and reduces latency in heavy workloads.
- ZFS Record Size Increases: One benefit of async CoW is that larger ZFS record sizes will perform better with fewer Read-Modify-Write activities. Instead of operating with 128KB record size, a 256KB or 512KB record size may be beneficial for some workloads. This will increase the bandwidth of many RAIDZ1/2/3 VDEVs.
Storage Freedom with TrueNAS SCALE
One of the side benefits of the massive TrueNAS 12.0 and OpenZFS 2.0 work is TrueNAS SCALE. Next week we’ll release the second Beta version, TrueNAS SCALE 20.12 “Angelfish”. For most users, we recommend moving to TrueNAS 12.0 and OpenZFS 2.0. From there, users can stay with CORE or Enterprise editions, or migrate in 2021 to SCALE for Linux services or scale-out functionality. We call this flexibility, “Storage Freedom” and an easy migration will be available in TrueNAS 12.0-U2.
TrueNAS 12.0 Upgrades are Easy
TrueNAS 12.0 can operate on all of the iXsystems platforms from the FreeNAS and TrueNAS Minis, to the power-efficient X-Series, all the way up to the flagship High availability (HA) M-Series. There is also a new R-Series product line that can run CORE, Enterprise, and SCALE editions of TrueNAS 12.0.
For those with TrueNAS HA systems and support contracts, we recommended contacting iXsystems support to schedule an upgrade. We will verify your systems’ health, configuration, and support the upgrade process to minimize issues. On December 22, we plan to enable the upgrades to be done from the UI.