Rescuing broken RAID5 gvinum volume

I'm hoping that someone can help with this problem. I have a RAID5 gvinum volume that was working and then encountered a few problems which I responded to by running fsck. Unfortunately, that was just the beginning of my troubles.

The system is currently running FreeBSD 7.3 release, but was running FreeBSD 8.0 release (that may in fact be part of my problems).

Here's the details (everything looks fine and I've rebuilt the parity on the drives):

Code:
gvinum -> l
3 drives:
D d2 State: up /dev/ad6s1a A: 0/152626 MB (0%)
D d1 State: up /dev/ad4s1a A: 0/152626 MB (0%)
D d0 State: up /dev/ad2s1a A: 0/152626 MB (0%)

1 volume:
V music State: up Plexes: 1 Size: 298 GB

1 plex:
P music.p0 R5 State: up Subdisks: 3 Size: 298 GB

3 subdisks:
S music.p0.s0 State: up D: d0 Size: 149 GB
S music.p0.s1 State: up D: d1 Size: 149 GB
S music.p0.s2 State: up D: d2 Size: 149 GB

However, if I try to mount it:

Code:
# mount /dev/gvinum/music /music
mount: /dev/gvinum/music : Invalid argument
There's definitely something there:

Code:
# ls -ltr /dev/gvinum/music
crw-r----- 1 root operator 0, 88 May 24 11:45 /dev/gvinum/music
But this doesn't work well:

Code:
# fsck -n -t ufs /dev/gvinum/music
** /dev/gvinum/music (NO WRITE)
Cannot find file system superblock
ioctl (GCINFO): Inappropriate ioctl for device
fsck_ufs: /dev/gvinum/music: can't read disk label

And this looks bad:

Code:
# file - < /dev/gvinum/music
/dev/stdin: data

Does anyone have any advice? Is it possible to create a new volume and attach the existing plex to that without losing data? Or a create a new plex and add the existing subdisks, and then add the new plex to a new volume?

I'd appreciate any help.

Cheers,

Matt.
 
Back
Top