[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