Reassembling striped data from disk images

  • 1.3K Views
  • Last Post 07 January 2019
Legacy Kit posted this 07 January 2019

TL;DR?

I'm trying to get data off some old hard drives that were RAID'd on a Promise FastTrak 100 Lite controller. The controller hardware is no more as the motherboard it is on is dead, but the IDE drives are working well enough that images are being taken.

Any ideas on how the striped data can be rebuilt?

-----

A long time ago, as an enthusiast into gaming, home building PCs, running totally inappropriate software otherwise, I built a monstrosity of a machine. It was my home's Windows 2000 (yes, it was that long ago) domain controller. You didn't do that? A simple domain makes Windows networking so smooth compared to that workgroup tedium!

Anyway, from spares and budget kit I built an AMD Duron ~800MHz based machine, on a Gigabyte GA-7DXR, 768 meg of RAM, running a pirate copy of Windows 2000 Data Centre Server. The fattest and stupidly over-spec OS available. DCS had a software RAID feature, and I used it as the piece-de-la-resistance of my house-of-cards. The hostname was bloat.

The hard drives were:

OS on an 8.4gig maxtor, on mobo's standard IDE controller.

2x 80gig on Fasttrak 100 Lite

2x 120gig on Fasttrak 100 Lite

I cannot remember which, but one of the pairs was RAID0 striped and presented to the OS as a single drive. The FastTrak 100 Lite would only do one array (the "Lite" bit), even though it could support 4 IDE drives, meaning the other pair were just presented to the OS as (I think) 2 standard IDE drives.

Armed with either (2 x 80gig and 1 x 240gig) or (2 x 120gig and 1 x 160gig), I consolidated this using Windows' software RAID.

Ahh, that feels better now it is out. I've been living with that shame for a decade!

To clarify, that was RAID on RAID. RAID0 where possible, I wasn't doing things by halves (OK, literally I was, with things being split in equal chunks, but I digress...).

Windows 2000 was the best version of Windows, for me. It was NT stable in a 9x world, did all the games (pretty much), and pretty much every UI silliness could be tamed. With XP the most glaring symptom of what irked me was the Fisher Price UI, but by then I had had enough of the world of proprietary software. It was the start of my radicalisation by the internet (is that safe to admit?). I had dabbled with Linux since Corel Linux, whenever that was. But I use FOSS pretty much exclusively these days, and love the control the user can have. If they know what they are doing. As this is a support forum, I wouldn't be here otherwise, I'm struggling to control a likely unmanageable situation.

Linux is great, as are modern HDDs with their capacity. My NAS is accommodating these files, no probs. The 4 large (ha!) HDDs from bloat are being imaged like this example:

ddrescue /dev/sdb Maxtor80master.img

It would be wonderful if someone has already cobbled together something that will go through two images, stripe-width at a time, and output into another file. Allowing for any offset at the start. I hope that is how simple the RAID0 is when actually placed on the disk?

The disk IDs on the two 120gig drives are sequential, so that makes me think those are the striped ones. An IDE to USB bridge is getting the data off the first 80 gig drive now, only 2 error out of ddrescue so far.

This is what's in the images/on the drives. I am sure one drive was dying 12 years ago when these disks were last on, so getting an image is all I am trying for.

$ fdisk -lu Maxtor120_1.img 

Disk Maxtor120_1.img: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders, total 240121728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x91d0e93e

          Device Boot      Start         End      Blocks   Id  System
Maxtor120_1.img1              63   240107489   120053713+  42  SFS

SFS seems to be an Amiga filesystem, but I guess the Promise set the partition type to a value deemed rare or non-existent? How both 120s and one 80 (last one not imaged yet) have this SFS file system makes me think either the contents of the drives are only really available via Promise hardware, or Windows RAID thing is showing through. Maybe MS don't use the standard NTFS/HPFS partition type?

Ultimately, if I can consolidate the drive images correctly into a huge image, I can use Windows 2000 DCS (or possibly a higher version of plain server) in a virtual machine to access the Windows software RAID partition. Then the data can be taken off onto something more solid (floppy disk, for example!).

Sorry for such a long post, if anyone has any sarcastic remarks to make about this farce, please go for it. Any bright ideas would be appreciated too, though.

Order By: Standard | Latest | Votes
PROMISE Technology Inc. posted this 07 January 2019

Hi Legacy Kit,

Unfortunatly, the FastTrak 100 is long EOL and I have no documentation at all for the lite version which is the chipset used on your motherboard. But I did find a user manual online.

https://docplayer.net/1078350-Promise-fasttrak-100-lite-raid-controller.html

It does show what you remember, that only (1) 2-drive RAID0 or RAID1 can be created.

Regarding recovering the RAID0, the best solution would be to replace the motherboard, which is unlikely to be an option. I cannot verify, but I'm pretty sure that the IDE FastTrack 100 uses the same chipset and drivers and should work for recovery purposes, but finding one would be as challenging as your motherboard.

Regarding the disk label, a raid controller does not label or partition the drive, it writes DDF (SNIA suggests at the end of the disk) that specifies RAID type and settings, but the disk label and filesystem is created by the host OS using the LUN. Regarding SFS, that seems to be from your NT software raid.

https://ubuntuforums.org/showthread.php?t=2102917

Re: Mount NTFS drive with unknown/SFS file system

SFS is dynamic partitioning by Windows. Normally it does that instead of the usual extended & logical partitions when you want to create more than the 4 allowed primary partitions.

Dynamic volume is a Microsoft proprietary format developed together with Veritas (now acquired by Symantec) for logical volumes.
You may be use a third-party tool, such as Partition Wizard MiniTool or EASEUS to convert a convert a dynamic disk to a basic disk without having to delete or format them.
I've never used any of these and so I can't be sure they will work.Be sure to have good backups as any major partition change has risks.

So you have two problems, recreating the RAID0 and recreating the dynamic disk.

You might try mdadm and see if it can recognise a Linux raid, I have no idea if this will work and I've never used mdadm on disk images. This might help.

https://askubuntu.com/questions/663027/create-raid-array-of-image-files

Otherwise, there's no additional help I can offer.

 

Legacy Kit posted this 07 January 2019

I had pretty much come to the conclusion that hoping to stumble across the right PCI card might be the best bet. It seems this controller was on a few mobos just before the SATA days, so that's another way (with a fresh OS, too).

I hadn't found that bit about SFS being the Windows dynamic disk ID, thanks a lot of highlighting it.

The RAID data being at the end of the disk makes sense, Linux fdisk sees this as the partitions of one of the 80gig drives:

Disk Maxtor80master.img: 82.0 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders, total 160086528 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3d7b6958

Device Boot Start End Blocks Id System
Maxtor80master.img1 63 320159384 160079661 42 SFS
Warning: ignoring extra data in partition table 5
Warning: ignoring extra data in partition table 5
Warning: ignoring extra data in partition table 5
Warning: invalid flag 0x0029 of partition table 5 will be corrected by w(rite)

None of the other images have this "extra data", so that could well be the RAID data.

Today I too found some things about trying mdadm. I think using a loop device, with an offset as necessary, mdadm could work with images.

Section 3 of this post talks about using dmsetup to bring striped images back together:

https://superuser.com/a/1340728

I'll probably have a hack at this on and off for a while, and if I do figure something out I'll post it and perhaps more than just a Google bot will find it useful in the next 15 years or so.

Thanks a lot for you time.

Close