Zetacloud Logozetacloud

The Data Storage Subsystem

Contact us!

Storage: The ZFS Filesystem

ZFS is a production-grade storage technology, previously native to Solaris, but now ubiquitous across almost all operating systems. ZFS has features and options that are just not currently available on any other production-grade filesystems. Only some of ZFS's unique strengths are listed below, for more thorough coverage of this filesystem, I'd recommend getting a book on the topic or searching on the web.

Endless scalability
Well, it’s not technically endless, but it’s a 128-bit file system that’s capable of managing zettabytes (one billion terabytes!) of data. No matter how much hard drive space you have, ZFS will be suitable for managing it.
Data integrity
You get guaranteed data integrity with ZFS. Everything you do inside of ZFS uses a checksum to ensure file integrity. You can rest assured that your files and their redundant copies will not encounter silent data corruption. Also, while ZFS is busy quietly checking your data for integrity, it will do automatic repairs anytime it can.
Drive Pooling
The creators of ZFS want you to think of it as being similar to the way your computer uses RAM. When you need more memory in your computer, you put in another stick and you’re done. Similarly with ZFS, when you need more hard drive space, you put in another hard drive and you’re done. No need to spend time partitioning, formatting, initializing, or doing anything else to your disks – when you need a bigger storage “pool,” just add disks, and ZFS simply uses the whole disk!
Software RAID
ZFS' software raid is not only better than the hardware-based aid solutions provided by most vendors, but it's capable of many different RAID levels, all while delivering performance that’s comparable to that of hardware RAID controllers, but with greater flexibility in setup. This allows you to save money, make setup easier, and have access to superior RAID levels that ZFS has improved upon.
Data redundancy
When needed, you tell ZFS to keep multiple copies of your data and it just does so. This ensures that you have an added level of data redundancy and security available at all times.
Hybrid storage
ZFS is capable of transparently using SSDs, NvRAM and traditional hard disks seamlessly with a little planning.
High Performance
Multiple caching mechanisms available in the filesystem provides 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.
Efficient Administration
Using ZFS commands, one can administer a system with short, simple, efficient commands. For example, a five-disk RAIDZ array with a hot spare requires a single command to set up:
zpool create poolname raidz disk1 disk2 disk3 disk4 spare disk5
With storage administration simple and intuitive, it's easier for administratiors to make changes and focus on storage strategy rather than how to get something done.
Data Deduplication
ZFS supports native, efficient block-level data deduplication, though it does require a lot of resources. But where it's needed, it's great to have it.
Native Compression
ZFS supports on-disk native data compression using a number of different compression algorithms. Not only does compression save a lot of disk space, but it also speeds up data access by up to 400% becasue each read will read a lot more data per disk access.
ZFS uses a "copy-on-write" (CoW) mechanism for writing data to disk, meaning it doesn't overwrite exisiting data but makes a new copy. This allows ZFS to make extremely efficient incremental snapshots fo the file system. ZFS is one of the fastest filesystems for taking almost instantaneous snapshots of your data. Also, these incremental snapshots can then be written into storage or remote back-up stores.
With CoW, and snapshots, cloning a filesystem is dead simple with ZFS, so much so that it's difficult to believe how simple it is. It takes just 2 commands to replicate a complete file system, no matter how large, in less than a few seconds. And a clone takes up almost no additional disk space. It'll only take up additional space once files are changed or new files are created. Imagine being able to replicate a database from a few seconds before a failure and having it up and running again in almost no time!
Enabling the encryption feature allows for the creation of encrypted filesystems and volumes. ZFS will encrypt file and zvol data, file attributes, ACLs, permission bits, directory listings, FUID mappings, and userused / groupused data. ZFS will not encrypt metadata related to the pool structure, including dataset and snapshot names, dataset hierarchy, properties, file size, file holes, and deduplication tables (though the deduplicated data itself is encrypted).
Delegate Permissions
Delegated administration to allow non-privileged users to perform ZFS administration tasks. ZFS delegated administration provides similar features to the RBAC security. Each fileseyetem can have their own multiple delegated permissions, assigned to users, groups or via delegation sets (unique to ZFS).
Many Other...
I'd suggest that if you're interested in this topic, please search on the web, since there's plethora of information on ZFS available. Some of the better articles I found are -