ZFS

Differences between revisions 1 and 55 (spanning 54 versions)
Revision 1 as of 2006-05-02 09:59:41
Size: 2743
Editor: mail
Comment:
Revision 55 as of 2011-02-26 22:20:58
Size: 3462
Editor: 99-74-253-20
Comment: Remove bloggy Comments section. None of the commentary is current or pertinent.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
##(see the SpecSpec for an explanation) == Summary ==
ZFS is an open source file system, licensed under the WikiPedia:CDDL, that is native to Solaris, OpenSolaris, OpenIndiana, FreeBSD, and Debian GNU/kFreeBSD systems.
Line 3: Line 4:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo
 * '''Created''': [[Date(2006-05-02T09:59:41Z)]] by JackWasey
 * '''Contributors''': JackWasey
 * '''Packages affected''':
ZFS cannot be added to the Linux directly because the CDDL is incompatible with the GPL. ZFS can, however, be distributed as source code separate from the main kernel.
Line 8: Line 6:
== Summary ==
ZFS is an open source filesystem used in Solaris 10. It has powerful application to server and workstations use cases, and would be a radical and attractive feature or basis for Ubuntu.
== Installing ZFS on Ubuntu ==

The ZFS filesystem is available for Ubuntu as either a FUSE module or a native kernel module. Install ZFS from one of these sources:

 * [[https://launchpad.net/~dajhorn/+archive/zfs/| Native ZFS for Ubuntu PPA]]
 * [[http://www.zfsonlinux.org/| Native ZFS for Linux]] project home.
 * [[http://zfs-fuse.net| ZFS-FUSE]] project home.
Line 12: Line 15:
Ubuntu server, and linux servers in general compete with other unices and windows. ZFS is a killer-app for Solaris, as it allows straightforward administration of a pool of disks, while giving intelligent performance and data integrity. Ubuntu server, and Linux servers in general compete with other Unixes and Microsoft Windows. ZFS is a killer-app for Solaris, as it allows straightforward administration of a pool of disks, while giving intelligent performance and data integrity.
Line 14: Line 17:
ZFS does away with partitioning, EVMS, LVM, MD, etc., etc.. The available disks (of any size) are used to the best of their ability. Compression can be used to increase bandwidth. (q.v. Reiser 4, and cloop?) ZFS does away with partitioning, EVMS, LVM, MD, etc. The available disks (of any size) are used to the best of their ability. Compression can be used to increase bandwidth. (q.v. Reiser 4, and cloop?)
Line 16: Line 19:
ZFS is massively scalable. ZFS is 128-bit, meaning it is very scalable. (e.g. 16 exabyte limit)

ZFS achieves its impressive performance through a number of techniques:

    * Dynamic striping across all devices to maximize throughput
    * Copy-on-write design makes most disk writes sequential
    * Multiple block sizes, automatically chosen to match workload
    * Explicit I/O priority with deadline scheduling
    * Globally optimal I/O sorting and aggregation
    * Multiple independent prefetch streams with automatic length and stride detection
    * Unlimited, instantaneous read/write snapshots
    * Parallel, constant-time directory operations

[[http://www.sun.com/2004-0914/feature/|Sun ZFS article]]
Line 30: Line 46:
== Implementation ==
 * Port ZFS to Linux.
 * Investigate use of ZFS features to replace clunky old linux tools.

=== Code ===

=== Data preservation and migration ===

== Outstanding issues ==


== BoF agenda and discussion ==

Summary

ZFS is an open source file system, licensed under the CDDL, that is native to Solaris, OpenSolaris, OpenIndiana, FreeBSD, and Debian GNU/kFreeBSD systems.

ZFS cannot be added to the Linux directly because the CDDL is incompatible with the GPL. ZFS can, however, be distributed as source code separate from the main kernel.

Installing ZFS on Ubuntu

The ZFS filesystem is available for Ubuntu as either a FUSE module or a native kernel module. Install ZFS from one of these sources:

Rationale

Ubuntu server, and Linux servers in general compete with other Unixes and Microsoft Windows. ZFS is a killer-app for Solaris, as it allows straightforward administration of a pool of disks, while giving intelligent performance and data integrity.

ZFS does away with partitioning, EVMS, LVM, MD, etc. The available disks (of any size) are used to the best of their ability. Compression can be used to increase bandwidth. (q.v. Reiser 4, and cloop?)

ZFS is 128-bit, meaning it is very scalable. (e.g. 16 exabyte limit)

ZFS achieves its impressive performance through a number of techniques:

  • Dynamic striping across all devices to maximize throughput
  • Copy-on-write design makes most disk writes sequential
  • Multiple block sizes, automatically chosen to match workload
  • Explicit I/O priority with deadline scheduling
  • Globally optimal I/O sorting and aggregation
  • Multiple independent prefetch streams with automatic length and stride detection
  • Unlimited, instantaneous read/write snapshots
  • Parallel, constant-time directory operations

Sun ZFS article

Use cases

  • Dani is a sys admin for a medium-size business. She spends 20% of her time planning/changing/administering/repairing the disk arrays of three servers. With ZFS, this time is cut in half.
  • Ari has a single disk workstation. She buys a new disk and plugs it in. ZFS automatically adds the new disk space into the pool. Her home directory is mirrored, while her OS and temp space is striped automatically in the background.
  • Power user Petra has a four-disk RAID5 workstation. Parity calculations make this a fairly slow set-up because of the number of writes of small files. She upgrades to ZFS and sees performance benefits, because small files are mirrored instead of included in parity calculations.
  • Jack has three disks of different sizes. Configuring a sensible partition and RAID set-up is completely trial and error. ZFS abstracts the three disks into one pool of space, and gives the best balance of performance and security. Jack declares that some media directories do not need to be fault-tolerant, and ZFS transparently stripes them across all the disks.

Scope

Server use case is the most obvious.

Design

ZFS can be used as a drop-in POSIX replacement for existing file systems. However, it provides powerful capabilities which can permeate Ubuntu. E.g. each user is allocate a file-system, cloned from an original: unchanged files are only stored once. This paradigm would suit LTSP, where each user would have filesystem. This sounds more a bit more radical than it is.


CategorySpec

ZFS (last edited 2019-01-22 22:16:08 by seth-arnold)