Remember the times when I translated the raid5 recovery utility from java to python? Well, let me tell you something. It was horrendously SLOW. For example, I used to help a guy who had a problem with his array and the operation to rebuild the array took literally days (and the data wasn't recovered in the end, so...). While doing my tests, a (virtual) 300 MBs RAID5 with a missing disk took about 450 secs to be rebuilt on python (on my netbook, anyway).
Right now I'm facing the recovery from a RAID that has 6 disks 150 GBs each. That is going to take _a lot_ of time to recover. So, just in case we do have to go on with the operation, I decided I was goint to translate it to C++, which I started doing a little more than 24 hours ago (not fully employed on the task so don't complains about me being slow in the process).
So, I'm happy to announce that the translation has worked and after making some tests I can attest that it absolutely kicks ass (at least time-wise :-)). Remember the 300 MBs RAID5 I talked about a couple of paragraphs ago? It's rebuilt in roughly 8 seconds. 8!!!!
The way you call it is the same (same arguments) only that, instead of
calling Raid5Recovery.py, you will just write Raid5Recovery (with the accompanying ./, you know the drill).
I don't intend to change its name at the time so it will remain Raidpycovery.
As usual, I have made some tests on it but they were not exhaustive so feel free to use it at your own risk.
The project is hosted on launchpad (no release) here:
Last but by no means least, I dedicate this project to the memory of my wife, Lina Marcela "Nena" Salgado.