ZFS

ZFS has been developed by Sun Microsystems transactional file system that numerous extensions for use in the server and data center area contains. These include the enormous maximum file system size, easy management of even complex configurations, the integrated RAID functionality, volume management, and the checksum- protection against transmission errors. The name originally stood for Zettabyte ZFS file system, but has become a pseudo - acronym, making the long form is no longer in use.

Properties

ZFS is a 128- bit copy-on- write file system with a compared to traditional file systems significantly extended functionality. In traditional file systems to accurately manage a file system exactly one partition. If multiple physical partitions are grouped into logical partitions, that an additional Logical Volume Manager software must be installed. For failover many file systems can be safeguarded by an optional software RAID subsystem ( software RAID). ZFS summarizes these three functions and adds a prüfsummenbasierten protection against transmission errors.

So-called pools ( or zpools ) - - In practice, logical units are initially from physical media (actually, data storage devices ) are formed, which may be optionally designed for fail- safe (RAID). Within a pool, then any number of logical partitions may be (each with a file system ) is applied, which, insofar as the size of the pool to dynamically grow, but can also be reduced. To enforce administrative restrictions, a minimum and maximum size can be specified for each logical partition. The logical partitions can thereby be embedded in a hierarchical structure within which these and other parameters can also be inherited. It is also possible, data ranges from pools as dedicated " block devices " (see also the data block -oriented devices) to provide.

The second feature of ZFS is the most simple administration. To create a pool across multiple disks and to create a partition on this, two simple structured commands are only needed. Partitioning and Installation of the logical volume and finally hooking into the existing file system can be done automatically, but can be done manually if required.

As with a traditional volume manager the underlying pool can be configured as fail safe. So-called redundancy groups are formed from several physical disks using software RAID, one or more of these groups then form a redundant fail-safe pool. The built- in file system RAID subsystem provides over traditional hardware or software RAID implementations the advantage that can be distinguished by the integrated RAID system between used and unused data blocks and thus mirrored only used disk space in the reconstruction of a RAID volume must be, this results in case of damage, especially for poorly filled file systems, a tremendous time saver. ZFS provides multiple RAID levels to choose from. Mirroring (RAID-1 ) form two (or more) hard drives are mirrored redundancy group, the data can be saved twice or more. Next there are two RAID -Z called implementations. RAID -Z1 works similar to RAID - 5, RAID -Z2 corresponds largely to RAID 6, RAID -Z1 form three (or more) hard drives, the redundancy group, while the data is RAID 5 system parity secured as in a, so that the hard drives can fail without causing data losses. The integrated design of the ZFS is required, however, in contrast to RAID 5, no battery-backed memory (NVRAM ) as no write gap ( write hole) occurs between data - write and parity write. The RAID -Z2 -called, also write incomplete free implementation of RAID -6 is available since Solaris Express 47. Since July 2009, is also RAID -Z3, so a RAID-Z implementation with 3 parity bits available. The speed optimization by parallel access ( RAID 0 - Striping ) is performed automatically by ZFS.

Copy-on -Write mimic ZFS allows very efficient to create snapshots, this happens almost immediately and the file system remains online. A snapshot freezes the current file system state, subsequent write operations respectively represent the differences from the last snapshot. ZFS snapshots can be mounted read or archived ( zfs send ), in addition there is ZFS Clones, these correspond to a writable snapshot.

In addition to the options for backing up data to hard drive failures, also each individual block is provided in the file system with a checksum so that data errors in the file system (eg caused by data transmission errors ) are automatically detected and possibly corrected without manual intervention. The performance loss is minimal. Also provides ZFS ensures that the state of the file system at any time is consistent and therefore, for example, after a power failure not check the file system ( via fsck ) is required.

In October 2009, deduplication for ZFS was released. This blocks are only stored once physically with identical content, which helps in many practically relevant use cases, to save disk space. A typical application is the creation of virtual disks for virtual machines, each of which contains all the installation of a virtualized operating system.

Furthermore, ZFS is a relatively fast file system; Due to the integrated RAID capabilities and end-to -end checksums it comes, however, in the speed on older or slower systems not to simpler file systems approach, with the performance of ZFS also depends on which RAID functionality is used and whether the individual plates independently and simultaneously transfer data.

