| Destriping a RAID0 array in linux |
|
|
|
A simple RAID0 destriper written in Python. We recently needed to do a data recovery on two hard drives that were part of a RAID0 array, and the original RAID controller was unusable. Some extended googling failed to produce a free de-striping tool for Linux, so I did a little research and threw together a quick Python script to do the job. To my surprise, it worked. I'm releasing it here in case anyone finds it useful. To use it, you need to know the stripe size of the array. Fancier (paid) tools can detect the stripe size automatically. If you're feeling adventurous, you could try the methods described here and here to determine the chunk size (you'll need a hex editor that can browse large files. I used this one). Another way to approach the problem is to simply try common stripe sizes and see if any of them generate a useful disk image. Common stripe sizes are 16k, 32k, 64k, and 128k. The default stripe size for linux software RAID0 is 64k. You'll also need a working installation of Python. This is a command line utility. Using it the wrong way can destroy your data. Please don't use it unless you know what you're doing. Run it with --help as an argument for a brief usage summary. Send it a USR1 signal while it's working and it'll print out how much data it's destriped. To download it, right click here and choose 'save as'. |