Document Actions
ZFS for Linux
Category: Computer management
—
Other products by this author
Current release: ZFS for Linux 0.7.0
Released Mar 09, 2011 — tested with FUSE 2.8.0
Latest stable release
Experimental releases
There are no experimental releases available at the moment.
Project Description
- Project resources
ZFS is the most advanced file system ever invented. This project makes it possible to create, mount, use and manage ZFS file systems under Linux, bringing the uncontested reliability and large feature set of ZFS to the Linux world.
Test-drive it now, come talk to us, and keep yourself updated with the latest news of our project!
What ZFS offers to you
ZFS has many features for all kinds of users - from the simple end-user to the biggest enterprise systems:
Provable integrity - it checksums all data (and meta-data), which makes it possible to detect hardware errors (hard disk corruption, flaky IDE cables..). Read how ZFS helped to detect a faulty power supply after only two hours of usage, which was previously silently corrupting data for almost a year!
Atomic updates - means that the on-disk state is consistent at all times, there's no need to perform a lengthy filesystem check after forced reboots/power failures.
Instantaneous snapshots and clones - it makes it possible to have hourly, daily and weekly backups efficiently, as well as experiment with new system configurations without any risks.
Built-in (optional) compression
High scalability
Pooled storage model - creating filesystems is as easy as creating a new directory. You can efficiently have thousands of filesystems, each with it's own quotas and reservations, and different properties (compression algorithm, checksum algorithm, etc..).
Built-in stripes (RAID-0), mirrors (RAID-1) and RAID-Z (it's like software RAID-5, but more efficient due to ZFS's copy-on-write transactional model).
Among others (variable sector sizes, adaptive endianness, ...)
How to try ZFS
We encourage you to try ZFS on your computer. Here are several options for you to install ZFS and get it running quickly.
From ready-made installable packages
Several distribution managers include installable packages of ZFS-FUSE in their distributions.
- You can follow the Fedora/EPEL updates at https://admin.fedoraproject.org/updates/zfs-fuse
- Fedora
yum install zfs-fuse
- RHEL 6, CentOS 6, ScientificLinux 6
rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
yum install zfs-fuse
- RHEL 5 and CentOS 5
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum install zfs-fuse
From source (compiled by you)
- Install the required dependencies (libaio, libattr, libacl, libz, SCons, the FUSE libraries, and all development packages associated to these libraries).
- On Debian or Ubuntu:
sudo apt-get install libaio-dev libattr1-dev libacl1-dev libz-dev libz-dev libfuse-dev libfuse2 scons libssl-dev
-
On RPM-based distributions (see also wiki/building-installing-tips):
su -c "yum install -y fuse-devel libattr-devel libaio-devel libacl-devel zlib-devel fuse-devel scons openssl-devel"
- Download the latest stable source release from this page.
- Compile by uncompressing the source release, and running the command
sconsin the directory where the uncompressed files reside.
From the absolutely latest code (compiled by you, potentially dangerous)
To check out and compile the code from the official repository, first install Git, then follow these instructions:
# this is the official repository link git clone http://git.zfs-fuse.net/official # go into the source directory cd official/src # compile scons debug=2 # there is also an installation target that you can use to install the compiled programs
From other, more bleeding-edge alternative repositories
The community of ZFS-FUSE developers is highly active, and at any point several developers have their own public repositories you can try -- instead of the official one -- which are generally more up-to-date than the official one. Here are the links to the respective Git repositories:
- Emmanuel Anne: http://rainemu.swishparty.co.uk/cgi-bin/gitweb.cgi?p=zfs
apt-get install nfs-kernel-server
- Lenz Grimmer: http://gitorious.org/zfs-fuse
Every once in a while, we merge the product of this work in the official repository, and when we get a release that we all consider good enough, this gets released as a stable release for distribution packaging.
How to get involved
Of course, we need your help!
More resources
- Ricardo's blog on ZFS at Blogspot
- vvatashki's resync work
Already incorporated in my tree, along with Emmanuel's work
It had a grave bug that causes your datasets to vanish if any of them have local properties.
We (mostly Emmanuel) have fixed it in this project. - Files, patches, benchmark results at Google Groups
- Turning caches on and off
- Benchmark automation / analysis and results of benchmarks
Git repository, you will have to clone it locally to see any files. - ZFS manual pages (also included in the code)
- Official ZFS documentation
- ZFS stress test
- On-disk format
- ZFS Q&A + Regression Testing
- ztest - ZFS standard test tool (Part of the zfs-fuse source, but currently broken - fixed version in Emmanuel Anne`s GIT repository)
- ZFS test suite (only runs on solaris for now, needs porting effort to run with zfs-fuse)
- POSIX conformace testing by the NTFS-3G project (needs Perl::Test::Harness)
Self-Certification
[X] Internationalized
[X] Unit tests
[ ] End-user documentation
[ ] Internal documentation (documentation, interfaces, etc.)
[X] Existed and maintained for at least 6 months
[X] Installs and uninstalls cleanly
[X] Code structure follows best practice

