ZFS is a feature-rich file system that makes it valuable as a starting platform for software-defined storage. This post speaks about ZFS features that are of prime importance:

In ZFS you can set deduplication at files, blocks or bytes level. This is great flexibility which allows configuration as needed.

Snapshots and Clones
ZFS allows taking file level snapshot or cloning. Snapshot is read-only, whereas clone is writable.

Encryption policy can be set at storage pool level. Any file system created in that pool will be having transparent encryption enabled.

Compression can be enabled or disabled at file system level. This feature gives flexibility to have two file systems in same pool but one compressed and another non-compressed.

This one is a cool feature in ZFS wherein one can send or receive snapshots. The feature comes handy to replicate a given file to remote ZFS file system continuously.

RAID-Z is yet another storage pool level feature. All file systems created in a pool have same RAID level. However, multiple storage pools can be created on same hardware with different RAID levels.

Example software-defined storage design:

Software-defined storage appliance

In a nutshell, there could be multiple storage pools sitting on same disks with every storage pool having different characteristics and properties. A storage pool may contain multiple file systems and each file system can be set to different properties based on business needs. Additionally, some properties can be set on file basis too.

Moreover storage pool can be dynamically grown as needed. Storage required for ZFS is generally low end JBODS. These two combinations make ZFS perfect suit for scaling as per business needs.

Write to us at marketing@calsoftinc.com