All of lore.kernel.org
 help / color / mirror / Atom feed
* Balance RAID10 with odd device count
@ 2012-02-21  0:35 Tom Cameron
  2012-02-21  0:45 ` Wes
  2012-02-21  1:13 ` Hugo Mills
  0 siblings, 2 replies; 19+ messages in thread
From: Tom Cameron @ 2012-02-21  0:35 UTC (permalink / raw)
  To: linux-btrfs

I had a 4 drive RAID10 btrfs setup that I added a fifth drive to with
the "btrfs device add" command. Once the device was added, I used the
balance command to distribute the data through the drives. This
resulted in an infinite run of the btrfs tool with data moving back
and forth across the drives over and over again. When using the "btrfs
filesystem show" command, I could see the same pattern repeated in the
byte counts on each of the drives.

It would probably add more complexity to the code, but adding a check
for loops like this may be handy. While a 5-drive RAID10 array is a
weird configuration (I'm waiting for a case with 6 bays), it _should_
be possible with filesystems like BTRFS. In my head, the distribution
of data would be uneven across drives, but the duplicate and stripe
count should be even at the end. I'd imagine it to look something like
this:

D1: A1 B1 C1 D1
D2: A1 B1 C1    E1
D3: A2 B2    D1 E1
D4: A2    C2 D2 E2
D5:    B2 C2 D2 E2

This is obviously over simplified, but the general idea is the same. I
haven't looked into the way the "RAID"ing of objects works in BTRFS
yet, but because it's a filesystem and not a block-based system it
should be smart enough to care only about the duplication and striping
of data, and not the actual block-level or extent-level balancing.
Thoughts?

Thanks in advance!
Tom

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-02-22 11:48 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-21  0:35 Balance RAID10 with odd device count Tom Cameron
2012-02-21  0:45 ` Wes
2012-02-21  0:51   ` Wes
2012-02-21  1:07     ` Tom Cameron
     [not found]       ` <CA+WRLO9BgqE+CwCUNgjwjVFyjDDp94SBX_EbdVciHUd0jpUqWQ@mail.gmail.com>
2012-02-21  1:59         ` Tom Cameron
2012-02-21  2:46           ` Gareth Pye
2012-02-21  7:54           ` Hugo Mills
2012-02-22  8:56             ` Xavier Nicollet
2012-02-22 10:22               ` Hubert Kario
2012-02-22 11:09                 ` Hugo Mills
2012-02-21  1:07   ` Hugo Mills
2012-02-21  1:13     ` Tom Cameron
2012-02-21  1:21       ` Hugo Mills
2012-02-22 11:48         ` Duncan
2012-02-21  1:27     ` Wes
2012-02-21  1:31       ` Hugo Mills
2012-02-21  1:16   ` Liu Bo
2012-02-21  1:22     ` Hugo Mills
2012-02-21  1:13 ` Hugo Mills

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.