ZFS Explanation
(ripped from http://en.wikipedia.org/wiki/Zfs and shortened)
Capacity
ZFS is a 128-bit file system, which means it can store 18 billion billion (18 quintillion) times more data than current 64-bit systems.
Storage pools
Unlike a traditional file system, which resides on a single device and thus requires a volume manager to use more than one device, ZFS is built on top of virtual storage pools called zpools. A pool is constructed from virtual devices (vdevs), each of which is either a raw device, a mirror (RAID 1) of one or more devices, or a RAID-Z group of two or more devices. The storage capacity of all vdevs are then available to all of the file systems in the zpool.
Copy-on-write transactional model
ZFS uses a copy-on-write, transactional object model. Blocks containing active data are never overwritten in place; instead, a new block is allocated, modified data is written to it, and then any metadata blocks referencing it are similarly read, reallocated, and written.
Snapshots
When ZFS writes new data, instead of releasing the blocks containing the old data, it can instead retain them, creating a snapshot version of the file system. (Sound like Time Machine could make use of something like that?
) Writable snapshots ("clones") can also be created, resulting in two independent file systems that share a set of blocks.
Dynamic striping
Dynamic striping across all devices to maximize throughput means that as additional devices are added to the zpool, the stripe width automatically expands to include them, thus all disks in a pool are used, which balances the write load across them.
Variable block sizes
ZFS uses variable-sized blocks of up to 128 kilobytes. The currently available code allows the administrator to tune the maximum block size used as certain workloads do not perform well with large blocks. Automatic tuning to match workload characteristics is contemplated.
Lightweight filesystem creation
Creating a new filesystem within a ZFS storage pool is extremely quick and easy; the time and effort required are closer to those for making a new directory than those for formatting a volume with a traditional filesystem.
Additional capabilities
License
ZFS was created by Sun Microsystems in 2004-05 and is open source, released under the CDDL. The CDDL is apparently based on the Mozilla Public License, but has some sort of incompatibility with the GPL that Linux folk are trying to work around to port it to linux. I don't imagine Apple would have any problem with porting ZFS to OS X license-wise.
etc. etc. etc.
Go read the Wikipedia article or google ZFS if that's not enough for you. There is more that I cut out.
ok could someone explain to me what is ZFS and the difference that is from the current HFS and HFS+?
(ripped from http://en.wikipedia.org/wiki/Zfs and shortened)
Capacity
ZFS is a 128-bit file system, which means it can store 18 billion billion (18 quintillion) times more data than current 64-bit systems.
- 2 ^ 48 — Number of files in any individual file system (2 × 10 ^ 14)
- 16 exabytes — Maximum size of a file system (an exabyte is 2 ^ 60 bytes)
- 16 exabytes — Maximum size of a single file
Storage pools
Unlike a traditional file system, which resides on a single device and thus requires a volume manager to use more than one device, ZFS is built on top of virtual storage pools called zpools. A pool is constructed from virtual devices (vdevs), each of which is either a raw device, a mirror (RAID 1) of one or more devices, or a RAID-Z group of two or more devices. The storage capacity of all vdevs are then available to all of the file systems in the zpool.
Copy-on-write transactional model
ZFS uses a copy-on-write, transactional object model. Blocks containing active data are never overwritten in place; instead, a new block is allocated, modified data is written to it, and then any metadata blocks referencing it are similarly read, reallocated, and written.
Snapshots
When ZFS writes new data, instead of releasing the blocks containing the old data, it can instead retain them, creating a snapshot version of the file system. (Sound like Time Machine could make use of something like that?
Dynamic striping
Dynamic striping across all devices to maximize throughput means that as additional devices are added to the zpool, the stripe width automatically expands to include them, thus all disks in a pool are used, which balances the write load across them.
Variable block sizes
ZFS uses variable-sized blocks of up to 128 kilobytes. The currently available code allows the administrator to tune the maximum block size used as certain workloads do not perform well with large blocks. Automatic tuning to match workload characteristics is contemplated.
Lightweight filesystem creation
Creating a new filesystem within a ZFS storage pool is extremely quick and easy; the time and effort required are closer to those for making a new directory than those for formatting a volume with a traditional filesystem.
Additional capabilities
- Explicit I/O priority with deadline scheduling
- Globally optimal I/O sorting and aggregation
- Multiple independent prefetch streams with automatic length and stride detection
- Parallel, constant-time directory operations
License
ZFS was created by Sun Microsystems in 2004-05 and is open source, released under the CDDL. The CDDL is apparently based on the Mozilla Public License, but has some sort of incompatibility with the GPL that Linux folk are trying to work around to port it to linux. I don't imagine Apple would have any problem with porting ZFS to OS X license-wise.
etc. etc. etc.
Go read the Wikipedia article or google ZFS if that's not enough for you. There is more that I cut out.