RE: Spares and partitioning huge disks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Well, I give up!  It seems we don't talk the same language.
That is ok with me.  Bye!


-----Original Message-----
From: linux-raid-owner@xxxxxxxxxxxxxxx
[mailto:linux-raid-owner@xxxxxxxxxxxxxxx] On Behalf Of Peter T. Breuer
Sent: Thursday, January 13, 2005 6:33 PM
To: linux-raid@xxxxxxxxxxxxxxx
Subject: Re: Spares and partitioning huge disks

Guy <bugzilla@xxxxxxxxxxxxxxxx> wrote:
> Maybe you missed my post from yesterday.

Possibly I did - I certainly don't read everything and not everything
gets to me. Or maye I saw it and could not decipher it. I don't know!

> http://marc.theaimsgroup.com/?l=linux-raid&m=110559211400459&w=2

> No superblock was to prevent overwriting data on the failing component of

You say that no superblock in one of the raid1 subarray's disks stops
overwriting data on a top raid5 array?  This really sounds like double
dutch!  And if it does (What?  How?  Why?), so what?

> the top RAID5 array.  If you build the top array with degraded RAID1
arrays,
> then use a super block for the RAID1 arrays.

There possibly a missing verb in that sentence.  Or maybe not.  It is
hard to tell. Hmmmmmmmm .......... nope, I really can't see where that
sentence is trying to go.

Let's suppose it really does have the form of a computer language IF
THEN, so the conditional test would be "you build the top array with
degraded RAID1 arrays".

Well, I can interpret that to say that I build the top array (which is
RAID5) OF degraded RAID1 arrays, and then that would match what I
suggested.

OK.  So that would mean "IF you do what you suggest THEN ...".  Then
what?  Then "an imperative".  An imperative?  Why should I obey an
imperative?  Well, what does this imperative say anyway? 

It says "use a super block for the RAID1 arrays".

OK, that could be "use RAID1 arrays with superblocks".  That is "do the
normal thing with RAID1".  So the whole sentence says "IF you do what
you suggest THEN do the normal thing with RAID1".  OK - I agree.  You
are trying to say "IF I do things my way THEN I don't have to do
anything strange at the RAID1 level".

OK?

Whew! I can see why I skipped whatever you said before if that is what
it takes to decipher it!

Bt then the entire sentence says nothing strange or exciting.

> Also, so all of the RAID1 arrays don't seem degraded, configure them with
> only 1 device. 

Whaaaaaaat? Oh no, I give up - I really can't parse this. 

Hang on - maybe the tenses are wrong.  Maybe you are trying to say "you
don't have to configure the RAID1 arrays as having 1 good disk and 1
failed disk".

Well, I disagree. Correct me if I am wrong but as far as I know you
cannot change the number of disks in a raid array. I'd be happy to
learn you can, but for all I know if you start with n disks comprised
of m good and p failed disks, then n = m + p and the total can never
change. In my 2.6.3 codebase for raid there is only one point where 
conf->raid_disks is changed, and it is in the "run" routine, where 
it is set once and for all and never changed.


> Grow them to 2 devices when needed.  Then shrink them back
> to 1 when done.

If it were possible I'd be happy to hear of it. Maybe it is possible -
but it would be in a newer codebase than the 2.6.3 code I have running
here.

If so, why this convoluted way of saying that?

> The RAID1 idea will not work since a bad block will take out the RAID1.
But

Uh - yes it will work, no a bad block will not "take out the RAID1",
whatever you mean by that. 

I presume you mean that a bad block in the disk being read will mess up
the raid1 subarray. No it won't - it will just prevent a block being
copied. I see nothing terrible in that. The result will be that
everything else but that block will be copied. If you like we can even
arrange that the missing block be corrected THEN at that moment from
data available in the superarray, but I don't see that as necessary.

Why?

Well, 

1) because now that you have told me that the disk you want to swap out
is bad, then the top level array has morally lost its redundancy
already!  So just take the disk out and replace it - you won't be
degrading the top array any more than it already is while you do this.

2) oh - but you say that yes we are losing redundancy on the good
sectors of the disk. Oh? And which are those? Well let's just go ahead
with the RAID1 sync and whenever we hit an unreadable sector then
launch a request to the top level array for a read from the rest of the
RAID5 for that sector only.

3) oh, but you don't like to do that during resync? Shrug .. then mar
the place on a bitmap and after the resync has finished as best you are
able then launch an extra cleanup phase from the RAID5  to cover the
blocks marked bad in the bitmap (one can do this periodically anyway).

I don't see that one really needs to do 3 in place of 2, but I am
experimenting.

Anyway, the point is that ÿour "it will not work" is wrong.

> there are more issues, see the above URL.

Does it contain more of the same?

Peter

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux