Sunday, July 6, 2008

ZFS missing features

What would truly make ZFS be The Last Word in File Systems (PDF)?

Why every feature of course! Here is my wishlist!

  1. Nested vdevs (eg Raid 1+Z)
  2. Hirarchical Storage management (migrate rarely used files to cheaper/slower vdevs)
  3. Traditional Unix Quotas (i.e for when you have multiple users owning files in a the same directories spread out across a file system)
  4. A way to convert a directory on a ZFS file system into a new ZFS file system, and the corresponding reverse function to merge a directory back into its parent (because the admin made some wrong decision)
  5. Backup function supporting partial restores. In fact partial backups should be possible too, eg backing up any directory or file list, not necesarily only at the file system level. And restores which does not require the file system to be unmounted / re-mounted.
  6. Re-layout of pools (to accomodate adding disks to a raidz or converting a non-redundant pool to raidz or removing disks from a pool, etc) (Yes I'm aware of some work in this regard)
  7. Built-in Multi-pathing capabilities (with automatic/intelligent detection of active paths to devices), eg integrated MPxIO functionality. I'm guessing this is not there yet because people may want to use MPxIO for other devices not under ZFS control and this will create situations where there are redundant layers of multipathing logic.
  8. True Global File System functionality (multiple hosts accessing the same LUNs and mounting the same file systems with parallel write. Or even just a sharezfs (like sharenfs, but allowing the client to access ZFS features, eg to set ZFS properties, create datasets, snapshots, etc, similar in functionality to what is possible with granting a zone ownership of a zfs dataset.)
  9. While we're at it: In place conversion from, eg UFS to ZFS.
  10. The ability to snapshot a single file in a ZFS file system (So that you can affect per-file version tracking)
  11. An option on the zpool create command to take a list of disks and automatically set up a layout, intelligently taking into considderation the number of disks and the number of controllers, allowing the user to select from a set of profiles determining optimization for performance, space or redundancy.

So... what would it take to see ZFS as the new default file system on, for example USB thumb drives, memory cards for digital cameras and cell phones, etc? In fact, can't we use ZFS for RAM management too (snapshot system memory)?

1 comment:

Hartz said...

Since posting this I had some discussions about point nr 7 (with those who have a better understanding of operating system design that do I):
Multi-pathing functionality belongs more in the lower layers, and ZFS is deliberately HW agnostic, while on the other hand multi-pathing software needs to understand how the HW reports problems and how/when to fail-over (or load balance) between paths to a device.