ZFS as a software-defined storage platform
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:
Deduplication
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
Encryption policy
can be set at storage pool level. Any file system created in that pool will be
having transparent encryption enabled.
Compression
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.
Send/Receive
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
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
Click to enlarge
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 smm@calsoftinc.com
Contributed
by: Tejas Sumant | Calsoft Inc.
