# Rescuing broken RAID5 gvinum volume



## morfran (May 26, 2010)

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):


```
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:


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


```
# 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:


```
# 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:


```
# 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.


----------

