[BBLISA] filesystems supporting snapshots

Tom Metro tmetro+bblisa at vl.com
Thu Aug 23 16:30:26 EDT 2007


Peter Galvin wrote:
> Or of course you can build a low cost NAS using ZFS - just use Solaris 10.

True, if you happen to like Solaris.


Robert Huff wrote:
> Since ZFS is now available for FreeBSD, it is probably
> available for Linux?

As pointed out in a prior message, it is, but only as a user-space 
driver, due to licensing restrictions. The FreeBSD implementation is 
in-kernel.


Adam Moskowitz wrote:
> I'm pretty sure Kirk McKusick out snapshots in the FreeBSD FFS quite a
> few years ago.

I'd seen attempts at snapshot capability in open source projects before, 
but until it was pointed out in ZFS, I hadn't seen one that worked the 
way the NetApp filesystem does. (In my original comment, I should have 
been more specific that I meant NetApp-style snapshots.)

For anyone not familiar with how the NetApp Write Anywhere File Layout 
(WAFL) file system works and how it accomplishes fast and space 
efficient snapshots, this technical paper describes WAFL on page 7, and 
snapshots on page 8:

http://www.netapp.com/library/tr/3001.pdf

   A WAFL file system can be thought of as a tree of blocks rooted by a
   data structure that describes the inode file. The inode file in turn
   contains the inodes that describe the rest of the files in the
   system, including meta-data files such as the free block bitmap and
   the free inode bitmap. ...

   WAFL creates a new Snapshot copy by making a duplicate copy of the
   root data structure, as shown in Figure 1(b). Since the root data
   structure is only 192 bytes, and since no other data blocks need to
   be copied on disk, a new Snapshot copy does not actually consume any
   additional disk space until a user deletes or modifies data in the
   active file system. WAFL creates a Snapshot copy in just a few
   seconds. Figure 1(c) shows what happens when a user modifies data
   block C. WAFL writes the new data to block C' on disk, and changes
   the root structure for the active file system to point to the new
   block. The Snapshot copy still references the original block C,
   which is unmodified on disk.


(Coincidentally, NetApp also has a paper on ZFS:
http://www.netapp.com/library/tr/3603.pdf
which can run on top of some of their hardware. The description of the 
snapshot capability is far more brief in that paper, but does include 
this statement, "Snapshot copies can be created almost instantly, and 
initially consume no additional disk space within the pool.")


seph wrote:
> linux's lvm has had snapshots for ages.

I've noticed that, though have never tried that capability. I'm not sure 
how it is implemented, but given it is at a layer below the file system, 
I doubt it works with the speed and efficiency of the NetApp approach.


Daniel Feenberg wrote:
> We have had experience with FreeBSD snapshots, and found that taking a 
> snapshot took...typically several hours...
> I posted a summary of our storage experiences at
>    http://www.nber.org/sys-admin/linux-nas-raid.html

I realize you wrote that in response to Adam's comment above, referring 
to some existing snapshot capability in an existing FreeBSD file system, 
but to clarify for others, your referenced document ("last update 22 
April 2006") isn't talking about ZFS on FreeBSD (which wasn't released 
until this year).

  -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/




More information about the bblisa mailing list