From: Chuck Lever <chuck.lever@oracle.com>
To: Chris Mason <chris.mason@oracle.com>
Cc: John Stoffel <john@stoffel.org>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [ANNOUNCE] Btrfs: a copy on write, snapshotting FS
Date: Fri, 15 Jun 2007 13:17:06 -0400 [thread overview]
Message-ID: <4672C992.6000301@oracle.com> (raw)
In-Reply-To: <20070614184851.GD2061@think.oraclecorp.com>
[-- Attachment #1: Type: text/plain, Size: 2527 bytes --]
Chris Mason wrote:
> On Thu, Jun 14, 2007 at 02:20:26PM -0400, Chuck Lever wrote:
>> NetApp happens to use the standard NDMP protocol for sending the
>> flattened file system. NetApp uses it for synchronous replication,
>> volume migration, and back up to nearline storage and tape. AFS used
>> "vol dump" and "vol restore" for migration, replication, and back-up.
>> ZFS has the "zfs send" and "zfs receive" commands that do basically the
>> same (Eric Kustarz recently published a blog entry that described how
>> these work). And of course, all file system objects are able to be sent
>> this way: streams, xattrs, ACLs, and so on are all supported.
>>
>> Note also that NFSv4 supports the idea of migrated or replicated file
>> objects. All that is needed to support it is a mechanism on the servers
>> to actually move the data.
>
> Stringing the replication together with the underlying FS would be neat.
> Is there a way to deal with a master/slave setup, where the slave may be
> out of date?
Among the implementations I'm aware of, there is a varying degree of
integration into the physical file system. In general, it depends on
how far out of date the slave is, and how closely the slave is supposed
to be synchronized to the master.
A hot backup file system, for example, should be data-consistent within
a few seconds of the master. A snapshot is used to initialize a slave,
followed by a live stream of updates to the master being sent to slaves.
Such a mechanism already exists on NetApp filers because they gather
changes in NVRAM before committing them to the local file system.
Simply put, these changes can also be bundled and sent to a local hot
backup filer that is attached via Infiniband, or over the network to a
remote hot backup filer.
For AFS, replication is done by maintaining a rw and ro copy of a volume
on the designated master server. Changes are made to the rw copy over
time. When admins want to push out a new version to replicas on another
server, the ro copy on the master is replaced with a new snapshot, then
this is pushed to the slaves. The replicas are always ro and are used
mostly for load balancing; clients contact the closest or fastest server
containing a replica of the volume they want to access. They always
have a complete copy of the volume (ie no COW on the slaves).
I think you have designed into btrfs a lot of opportunity to implement
this kind of data virtualization and management... I'm excited to see
what can be done.
[-- Attachment #2: chuck.lever.vcf --]
[-- Type: text/x-vcard, Size: 291 bytes --]
begin:vcard
fn:Chuck Lever
n:Lever;Chuck
org:Oracle Corporation;Corporate Architecture: Linux Projects Group
adr:;;1015 Granger Avenue;Ann Arbor;MI;48104;USA
title:Principal Member of Staff
tel;work:+1 248 614 5091
x-mozilla-html:FALSE
url:http://oss.oracle.com/~cel/
version:2.1
end:vcard
next prev parent reply other threads:[~2007-06-15 17:17 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-12 16:10 [ANNOUNCE] Btrfs: a copy on write, snapshotting FS Chris Mason
2007-06-12 19:53 ` Mike Snitzer
2007-06-12 20:14 ` Chris Mason
2007-06-13 3:08 ` Christoph Hellwig
2007-06-13 10:17 ` Chris Mason
2007-06-13 3:46 ` John Stoffel
2007-06-13 10:35 ` Chris Mason
2007-06-13 14:00 ` John Stoffel
2007-06-13 14:54 ` Chris Mason
2007-06-13 16:12 ` John Stoffel
2007-06-13 16:34 ` Chris Mason
2007-06-13 16:25 ` Grzegorz Kulewski
2007-06-14 18:20 ` Chuck Lever
2007-06-14 18:48 ` Chris Mason
2007-06-15 17:17 ` Chuck Lever [this message]
2007-06-14 18:29 ` Florian D.
2007-06-14 19:13 ` Chris Mason
2007-06-15 19:08 ` Florian D.
2007-06-15 19:11 ` Chris Mason
2007-06-15 20:46 ` Florian D.
2007-06-15 20:51 ` Chris Mason
2007-06-15 22:03 ` Florian D.
2007-06-16 0:54 ` Chris Mason
2007-06-16 9:31 ` Florian D.
2007-06-18 14:29 ` Chris Mason
2007-06-18 14:41 ` Chris Mason
2007-06-18 17:37 ` Vladislav Bolkhovitin
2007-06-18 20:08 ` John Stoffel
2007-06-19 9:11 ` Pádraig Brady
2007-06-19 10:01 ` Vladislav Bolkhovitin
2007-06-19 18:20 ` david
2007-06-20 8:41 ` Vladislav Bolkhovitin
2007-06-19 12:04 ` Chris Mason
2007-06-19 14:00 ` Vladislav Bolkhovitin
2007-06-19 18:24 ` david
2007-06-19 18:28 ` Philipp Matthias Hahn
2007-06-20 8:44 ` Vladislav Bolkhovitin
2007-06-20 9:18 ` Ph. Marek
-- strict thread matches above, loose matches on Subject: below --
2007-06-13 5:45 Albert Cahalan
2007-06-13 12:00 ` Chris Mason
2007-06-13 16:14 ` Albert Cahalan
2007-06-13 16:57 ` Chris Mason
2007-06-14 6:59 ` Albert Cahalan
2007-06-14 12:30 ` Chris Mason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4672C992.6000301@oracle.com \
--to=chuck.lever@oracle.com \
--cc=chris.mason@oracle.com \
--cc=john@stoffel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).