ZFS facts for kids
Developer(s) | Sun Microsystems originally, Oracle Corporation since 2010, OpenZFS since 2013 |
---|---|
Variants | Oracle ZFS, OpenZFS |
Introduced | November 2005OpenSolaris | with
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 |
|
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 |
|
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.
Contents
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
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