ZFS is designed for very large volumes of data, which is achieved by the consistent use of 128 -bit pointers. In practice, however, the borders are similar to those of a 64 -bit file system. In the implementation on Solaris and FreeBSD for example, 64 -bit data types are used, because currently there is no 128 -bit data types in C. Essentially, the first 64 bits of the pointer are always saved together with 64 zeros that are ignored during processing. This makes it possible to have the true 128 -bit file systems use existing file systems continue later. The capacity of ZFS is designed so that it is sufficient for good.

For a full use of the 128 bit the theoretical maximum capacity equivalent to 281 trillion Yib.

Development

Sun has developed the ZFS for Solaris 10 and provides it under the Common Development and Distribution License ( CDDL ) for OpenSolaris ( from build 27a). Since Solaris 10 6/ 06 is officially Support for ZFS. ZFS is available for both SPARC and x86/x64 for Solaris. Designed and implemented the project was from the Sun team led by Jeff Bonwick.

ZFS has been ported from Pawel Jakub Dawidek with support from Sun Developer on FreeBSD and is included in the base system since FreeBSD 7.0, was then still considered experimental. This only changed with version 8.0.

Even Apple had ZFS support built into Mac OS X version (10.5 Leopard), even if only reading. An implementation was announced for the version Snow Leopard Server, but was not published. Instead of porting ZFS were published on Apple's open source project page Mac OS Forge source and binaries. On October 23, 2009 Apple was known there that the ZFS project has been discontinued. Since September 2012 there is a ZFS implementation for Mac OS X from the company Green bytes.

A direct support within the Linux kernel is problematic due to licensing issues, so there is currently no built directly into the kernel source Linux implementation. However, there is the project ZFS on FUSE, which makes ZFS usable under Linux. On 9 March 2011 ZFS on FUSE appeared in version 0.7.0. The implementation in userspace has several disadvantages, including a reduced data throughput. An alternative approach called ZFS on Linux, in which the necessary kernel modules are maintained outside the kernel source tree, according to the developers since its release in April 2013 Version 0.6.1 ready for production use.

Following the acquisition of Sun by Oracle ( in the years 2009 to 2010), numerous independent developments of the ZFS were continued. In September 2013 was finally begun, all these independent developments in a project to bring together again with the designation OpenZFS. Here, the file system should then also be unified across operating systems, among others.

Specifications

Criticism, disadvantages

ZFS was designed for server and data center applications and collects its plus points there, it will in part be disadvantages when used on workstations and embedded systems.

The processing of the 128- bit pointer ( see features) is comparatively complicated, since they are not the word width of current CPUs equivalent, which is typically a 32-bit in the range appliances and older personal computers as well as 64 bit in the area of current personal computer and most servers. Thus is given to such systems, no optimum performance. Ever brings the 128 -bit interpretation only advantages where unusually large amounts of data to be stored. In the SOHO sector, however, depending on the volume size 32 - or 64-bit -based file systems sufficient ( cf. Btrfs, Ext2, FAT32, HFS , NTFS, UFS, etc. ), which typically already using 32 -bit data types, file systems with a capacity of just 16 terabytes can manage (eg ext2 ), with 64 -bit pointers, of course, much more, for example about 8 exabytes (8 million terabytes ) in XFS. The 128 -bit interpretation thus means only additional computation and cost as well as a slightly elevated space on the media.

Trivia

For a theoretical capacity of ZFS circulating the following quote:

" Populating 128 -bit file systems would Exceed the quantum limits of earth -based storage. You could not fill a 128 -bit storage pool without boiling the oceans. "

" A 128- bit file system would be filled beyond the quantum limit underground data storage. You could not fill to evaporate the oceans without a 128 -bit memory pool. "

For the understanding of the citation is to be noted that the storage or transmission of an information item - such as a bit - is coupled to the storage or transmission of power, as a medium without information can not exist, that information is linked to the existence of distinguishable states. The laws of quantum mechanics impose a minimum amount of energy per unit of information, because the information is lost otherwise due to the quantum mechanical blur. To fill a storage pool with 128 -bit addressing, an amount of energy would be required, which is greater than the amount of energy that would be sufficient to vaporize the terrestrial oceans. At the same time is "boiling the ocean" in English idiomatic expression for a to try something impossible. Bonwick illustrates the fact that ZFS for all future offers enough capacity.

621612
de