domingo, 21 de noviembre de 2010

Broken RAID5 you said? Don't use Java anymore. Go with python instead!

So, you have a broken RAID5 and found the article I wrote for the Free Software Magazine 5 years ago about it and would like to give it a shot.

First off: Good luck! You are gonna need it.

Second: When I solved that problem I didn't have any experience in python whatsoever plus Oracle hadn't bought Sun, sued Google, etc.

During the course of these 5 years I have received some requests to help people out with their situation and it's been a very nice experience to hack on those devices here or there to get the data back. I have received a little money by paypal and even once got a box of whine bottle from Italy (thanks, Marco!) as payments.

Every single time I've had to help someone with it, I always get the question of how to run the .java classes I made. And I even took the task of compiling the .class files to then send them to the person in need.

Given the gripes over oracle/java recently I have decided to translate the library to python for people who want to use it so they don't have to go around trying to learn how to compile/run things in Java (at least in GNU/Linux).

The project is here:

https://code.launchpad.net/~eantoranz/+junk/raidpycovery

You can get it very easily by using bazaar:

bzr branch -r tag:2.00.00 lp:~eantoranz/+junk/raidpycovery

Or you can just download the files from that same version and use them:
Chunk.py
Raid5Recovery.py
RaidImageRecovery.py
Let's not forget the readme where you get to see how to use it:
readme.txt

There's more stuff in the project (some chunks from the RAID I recovered at the Hospital, mostly... but you never know!) so I'd suggest to use bazaar but....

Warning/disclaimer/whatever: I haven't tested it on a real environment so there might be some glitches (but I did a translation mostly so it should be correct overall).

In case you want to get the original java code:

bzr branch -r tag:1.00.00 lp:~eantoranz/+junk/raidpycovery

Or start browsing here to get the files.

PS Sorry, Larry.... it just had to be done. A little weight off my jumping-off-java shoulders. :-)

PS2: Donations, donations! You found the project useful? How about giving a little contribution? 0,10 US$ / Gb recovered? Sounds like fair to me. Specially considering how fast HDs sizes are growing compared against the inflation.

2 comentarios:

  1. Line 96 of Raid5Recovery.py has a typo: it says "algorith" instead of "algorithm".

    :)

    ResponderEliminar
  2. For those arriving here because they have a broken RAID and want to get the data back, the tool has been translated to C++ cause on python it was painfully slow. So you either branch with bzr or you get the files from the repo: https://code.launchpad.net/%7Eeantoranz/+junk/raidpycovery. Good luck, either way!

    ResponderEliminar