PDA

View Full Version : ZFS Coming to Consumer OS



Lemur
06-21-2008, 03:33
This is kinda cool -- Sun's open-source ZFS is going to be released with the next version of Apples OS X server. Sounds kinda interesting:


ZFS is the first desktop file system with true end-to-end data integrity. Thanks to sophisticated tree-based checksums it detects and corrects silent data corruption anywhere in the data path: disks, cables, interfaces and more.

The checksums are stored with the parent block, so the file system always knows that the child block is both uncorrupted and the correct block. That’s just one of the errors that NTFS and most other commodity file systems - including the Mac’s HFS+ - are prone too.

Sun’s ZFS engineering team started working on ZFS 7 years ago as a clean-sheet design. It combines file system and volume management functionality. Instead of managing individual disks, you manage a pool of blocks. ZFS takes care of the details. [...]

No more Disk Warrior
Data corruption on PCs and Macs is a sad and stupid fact of life. Power failures, flaky RAM, poor grounding, (slowly) failing hard drives, driver glitches, phantom writes and more conspire to rot your data.

ZFS eliminates that. All blocks are checksummed and the checksum is stored in a parent block. ZFS always knows if the block is correct and/or corrupt. Every block has a parent block (with one obvious exception that gets special treatment), so the entire data store is self-validating. You’ll never have to wonder if all your data is correct again. It is.

No RAID cards or controllers
ZFS implements very fast RAID that fixes the performance knock-off against software RAID. In ZFS all writes are the fastest kind: full stripe writes. And the RAID is running on the fastest processor in your system (your Mac), rather than some 3-5 year old microcontroller.

Just add drives to your system and you have a fast RAID system. With Serial Attach SCSI and SATA drives you’ll pay for the drives (cheap and getting cheaper), cables and enclosures.

No more volumes
Every time you add a disk to your Mac you see another disk icon on the desktop. If you want to RAID some disks you use Disk Utility (or something) to create the volume. Slow, error-prone, confusing.

ZFS eliminates the whole volume concept. Add a disk or five to your system and it joins your storage pool. More capacity. Not more management.

Backup made easy
ZFS does something called snapshot copy, which creates a copy of all your data at whatever point in time you want. Copy the snapshot up to a disk, tape or NAS box and you are backed up.

Create a snapshot on every write if you want, so if your database barfs you can go back to just before it choked.

Sounds dreamy. Anybody played with this ZFS stuff before?

LeftEyeNine
06-21-2008, 13:39
That surely sounds interesting but my geeky neurons failed at some point: Is this file system Mac-only or can it be implemented to PCs ?

Lemur
06-21-2008, 14:10
It's open-source, so anyone who has the time and the guts to integrate it into their OS is free to do so. From the wiki page on zfs (http://en.wikipedia.org/wiki/ZFS):

OpenSolaris

OpenSolaris 2008.05 uses ZFS as its default filesystem. There are a half dozen 3rd party distributions.

Nexenta OS, a complete GNU-based open source operating system built on top of the OpenSolaris kernel and runtime, includes a ZFS implementation, added in version alpha1. More recently, Nexenta Systems announced NexentaStor, their ZFS storage appliance providing NAS/SAN/iSCSI capabilities and based on Nexenta OS. NexentaStor includes a GUI that simplifies the process of utilizing ZFS.

Nexenta announced in February of 2008 a significant release, called version NexentaCore Platform 1.0, of their operating system which serves as a basis for software appliances from Nexenta and other distributions. As of June 15 '08 "NexentaCore 2.0 Alpha1 Release (unstable)" is available. Nexenta downloads.

FreeBSD

Pawel Jakub Dawidek has ported and committed ZFS to FreeBSD in experimental capacity for inclusion in FreeBSD 7.0, released on February 28, 2008. The current recommendation is to use it only on amd64 platforms with sufficient memory.

As a part of the 2007 Google Summer of Code a ZFS port was started for NetBSD.

Mac OS X

In a post on the opensolaris.org zfs-discuss mailing list, Apple Inc. announced it was porting ZFS to their Mac OS X operating system. From Mac OS X 10.5 Developer Seed 9A321, support for ZFS has been included, but lacks the ability to act as a root partition, noted above. Also, attempts to format local drives using ZFS were unsuccessful; this is a known bug.

On June 6, 2007, Sun's CEO Jonathan I. Schwartz announced that Apple would make ZFS "the" filesystem in Mac OS 10.5 Leopard. Marc Hamilton, VP for Solaris Marketing later wrote to clarify that, in his opinion, Apple is planning to use ZFS in future versions of Mac OS X, but not necessarily as the default filesystem for Mac OS X 10.5 Leopard. In the release version of Mac OS X 10.5, ZFS is available in read-only mode from the command line, which lacks the possibility to create zpools or write to them,[34] but Apple has also released the "ZFS Read/Write Developer Preview 1.1 for Leopard",[35] which allows read-write access and the creation of zpools. The installer for the "ZFS Read/Write Developer Preview 1.1 for Leopard" is currently only working on version 10.5.0, and has not been updated for version 10.5.1 and above. As of January 2008, Apple provides read-write binaries and source, but they must be installed by hand. Alex Blewitt put together an installer for the 102-A binaries, which doesn't need any hand-holding to install.

The current Mac OS Forge release of the Mac OS X ZFS project is version 117 and synchronized with the OpenSolaris ZFS SVN version 72

Apple has also unveiled support for ZFS in its development version of Mac OS X "Snow Leopard", an OS optimized for machines with multi-core processors.

Linux

Porting ZFS to Linux is complicated by the fact that the GNU General Public License, which governs the Linux kernel, prohibits linking with code under certain licenses, such as CDDL, the license ZFS is released under.[39] One solution to this problem is to port ZFS to Linux's FUSE system so the filesystem runs in userspace instead. A project to do this was sponsored by Google's Summer of Code program in 2006, and is in Beta stage as of March 2008. The ZFS on FUSE project is complete. Running a file system outside the kernel on traditional Unix-like systems can have a significant performance impact. However, NTFS-3G (another file system driver built on FUSE) performs well when compared to other traditional file system drivers. This shows that excellent performance is possible with ZFS on Linux after proper optimization. Sun Microsystems has stated that a Linux port is being investigated.
So it's available on Solaris, and it's going to be available in FreeBSD, Linux and OS X. Windows? Who knows. They didn't even manage to implement their own file system upgrade with Vista, as they had planned. Looks as though WinFS (http://en.wikipedia.org/wiki/WinFS) shares some characteristics with zfs ...