Tuesday Mar 03, 2009

UFS Data Recovery with UFS Explorer

I am overjoyed this evening!  I was able to successfully rescue about 200 GB of data off of a hard drive that I couldn't mount.

Originally, I thought I did a pretty good job of managing my data when I created a RAID-1 volume using the Solaris Volume Manager.  I had two identical drives in the system.  Each drive was 300 GB and had a mirror configured so that I could sustain a single drive failure without losing the data.

I awoke one morning to find that the mother board in the system had failed.  This posed a problem because it was an older mother board and finding an exact replacement was not possible.  I assume that the data was OK at this point.  I started to think about the cost of buying a new system, and I thought I could save some money by using another machine that I already had.  This turned out to be a very bad idea.

I had an old Ultra 10 handy.  These machines have an IDE interface, so I thought I could simply install the drives and read the data.  Unfortunately, the BIOS in these machines is too old to recognize the large 300 GB drive.  I seems as though it rewrote the partition table when it booted, because it was only able to see about 60 GB of data (maybe more or less, it's been a while).  Anyway, I couldn't mount the file system at all.  In addition, I failed to take note that the original machine was an AMD x86 machine, while the Ultra 10 is a SPARC machine.  I don't know if that ultimately mattered.  My suspicion is that the age to the Ultra 10 is what doomed my drive.

I tried repeated attempts to manually restore the drive by guessing the drive geometry.  I didn't have it written down anywhere and so I was just going on geometry numbers posted on the drive manufacturer's web site.  All attempts were unsuccessful.  I even tried using some partitioning tools like Ranish Partition Manager, Partition Magic, etc.  None of these were able to find the data on the drive.

I had given up on restoring the data.  Then I found a piece of software called UFS Explorer.  It has a free trial download that you can use to browse your drive.  You can download files up to 64 KB for free.  Then you can register for the full version.  This software was really easy to use.  I just plugged in the drive and let it scan the contents.  It took about 3.5 hrs to scan the disk, but it has found all of my data!

The really nice part is that I just placed the drive into a hard drive enclosure and connected it to a laptop using a USB port.  This was much easier than finding desktop PC and installing the drive internally.  I was skeptical at first; thinking that the USB interface would provide too much of an abstraction from the underlying IDE interface.  UFS Explorer handled it with ease. 

I highly recommend this product for anyone that has data on a UFS drive.  Now I can breathe a sigh of relief.

Lessons Learned:

  1. RAID-1 is not a replacement for traditional backups.  Data still needs to be backed up in case of a hardware failure in the system.  This could have been much worse for me if the hardware failure had somehow corrupted my data.
  2. Backup regularly.
  3. Don't place a large IDE drive into an older Ultra 10.  I am not 100% positive, but I am pretty sure that this is what messed up the partition table and caused the drive to become unreadable.
  4. My new server still uses Solaris Volume Manager and RAID-1.  I have now added Bacula software and an external USB drive so that I can manage backups on a regular schedule.


My server now runs the ZFS file system.  I am using ZFS to create the redundant disk array.  Then I have a cron job that runs a nightly ZFS snapshot to serve as my daily incremental backup strategy.  Once per week I have another script that makes a full backup to an external USB drive.  This seems easier than the bacula solution and requires no additional software. 




« February 2015