Re: Reversing parity recalculation on out-of-order RAID 6 array

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

 



Hi Mikael,

I did look through the archives and also at that recovery wiki and
permute script, but I think my case is different, even though I'm sure
others must have also hit it before. My problem isn't that I don't
know the order of the disks in the array, but that the data in the
array has been scrambled. As an example, if a given extent in the
array was ordered across the disks as so:

    A B C P Q

where:
    P = A ^ B ^ C
    Q = A ^ mul(B) ^ mul(mul(C))

Then when my array was reconfigured in the incorrect order (say, with
disk 2 moved to the end), the layout was reordered to became:

    A C P Q B

Then when the array was recreated in this state, the parity
information was recalculated such that the data on disk became:

    A C P P' Q'

where:
    P' = A ^ C ^ P
    Q' = A ^ mul(C) ^ mul(mul(P))

Thus, the new parity information is now a function of two out of three
of the original data chunks (A and C) and one of the original parity
chunks (P), with data chunk B having been overwritten.

I need to reverse these disk writes across then entire length of the
array, after which I can reassemble the array in the correct order.

Thanks,

Steven

On Sat, Jul 18, 2015 at 3:33 PM, Mikael Abrahamsson <swmike@xxxxxxxxx> wrote:
> On Sat, 18 Jul 2015, Steven Reddie wrote:
>
>> I'm kind of hoping that all of this might have already been done, so
>> any pointers would be appreciated.
>
>
> https://raid.wiki.kernel.org/index.php/RAID_Recovery
> https://raid.wiki.kernel.org/index.php/Permute_array.pl
>
> There have historically been lots of threads here with people having the
> same problems, so if you search the archives for things like "assume-clean",
> "order", "mdadm", "create", "superblock", you'll find multiple examples of
> people actually successfully getting out of the problem you're also having.
>
> --
> Mikael Abrahamsson    email: swmike@xxxxxxxxx
--
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