Buffalo Drive Station Quattro DIY Executive Summary

This document presents the commands used to recover a Buffalo Drive Station Quattro, with no explanation of the steps. Read Recovering Data from a Buffalo Drive Station Quattro for the details.

This document assumes you are have:

Hardware Setup

Boot a system with Knoppix 6.2 that has at least 3GB of free disc space. The computer I used didn't have enough IDE interfaces to connect all 4 RAID array discs at once, so I copied each disc one at a time. Power down the system every time you swap discs.

I also had to change jumper settings on each the 500GB IDE drives being copied from the Drive Station Quattro so all the scratch space SATA drives, CD-ROM drive and the 500GB drive were recognized by the BIOS. YMMV here.

These are the jumper settings I used:

Unfortunately a single 2TB disc won't hold all 4 500GB (really 466GiB, or 488636416 bytes). Formatted with an ext2 file system and 0 reserve sectors, this comes out to about 1.8TiB, not quite large enough for all four images.

Note: Remember to follow electrostatic precautions and only connect/disconnect discs with the power turned off!

Recovery Steps

Copy each 500GB disc:

    dd if=/dev/sda of=/mnt/2gb/disc1-500GB.img bs=8M
Perform this step on each of the 500GB discs from the Buffalo. Afterwards, you will have: I booted my recovery system in command line mode. Enter knoppix 2 at the Knoppix boot prompt. This is much faster to boot, and you don't need the GUI anyway. :)

And yes, you have to manually mount the target 2TB/1TB discs every time.

Now you can unstripe the RAID 5 array using the simple minded unstriping program. Modify the source code or the Makefile to point D1-D4 at each of your disc image copies and the unstriped file name.

Yes, you need about 1.5TiB of additional scratch space to hold the unstriped disc image. In my case, I used the new replacement Buffalo to hold this file.

Now you can run the unstripe program.

    /media/Kingston/unstripe
This example assumes you stored the compiled unstripe program on a USB stick. You can also start ssh and copy the program up to the Knoppix system.

Remember to run /etc/init.d/ssh start before trying to ssh to this system. Also remember to hookup a network interface and configure an IP address for this system.

The unstriping takes an extremely long time. In my case, about 3 1/2 days.YMMV here as well. The system I used to unstripe the array only had 2 SATA interfaces, so I had the target Buffalo connected by USB, which was probably the performance bottleneck. If using a 2TB Buffalo as the unstriping destination, format it as NTFS RAID-0 or JBOD.

Once the unstriping has completed, you can mount the unstriped disc image:

    mkdir /mnt/ntfs
    mount -t ntfs -o loop,offset=32256,ro /mnt/2tbscratch/diskimage.img /mnt/ntfs
If your RAID array is formatted as fat32, you need to specify -t fat32 and possibly a different offset to the start of the disc partition. Use of parted can be useful for finding the filesystem partition offset. Here is an example:
% sudo losetup /dev/loop0 /mnt/2tbscratch/diskimage.img
% sudo parted /dev/loop0
Password:
GNU Parted 1.8.6
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit b                                                           
(parted) p                                                                
Model: ATA Hitachi HDT72503 (scsi)
Disk /dev/sdb: 320072933376B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start          End            Size           Type     File system  Flags
 1      32256B         310282237439B  310282205184B  primary  ntfs         boot 
 2      310282237440B  320070320639B  9788083200B    primary  ntfs              

(parted) q

Assuming the mount command completes successfully, you can now cd /mnt/ntfs and look around.

Next you need to copy the files from the recovered RAID array from the now mounted diskimage.img file to another disc. I re-used the disc containing the 3 500GB disc{123}-500GB.img files. Remember to delete these 3 files first. :)

    rsync --progress -axv /mnt/ntfs /mnt/2gb
Next, I reformatted the replacement Buffalo as RAID-5, and copied recovered files to this new disc array:
    rsync --progress -axv /mnt/2gb /media/HD-QSSU2
Now you are done recovering your RAID array, and have a backup of your data as well.

Comments

If you have a system with 4 IDE interfaces and a SATA interface, you can skip the creation of 4 500GB disc image files, and unstripe the discs directly. Configure D1-D4 to /dev/sda /dev/sdb /dev/sdc /dev/sdd. This will save time, and use much less disc space during the recovery.

Copyright (C) Adam Bernstein. All Rights Reserved
Last updated: 4/3/2010