From: Hubert Kario <hka@qbs.com.pl>
To: Freddie Cash <fjwcash@gmail.com>
Cc: Kaspar Schleiser <kaspar@schleiser.de>, linux-btrfs@vger.kernel.org
Subject: Re: Synching a Backup Server
Date: Tue, 25 Jan 2011 19:36:28 +0100 [thread overview]
Message-ID: <201101251936.28264.hka@qbs.com.pl> (raw)
In-Reply-To: <AANLkTim+3+aHoX0Shc5_Fzym6_xsLAKyEA6c352nCPuD@mail.gmail.com>
On Tuesday, January 25, 2011 18:59:39 Freddie Cash wrote:
> On Tue, Jan 25, 2011 at 9:43 AM, Hubert Kario <hka@qbs.com.pl> wrote:
> > Besides, I don't see *why* this should be done...
> >=20
> > And as far as I know ZFS doesn't support different reduncancy level=
s for
> > different files residing in the same directory. You can have
> > ~/1billion$-project.tar.gz with triple redundancy and ~/temp.video.=
mkv
> > with no reduncancy with btrfs...
>=20
> With ZFS, redundancy (mirror, raidz1, raidz2, raidz3) is done at the
> storage pool layer, and affects the entire pool. You can mix and
> match redundancy levels (combine mirror vdevs and raidz vdevs in the
> same pool), but there's no way to control what data blocks go to whic=
h
> vdev, as it's all just one giant pool of storage.
>=20
> However, there is a "copies" property for each filesystem that affect=
s
> how many copies of data blocks are stored, to increase the redundancy
> for that filesystem. For example, you can create a storage pool usin=
g
> 2 mirror vdevs (4 drives; equivalent to a RAID10 setup); then create =
a
> filesystem with copies=3D2. Thus, any blocks written to that filesys=
tem
> will be stored twice, each of which is then striped across the two
> vdevs, and then mirrored to each disk in the vdevs, potentially
> leading to 4 (or more) blocks of data written to disk.
>=20
> This is similar to using Linux md to create RAID arrays underneath LV=
M
> volume groups. The redundancy is managed via md; the filesystems jus=
t
> see a collection of blocks to write to.
>=20
> The big difference (from what I understand) between ZFS and Btrfs is
> the layering. ZFS separate storage management from filesystem
> management, so redundancy happens at lower layers and the filesystem
> just sends blocks to the pool. Whereas Btrfs combines them into one,
> so that redundancy is managed at the filesystem level and can be
> changed on a per-directory (or per-sub-volume?) basis, with the
> filesystem handling the writes and the redundancy.
Right now you can't change the raid level at all but there are hooks pl=
anned=20
to enable selecting raid level on a per file basis.
btrfs allows for better management of space ond less over provisioning.
So I'd say that management of storage space with btrfs is even easier t=
han=20
with ZFS:
admin sets the default redundancy level for whole file system (let's sa=
y that=20
it's a 4 disk system) to a RAID1 with two copies.
After seting up the system sets the redundancy level in directories wit=
h=20
databases to RAID10
Users storing big files use RAID5 for some files.
one of the drives fails, admin removes the drive from set, schedules=20
reballance.
the set is smaller but all reduncancy is preserved
New drives arrive, they are added to fs. FS is reballanced for the seco=
nd time=20
to achive better performance (the space would be usable even without it=
).
=20
> I don't pretend to understand all the intricacies of how Btrfs works
> (I'm working on it), but the layering in ZFS is very nice and easy to
> work with in comparison. Interesting how ZFS is considered the
> "rampant layering violation", though. ;) :) :D
btrfs is much simpler from user point of view :)
as for rampant layering violation: most of the code that deals with sto=
red=20
data isn't concerned with raid level, in contrast with zfs. In other wo=
rds,=20
its in the code, not interface.
--=20
Hubert Kario
QBS - Quality Business Software
02-656 Warszawa, ul. Ksawer=C3=B3w 30/85
tel. +48 (22) 646-61-51, 646-74-24
www.qbs.com.pl
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-01-25 18:36 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-06 17:35 Synching a Backup Server Carl Cook
2011-01-06 19:16 ` Freddie Cash
2011-01-06 19:34 ` Marcin Kuk
[not found] ` <AANLkTik-rhXAHW18id4WMMtdqXkicvzTZ47+2r6YMuY0@mail.gmail.com>
2011-01-06 19:47 ` Freddie Cash
2011-01-06 20:07 ` C Anthony Risinger
2011-01-06 20:13 ` Freddie Cash
2011-01-06 20:21 ` C Anthony Risinger
2011-01-06 21:06 ` Gordan Bobic
2011-01-06 21:39 ` Freddie Cash
2011-01-06 21:44 ` Carl Cook
2011-01-06 21:53 ` Gordan Bobic
2011-01-06 21:58 ` Freddie Cash
2011-01-06 22:26 ` Carl Cook
2011-01-06 22:29 ` Gordan Bobic
2011-01-06 23:07 ` Carl Cook
2011-01-07 16:14 ` Hubert Kario
2011-01-06 23:15 ` Fajar A. Nugraha
2011-01-06 21:42 ` Carl Cook
2011-01-06 21:52 ` Freddie Cash
2011-01-07 16:20 ` Hubert Kario
2011-01-09 11:46 ` Alan Chandler
2011-01-09 13:54 ` Fajar A. Nugraha
2011-01-09 15:32 ` Alan Chandler
2011-01-09 17:59 ` Freddie Cash
2011-01-09 18:30 ` Hugo Mills
2011-01-09 20:57 ` Alan Chandler
2011-01-09 22:01 ` Hugo Mills
2011-01-09 23:32 ` Alan Chandler
2011-01-11 22:25 ` Hugo Mills
2011-01-10 2:22 ` Fajar A. Nugraha
2011-01-11 22:41 ` Hugo Mills
2011-01-21 19:28 ` Freddie Cash
2011-01-22 13:45 ` Hugo Mills
2011-01-24 17:45 ` Freddie Cash
2011-01-22 13:55 ` Hubert Kario
2011-01-25 17:29 ` Kaspar Schleiser
2011-01-25 17:43 ` Hubert Kario
2011-01-25 17:59 ` Freddie Cash
2011-01-25 18:36 ` Hubert Kario [this message]
2011-01-10 13:14 ` Hubert Kario
2011-01-06 20:12 ` Fajar A. Nugraha
2011-01-06 21:43 ` Carl Cook
2011-01-06 21:43 ` Goffredo Baroncelli
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=201101251936.28264.hka@qbs.com.pl \
--to=hka@qbs.com.pl \
--cc=fjwcash@gmail.com \
--cc=kaspar@schleiser.de \
--cc=linux-btrfs@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.