Btrfs vs ZFS: Die Zukunft der Dateisysteme

Btrfs vs ZFS: The future of file systems

Let’s explore the evolution of file systems: Btrfs vs ZFS.
Btrfs and ZFS are the “next generation” of file systems. But what does the technology offer us and what are the additional benefits? Here you can find out more about the new features of the new generation.

File systems have evolved from a simple stream of zeros and ones like punch cards to the first hard disks with direct access options to file systems such as FAT with file and directory structure or NTFS/ext with metadata. These rapid changes show the enormous development of file systems. The last major development took place with so-called “journaling”, which prevents system crashes and prevents a file system from switching to an unusable state.

Btrfs vs ZFS: The future of file systems

COW snapshots

The snapshots make it possible to create a clone of the existing file system at any time. COW (Copy on Write) enables this step without taking up extensive additional hard disk space. Only changes in the file systems require additional disk space when they are stored.

COW also makes it possible to save versions of its file system, for example before a software update or similar activity. If incorrect action was taken when saving these versions, it is still possible to undo all changes and return to the original version.

Checksums

Are you familiar with the term “silent data corruption”? External influences on hard disk controllers and storage media can cause changes without the user noticing. If only one bit is flipped in a compressed/encrypted file, this step can lead to a far greater loss of data. In order to avoid such problems, the current generation of file systems has stored checksums. These are created and verified directly at file system level. This enables changes to be detected and, if copies of the data are available (RAID), self-healing is carried out.

Self-healing and redundancy

As just mentioned, errors in the data can be detected by checksums and then made transparent and corrected in the background by automatic self-healing and redundancy. Both ZFS and Btrfs support a variety of RAID levels and are therefore able to completely replace a hardware RAID controller. Precisely because hardware controllers are generally not able to check data for correctness, their use below a Btrfs/ZFS is even discouraged.

Volume management

ZFS and Btrfs do everything that LVM used to do. Partitioning of the data is therefore superfluous or taken over by the file system. This makes simple online resizing and similar actions possible, for example, which is often not feasible with current generation file systems.

Scalability

Previous users were familiar with the fixed limits of file systems. Fat32 or the creation of a file of more than 4GiB, which every DVD movie requires today, were well-known examples. Limits for ZFS and Btrfs were therefore set so generously that they will not be exhausted in the foreseeable future. ZFS sets standards and allows 256 ZiB, a capacity of over 200 million commercially available hard disks.

Asynchronous incremental replication

Thanks to the COW snapshots, data can also be copied very easily from computer to computer. The new file systems offer incremental copying as a special feature. If, for example, a snapshot of your own system is made every night and this is to be backed up on another computer, the action can be carried out with comparatively little effort after the first complete backup. As already mentioned, only actually changed blocks of your own file system are copied and no longer the complete file system. However, the user still receives another copy of their complete file system every night.

Additional features of Btrfs

Btrfs offers additional features compared to ZFS, but these should only be mentioned briefly here. With Btrfs, for example, only individual files can be selectively cloned with COW. This is useful for images of virtual machines or similar. Furthermore, unlike ZFS, Btrfs can adjust the RAID level during operation. With ZFS, it is only possible to create an array and not change it afterwards. With Btrfs, however, this is possible “on the fly”, i.e. during operation. The situation is similar for data compression. With ZFS, the user can only exclude an entire mount point from compression or activate compression. Btrfs, on the other hand, is more flexible and can compress or not compress individual files in order to save CPU cycles. For example, already compressed files (.gz / .zip / .rar / .jpg / .mp3 / .mp4 / .avi) cannot be compressed any further and can therefore be selectively excluded from data compression.

What is the usability like?

Most current distributions already offer Btrfs as a testing or preview file system, but advise against using it. However, if Btrfs is already being tested, it is recommended not to use machines in production, as data loss is to be expected. ZFS, on the other hand, is considered stable, but is not included in the Linux kernel due to license incompatibility and can only be installed as a package with many distributions. If a BSD is used, ZFS is already pre-installed in many derivatives. FreeBSD, for example, can be easily installed and operated with ZFS as the root file system.

Information:

https://Btrfs.wiki.kernel.org Official Btrfs website

http://open-ZFS.org Association of Linux/BSD/illumos/OpenZFS on OS X developers

http://ZFSonlinux.org/ Project for ZFS on Linux systems with links to packages of the most common distributions

The following two tabs change content below.

atixadmin

Latest posts by atixadmin (see all)