Skip to main content

Linux Data Recovery

Recently I had a RAID5 array crash on me. The array was composed of 3 Western Digital 250GB disks controlled by a 3Ware 9550SX card. This array had been in continuous operation for nearly 4 years. Yet, about 12 days ago one of the drives appeared to have crashed. As luck would have it, though, the PSU was also failing in this box, so the +5V line stopped working and took another drive offline. That was the end of the array.

3Ware/LSI was a great help. They created a custom application that was able to recover the original RAID header information. After attaching a new PSU to the box, 2 of 3 drives were online and the LSI tool made the array online too (but degraded).

That was zero day and I was still hopeful. I downloaded R-Tools linux recovery application and created a rescue CD. Stuck the CDROM into the failed system and started the recovery process. After about 4 days, R-Tools consumed the entirety of a 500GB disk that I had attached to the system and it was not done. So I gave up on R-Tools and tried Disk Patch, but that couldn't even recognize the drive array (no driver for the 3ware card). Then I found a forensic tool from Italy called CAINE. CAINE had Test Disk built into its operation environment, which was able to recognize the partition information on the LVM volumes and was able to rewrite it successfully. But still, nothing could mount the file system.

So I downloaded Phoenix Linux Recovery. It has a fun interface and looks nice and pretty, but it did not discover any of the LVM volumes. I tried their quick scan and their deep scan. It wasn't until a couple days of support interaction that I was told it does not support LVM volumes.

I went back to R-Tools and gave it a regular expression to match on the file names that I needed. Of the 300MB of files that were all named using the same method (32-character hash code), it found 1. That scan tool another 3 days.

Nearly at the point of giving up, I installed CentOS 5 on that 500GB spare drive, attached it to the motherboard, and changed the bios to give it boot priority (higher up on the boot device list, above the 3Ware card). With CentOS installed, i was able to run LVM and get the list of volumes on the drive array and see that its partition information was intact. So I ran e2fsck with the "-y" option on the array's volume and waited. Then I ran e2fsck about 4 more times before it finally was done fixing bad inode references and such.

Now I was able to mount the root file system, but all of the files were in "lost+found." So I did a "du" on the directory to see where I was at and spotted my original directory structure during the du process output. Control-C, change du to a du with a pipe through grep, and I found my files! Then tar, gzip, and scp, and the files were safely tucked away on more secure hardware.

I paid probably $700 for the various software products that all failed to anything useful. The two tools that worked for me were CAINE and e2fsck, both of which are FREE. Quotes from Kroll-OnTrack had the recovery cost between $3000 and $10,000. Every service wanted an upfront $300 fee to diagnose the RAID array.

Using LVM to partition your array makes future recovery from a crash more difficult. Make sure that you attach the crashed array to a new install of your original OS type and try to discover the extent of your damage. e2fsck can run in non-volatile mode, which means it will report the errors on your volume, but will not make any changes. In the end, using the "-y" option will allow you to sit back and watch the magic.

Popular posts from this blog

Stock Option Debt Income

The 2024 Presidential election has brought out a topic of interest that seems to have been perverted. There is this "Taxing Unrealized Capital Gains" [1] movement that is being falsely attributed to Vice President Harris. Clearly, this is a change in the revenue code that was designed by someone in office long before VP Harris was in office. My money is on Elizabeth Warren and Bernie Sanders. What is this change in the revenue code though? For that you have to understand what Silicon Valley zillionaires are doing with their stock options. Many of these people in this special economic area have huge discounts on stock prices for companies that are not public yet, or are public and can not be sold [2]. To be fair to these holders of equity, banks allow them to finance debt using leverage against those options. If you hold an option that is worth $5M then a bank might lend you a share of that value, thus realizing a debt against the option [3]. This is a fair debt instrument and...

A Self Defeating Race False Narrative

2020 is the year of the pandemic. The SARS-Cov-2 (Covid19) virus has rampaged across the planet infecting 4,893,136 [1] people by May 20, 2020. At this time, of those 4.8M people, 323,256 people have perished from complications that arise from the infection. Arising out of this pandemic has been a narrative about non-white ethnic groups being disproportionately affected by the infection [6,7,8]. A narrative that conditions people to believe that they are perpetually victims only creates a "collective victimhood" [4,5] in that group. This "collective victimhood" costs its members millions in unrealized potential, sends them cowering from social interactions that would otherwise benefit them, and ultimately creates an environment that perpetuates itself. Let's try to dispel that false narrative and deal just with data. I pulled my data from the CDC [9] looking at mortality only. The mortality data from CDC contains per-state mortality rates on a per-infectio...

Number of Primes

Anderson's Theorem (a) The number of primes in [1,n] is no more than 2+floor(n/2). The probability of n being prime when n is not prime is 1/2 - see Dasgupta,Papadimitriou,Vazirani "Algorithms" page 26. Therefore, the E(pi(n)) is n/2. (b) There does not exist another set of adjacent primes other than {1,2,3} 5: 2 + floor(5/2) = 2 + 2 = 4:=> {1,2,3,5} : 4 <= 4 7: 2 + floor(7/2) = 2 + 3 = 5 => {1,2,3,5,7} : 5 <= 5 11: 2 + floor(11/2) = 2 + 5 = 7 => {1,2,3,5,7,11} 6 <= 7 26: 2 + floor(26/2) = 15 => {1,2,3,5,7,11,13,17,19,23} : 10 <= 15 Lagrange's Theorem is Inaccurate Lagrange's theorem about primes states that pi(x) is the number of primes <= x. The pi(x) is approximately x/ln(x). He postulated that the lim of pi(x)/(x/lnx) as x-> infinity was 1. This is incorrect. if the number of primes is bounded by n/2 then refactoring and reducing Lagrange's Theorem results in the lim of ln(x) as x approaches infinity. This is alwa...