ZFS (Z File System) is significantly different from any previous file system because it is more than just a file system. Combining the traditionally separate roles of volume manager and file system provides ZFS with unique advantages. The file system is now aware of the underlying structure of the disks. Traditional file systems could only be created on a single disk at a time. If there were two disks then two separate file systems would have to be created. In a traditional hardware RAID configuration, this problem was avoided by presenting the operating system with a single logical disk made up of the space provided by a number of physical disks, on top of which the operating system placed a file system.
All data includes a checksum of the data. When data is written, the checksum is calculated wand written along with it. When that data is later read back, the checksum is calculated again. If the checksums do not match, a data error has been detected. ZFS will attempt to automatically correct errors when data redundancy is available.
Physical storage devices are added to a pool, and storage space is allocated from that shared pool. Space is available to all file systems, and can be increased by adding new storage devices to the pool.
Multiple caching mechanisms provide increased performance. ARC is an advanced memory-based read cache. A second level of disk=-based read cache can be added with L2ARC, and disk-based synchronous write cache is available with ZIL.
Even in the case of software RAID solutions like those provided by GEOM, the UFS file system living on top of the RAID transform believed that it was dealing with a single device. ZFS’s combination of the volume manager and the file system solves this and allows the creation of many file systems all sharing a pool of available storage. One of the biggest advantages to ZFS’s awareness of the physical layout of the disks is that existing file systems can be grown automatically when additional disks are added to the pool. A number of different properties can be applied to each file system, giving many advantages to creating different file systems and data sets rather than a single monolithic file system.
ZFS combines RAID, volume management and file system into a single, cohesive platform allowing for ease of administration with a focus on data integrity and capacity. Utilizing a 256-bit SHA checksum on every block, ZFS can detect and correct data corruption at any tier of the storage stack automatically during access. Storage pools can also be “scrubbed” for data consistency at any time, either through scheduled jobs or manually by an administrator. ZFS capacity can also be increased without taking your storage out of service utilizing a process called “resilvering”. Utilizing deduplication and compression, capacity can be further increased. Advanced features, such as snapshots further help protect data by storing incremental information in cases of user error.
In ZFS, a storage pool manages disk devices. File systems are no longer bound to disk devices. Storage pool manages multiple disk devices and provides a virtual storage interface to file systems. Any file system can be extended, even while the system is operational.
OpenIndiana is a community supported operating system, based on the illumos kernel. It is open source, free to use, and suitable for servers and desktops.
XigmaNAS (formerly NAS4Free) is an Open Source Storage NAS (Network-Attached Storage) distribution based on FreeBSD to share computer data storage over a computer network.
FreeNAS is an operating system for any platform to share data over a network; and is the simplest way to create a centralized place for your data.
NexentaStor is an open source, software-defined storage (OpenSDS) platform, with evolved storage infrastructure.