kids encyclopedia robot

ZFS facts for kids

Kids Encyclopedia Facts
Quick facts for kids
ZFS
Developer(s) Sun Microsystems originally, Oracle Corporation since 2010, OpenZFS since 2013
Variants Oracle ZFS, OpenZFS
Introduced November 2005; 19 years ago (2005-11) with OpenSolaris
Structures
Directory contents Extendible hashing
Limits
Max volume size 256 trillion yobibytes (2128 bytes)
Max file size 16 exbibytes (264 bytes)
Max no. of files
  • Per directory: 248
  • Per file system: unlimited
Max filename length 1023 ASCII characters (fewer for multibyte character standards such as Unicode)
Features
Forks Yes (called "extended attributes", but they are full-fledged streams)
Attributes POSIX, extended attributes
File system
permissions
Unix permissions, NFSv4 ACLs
Transparent
compression
Yes
Transparent
encryption
Yes
Data deduplication Yes
Copy-on-write Yes
Other
Supported
operating systems
  • Sun codebase: OpenSolaris, illumos distributions, OpenIndiana
  • Oracle ZFS: Solaris
  • OpenZFS: FreeBSD, Mac OS X Server 10.5 (limited to read-only), NetBSD, Linux via third-party kernel module ("ZFS on Linux") or ZFS-FUSE, OSv

ZFS is a special computer system that helps manage and store your data. Think of it as a super-smart librarian for your computer files. It was first created by Sun Microsystems in 2001.

ZFS is unique because it combines two important jobs:

  • It manages your storage devices, like hard drives.
  • It also organizes the files stored on those devices.

This means ZFS knows everything about your disks and your files. This helps it keep your data safe and prevent it from getting lost or corrupted.

How ZFS Works

Most computer systems use separate tools to manage disks and files. ZFS does both! This gives it full control over how your data is stored. It can check, fix, and speed up everything related to your storage.

For example, imagine you have a bunch of hard drives. ZFS can combine them into one big storage area. It then makes sure that your files are stored safely across these drives. If one part of a file gets damaged, ZFS can often fix it automatically.

Keeping Data Safe

ZFS is designed to protect your data from many problems. It uses a special method called "checksumming." Every piece of data gets a unique code (a checksum). This code is stored separately from the data itself.

When ZFS reads data, it checks the code. If the code doesn't match, ZFS knows the data is damaged. If you have extra copies of your data (which ZFS can create), it can fix the damaged part. This is like having a backup copy ready to go!

Snapshots and Clones

One of the coolest features of ZFS is its ability to take "snapshots." A snapshot is like a photo of your entire file system at a specific moment. You can take many snapshots without slowing down your computer.

  • Snapshots are useful if you make a mistake or if a program causes problems. You can "roll back" to an earlier snapshot and get your files back.
  • Clones are like copies of snapshots that you can change. If you have a snapshot, you can create a clone from it. The clone starts as an exact copy, but you can make changes to it without affecting the original snapshot.

RAID-Z: Smart Storage

Instead of using separate hardware for RAID (a way to combine multiple disks for speed or safety), ZFS has its own built-in system called "RAID-Z."

RAID-Z helps protect your data if a disk fails. It spreads your data across multiple disks. If one disk breaks, ZFS can rebuild the missing data using information from the other disks. There are different levels of RAID-Z:

  • RAID-Z1 allows one disk to fail.
  • RAID-Z2 allows two disks to fail.
  • RAID-Z3 allows three disks to fail.

This means you can lose several disks and still not lose your data! ZFS also makes sure that rebuilding a damaged disk is fast and efficient.

Checking Your Data: Scrubbing

Unlike other file systems that need to be taken offline for checks, ZFS has a "scrub" function. This function regularly checks all your data while the system is still running. It looks for any hidden damage and fixes it automatically if possible. It's like a continuous health check for your files.

Super Big Storage

ZFS is designed to handle incredibly large amounts of data. It's a "128-bit" file system, which means it can manage more data than you could ever imagine. The limits are so huge that you'll probably never reach them!

For example, a single ZFS system can store up to 16 exbibytes for one file. That's a number with 18 zeros after it!

Encryption

ZFS can also encrypt your data. This means it scrambles your files so that only people with the right key can read them. This adds an extra layer of security to your important information.

Speeding Things Up: Caching

ZFS uses different types of "cache" to make things faster. A cache is like a temporary storage area for frequently used data.

  • ARC (Adaptive Replacement Cache) is the main cache in your computer's RAM (memory). It stores data that you use often.
  • L2ARC (Level 2 ARC) is an optional, faster storage device, usually an SSD. It stores data that doesn't fit in RAM but is still accessed frequently.
  • SLOG or ZIL (ZFS Intent Log) is another optional fast storage device. It helps speed up "synchronous writes," which are operations where your computer needs to confirm data is saved immediately.

These caches help ZFS deliver data to you much faster than if it had to read everything directly from the slower hard drives every time.

History of ZFS

ZFS was first announced in 2004, but its development started in 2001 at Sun Microsystems. It became a key part of Sun's Solaris operating system.

In 2005, Sun made a big part of Solaris, including ZFS, "open source." This meant that anyone could see, use, and change the code. This led to ZFS being used on other computer systems like Linux and FreeBSD.

However, in 2010, Oracle Corporation bought Sun Microsystems. Oracle decided to make its version of ZFS "closed source" again. This meant the public could no longer freely develop it.

Because ZFS was so popular, many developers wanted to keep working on the open-source version. So, in 2013, they created a new project called OpenZFS. OpenZFS now helps coordinate the development of the open-source ZFS code. This ensures that ZFS continues to improve and be available for everyone.

Where ZFS is Used

ZFS is used in many different computer systems and products, especially in places where data safety and large storage are important.

Here are some operating systems that support ZFS:

OS Zpool version Sun/Oracle Build # Comments
Oracle Solaris 11.4 49 11.4.51 (11.4 SRU 51)
Oracle Solaris 11.3 37 0.5.11-0.175.3.1.0.5.0
Oracle Solaris 10 1/13 (U11) 32
Oracle Solaris 11.2 35 0.5.11-0.175.2.0.0.42.0
Oracle Solaris 11 2011.11 34 b175
Oracle Solaris Express 11 2010.11 31 b151a licensed for testing only
OpenSolaris 2009.06 14 b111b
OpenSolaris (last dev) 22 b134
OpenIndiana 5000 b147 distribution based on illumos; creates a name clash naming their build code 'b151a'
Nexenta Core 3.0.1 26 b134+ GNU userland
NexentaStor Community 3.0.1 26 b134+ up to 18 TB, web admin
NexentaStor Community 3.1.0 28 b134+ GNU userland
NexentaStor Community 4.0 5000 b134+ up to 18 TB, web admin
NexentaStor Enterprise 28 b134 + not free, web admin
GNU/kFreeBSD "Squeeze" (Unsupported) 14 Requires package "zfsutils"
GNU/kFreeBSD "Wheezy-9" (Unsupported) 28 Requires package "zfsutils"
FreeBSD 5000
zfs-fuse 0.7.2 23 suffered from performance issues; defunct
ZFS on Linux 0.6.5.8 5000 0.6.0 release candidate has POSIX layer
KQ Infotech's ZFS on Linux 28 defunct; code integrated into LLNL-supported ZFS on Linux
BeleniX 0.8b1 14 b111 small-size live-CD distribution; once based on OpenSolaris
Schillix 0.7.2 28 b147 small-size live-CD distribution; as SchilliX-ON 0.8.0 based on OpenSolaris
StormOS "hail" distribution once based on Nexenta Core 2.0+, Debian Linux; superseded by Dyson OS
Jaris Japanese Solaris distribution; once based on OpenSolaris
MilaX 0.5 20 b128a small-size live-CD distribution; once based on OpenSolaris
FreeNAS 8.0.2 / 8.2 15
FreeNAS 8.3.0 28 based on FreeBSD 8.3
FreeNAS 9.1.0+ 5000 based on FreeBSD 9.1+
XigmaNAS 11.4.0.4/12.2.0.4 5000 based on FreeBSD 11.4/12.2
Korona 4.5.0 22 b134 KDE
EON NAS (v0.6) 22 b130 embedded NAS
EON NAS (v1.0beta) 28 b151a embedded NAS
napp-it 28/5000 Illumos/Solaris Storage appliance; OpenIndiana (Hipster), OmniOS, Solaris 11, Linux (ZFS management)
OmniOS CE 28/5000 illumos-OmniOS branch minimal stable/LTS storage server distribution based on Illumos, community driven
SmartOS 28/5000 Illumos b151+ minimal live distribution based on Illumos (USB/CD boot); cloud and hypervisor use (KVM)
macOS 10.5, 10.6, 10.7, 10.8, 10.9 5000 via MacZFS; superseded by OpenZFS on OS X
macOS 10.6, 10.7, 10.8 28 via ZEVO; superseded by OpenZFS on OS X
NetBSD 22
MidnightBSD 6
Proxmox VE 5000 native support since 2014, pve.proxmox.com/wiki/ZFS_on_Linux
Ubuntu Linux 16.04 LTS+ 5000 native support via installable binary module, wiki.ubuntu.com/ZFS
ZFSGuru 10.1.100 5000

See also

Kids robot.svg In Spanish: ZFS (sistema de archivos) para niños

  • Comparison of file systems
  • List of file systems
  • Versioning file system—List of versioning file systems
kids search engine
ZFS Facts for Kids. Kiddle Encyclopedia.