[Discuss] btrfs

Rich Pieri richard.pieri at gmail.com
Mon Feb 25 20:28:05 EST 2013


On Mon, 25 Feb 2013 10:53:28 -0500
Derek Atkins <warlord at MIT.EDU> wrote:

> How is it still raid1?

What Btrfs calls "RAID" isn't actually RAID. It isn't redundant disks.
What Btrfs calls "RAID" is actually striped or mirrored data and
metadata. 

Say that you have four devices in a Btrfs volume. There are three
different ways that you can configure data storage for the volume. Pay
attention because this is quite different from what ZFS does.

The first is what Btrfs calls data raid0: striped data. In this
configuration, if you write a large file then the file extents will be
distributed across all four devices in the volume as evenly as possible.

The second is what Btrfs calls raid1: mirrored data. In this
configuration, a given file is assigned to two devices in the volume,
with all data written to both devices. It should be noted that devices
are not mirrored. In a three device raid1 volume, file1 may be written
to sda and sdb while file2 may be written to sda and sdc, and file3 may
be on sdb and sdc. The three device raid1 is a great way to demonstrate
the nature of Btrfs data and metadata mirroring as different from
traditional and ZFS RAID1.

The third is what Btrfs calls raid10: striped and mirrored data. In this
configuration, a large file's extents will be distributed across all
four devices in the volume, just like raid0. In addition, a replica of
each extent will be written to a different device. Both copies of the
file are striped across the entire volume. Reads are balanced across
all devices in the volume.

Btrfs raid10 requires at least four devices but can have more
than that including odd numbers of devices.

-- 
Rich P.



More information about the Discuss mailing list