On Mon, Mar 9, 2009 at 4:19 AM, Matthew W. Ross <[email protected]> wrote: > * Copy-On-Write filesystem, which basically means it's built-in > snapshot support, where every file is written into unused, > or the oldest copy's space.
In addition to snapshot support, this also makes the filesystem more resilient against corruption, and provides transactional semantics. The ZFS people like to say that it's actually cheaper to make a snapshot than not make one (since not making one means removing the previous allocation). The transactional semantics mean its safe to run your filesystems with disk write cache enabled, even without a UPS. (Running your *applications* without a UPS is your call, as always. :) ) > * Block-Level Checksumming ... ... which is done with a 256-bit hash, not a 32-bit file-wide CRC like NTFS/FAT. > There's more, but that's what I can remember at this hour. The whole storage management model is different. Most systems (including NTFS and most of what Linux does) allocate storage first in partitions, then maybe logical volumes, and then filesystems. ZFS creates "pools". A pool contains the blocks in a device (disk or partition). Pools can be protected with N+1 or N+2 redundancy. Redundancy can be specified across device groups (e.g., to protect against bus failure). Pools can have spare disks. Filesystems allocate storage dynamically from a pool. Thus, filesystems act more like traditional directories. There's also a lot of miscellaneous performance features, like variable length block allocation unit sizes, multiple I/O priorities, multiple prefetch queues with automatic size detection, etc., etc. All in all, it's an impressive engineering feat. The Linux user in me is envious. -- Ben ~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~
