Amanda-Users

Re: RAIT and amanda

2003-01-28 18:29:55
Subject: Re: RAIT and amanda
From: "Marc W. Mengel" <mengel AT fnal DOT gov>
To: amanda-users AT amanda DOT org
Date: Tue, 28 Jan 2003 16:49:17 -0600 (CST)
First off, sorry for not being active on the list lately;
I've been really busy on other fronts...

Just to be clear, the RAIT code is basically RAID 4, The data for
*each block* written is striped on n-1 drives and the xor sum is written
on the last drive.  This does have fallout, in particular hardware
compression won't work nearly as well on the last drive in many cases,
on the other hand, the code is really dirt simple, and easy to check.

By setting the last device in the stripe to be "null:" you get essentially
RAID-0; the code computes the xor sum and then writes it to null:...

Basically, for other permutations than 3 or 5 drives, or even just
for performance, you want to build Amanda to support a larger maximum tape
blocksize --  for example:
  ./configure --with-maxtapeblocksize=160 ...
and set the "blocksize" in your tapetype so it's divisible by the
number of data stripes.

I recommend blocksizes of (n-1)*32k for an n-tape stripe, or possibly
(n-1)*128k (with a correspondingly large maxtapeblocksize configured)
for drives like DLTs which stream better with bigger blocksizes.

I apologize for not getting this added to the docs/RAIT file.  I'll try
to get that done for the release.

-----
Marc Mengel <mengel AT fnal DOT gov>

> Subject:   Re: RAIT in 2.4.3b4
> John R. Jackson on Sat 25/01 11:34 -0500:
>  > >   - "[RAIT supports only 3 or 5 drive configurations.]"  I have four
>  > >     drives and no capacity for another in my library... this means I
>  > >     should just remove one of my drives right?
>  >
>  > Like any RAID setup, you need "N+1" drives
>
> only for RAID5, RAID4, and RAID3
>
> then there's also RAID0, RAID1, RAID2, RAID10, RAID50 which aren't N+1
>
>  > where "N" is a divisor of the data read/write size.
>
> RAID isn't limited this way.
>
>  > Internally, the tape code is getting (by default) 32KByte chunks of
>  > data, so "N" must be a power of 2.  The chunks have to be split evenly
>  > among the "data" drives ("N") and then there needs to be one more
>  > drive for the parity.
>
> You describe RAID4, probably the least commonly used RAID, since it
> means only one write request can be satisfied at once, as there is a
> only single drive doing parity writes.  Much better is to rotate the
> parity from one drive to the next with each write (RAID5), meaning that
> write requests can be satisfied concurrently.
>
> Besides which, there is no such rule on disk arrays, even with RAID4
> (that `N' must be a power of two).  There's no reason there can't be 4
> total drives, with three in use for data writes and one for parity.  The
> parity information is merely the exclusive OR of the data from all
> drives from the `N' set.  Sure, they all need to use the same chunk size
> for IOs, but there is no limit that `N' must be a power of two.
>
>  > I'm not sure why the docs say "only 3 or 5".  As far as I know, that's
>  > wrong.  I'm almost positive you can use 2 drives to achieve mirroring
>  > (one data, one parity, which with a single drive turns out to be a
>  > copy of the original).
>
> Using mirroring doesn't employ any parity calculations (why use CPU when
> you don't have to?).  It merely writes all data identically to two
> drives.
>
>  > >   - is anyone using RAIT in a production environment?
>  >
>  > Marc Mengel (bless him!) at FNAL provided the RAIT code and as far as
>  > I know is, and has been, using it in production for years.
>
> It's unfortunate that he doesn't read this list :)
>
> And since no one else replied I will have to conclude that he is the
> only one using RAIT in production.  That doesn't seem very well tested
> to me unless I were to use his exact setup...
>
>  > >   - with just the tapes and no Amanda, is it possible to "destripe"
>  > >   a RAIT set or otherwise get at the data?
>  >
>  > It would be pretty tricky, and that's certainly something you should
>  > consider before commiting to it.
>
> Sounds like I could just use `dd' in a loop using the block size and
> Alternating drives, to reconstruct a real, contiguous image somewhere
> (probably onto other tapes).  And using the amdd as you suggest would be
> even easier :) thanks.


<Prev in Thread] Current Thread [Next in Thread>
  • Re: RAIT and amanda, Marc W. Mengel <=