Unable to mount Metadevice

Hi,

I am running Solaris 8 on a V880 which has recently crashed. It has got a fibre connection to a StorageTrek array containing my database info. Since the crash I have been unable to mount the 2 metadevices which correspond to /spool & /apps - these FS's contain my db info and theredore I cannot access my db.

I am sure somebody must have come across this before. The output below explains my situation:

metpmtc1:# metastat d501
d501: Soft Partition
    Component: d39
    State: Okay
    Size: 157286400 blocks
        Extent              Start Block              Block count
             0                    10177                157286400

d39: Concat/Stripe
    Size: 1286653440 blocks
    Stripe 0: (interlace: 128 blocks)
        Device     Start Block  Dbase State        Hot Spare
        c1t1d0s0          0     No    Okay         
        c1t2d0s0      10176     No    Okay         
        c1t3d0s0      10176     No    Okay         
        c1t4d0s0      10176     No    Okay         
        c2t1d0s0      10176     No    Okay         
        c2t2d0s0      10176     No    Okay         
        c2t3d0s0      10176     No    Okay         
        c2t4d0s0      10176     No    Okay         
        c2t5d0s0      10176     No    Okay         
metpmtc1:# mount /dev/dsk/md/501 /spool 
mount: /dev/dsk/md/501 is already mounted, /spool is busy,
        or the allowable number of mount points has been exceeded
metpmtc1:# 
metpmtc1:# fstyp /dev/dsk/md/501
fstyp: cannot stat or open </dev/dsk/md/501>
metpmtc1:# 
metpmtc1:# fsck /dev/dsk/md/501
Can't stat /dev/dsk/md/501

Regards,
Duffs.

Post the output of #mount command.

Thanks,
deepak

Hi,

Here it is however I have got the FS's commented out in the vfstab:

metpmtc1:# mount
/ on /dev/md/dsk/d30 read/write/setuid/intr/largefiles/onerror=panic/dev=154001e on Sat May  1 02:51:54 2010
/proc on /proc read/write/setuid/dev=5200000 on Sat May  1 02:51:53 2010
/dev/fd on fd read/write/setuid/dev=52c0000 on Sat May  1 02:51:57 2010
/etc/mnttab on mnttab read/write/setuid/dev=53c0000 on Sat May  1 02:51:59 2010
/var on /dev/md/dsk/d34 read/write/setuid/intr/largefiles/onerror=panic/dev=1540022 on Sat May  1 02:52:00 2010
/var/run on swap read/write/setuid/dev=1 on Sat May  1 02:52:01 2010
/tmp on swap read/write/setuid/dev=2 on Sat May  1 02:52:08 2010
/spool01 on /dev/dsk/c1t5d0s0 read/write/setuid/intr/largefiles/onerror=panic/dev=1d800d0 on Sat May  1 02:52:08 2010
/users on /dev/md/dsk/d33 read/write/setuid/intr/largefiles/onerror=panic/dev=1540021 on Sat May  1 02:52:08 2010
/admin on /dev/md/dsk/d35 read/write/setuid/intr/largefiles/onerror=panic/dev=1540023 on Sat May  1 02:52:08 2010

R,
D.

Use "/dev/md/dsk/d501" insted of "/dev/dsk/md/501" in all above commands.You are not writing "d" in the name of metadevice and writing wrong device path name.

Hi,

Thanks for noticing my typo but unfortunately it makes no difference:

metpmtc1:# mount /dev/dsk/md/d501 /spool
mount: /dev/dsk/md/d501 is already mounted, /spool is busy,
        or the allowable number of mount points has been exceeded
metpmtc1:# 
metpmtc1:# fstyp /dev/dsk/md/d501
fstyp: cannot stat or open </dev/dsk/md/d501>

R,
D.

Sorry, I edited my reply as I to made some typo mistake.
So, please check previous reply again.

And if still you get the error "/spool is busy" then just do following :

#rmdir /spool
#mkdir /spool 
  

And then try to mount on it again...

Hi,

No joy:

metpmtc1:# rm -rf /spool
metpmtc1:# mkdir -p /spool
metpmtc1:# mount /dev/dsk/md/d501 /spool
mount: /dev/dsk/md/d501 or /spool, no such file or directory

I think it has got more to do with losing its pseudo path:

metpmtc1:# ls -l /dev/md/dsk/d502
lrwxrwxrwx   1 root     root          38 Apr 14  2005 /dev/md/dsk/d502 -> ../../../devices/pseudo/md@0:0,502,blk
metpmtc1:# ls -l /dev/md/dsk/d501
lrwxrwxrwx   1 root     other         38 Apr 30 17:55 /dev/md/dsk/d501 -> ../../../devices/pseudo/md@0:0,501,blk

R,
D,

Again..!!!! you are using wrong device path "/dev/dsk/md/d501 ".
The correct one is "/dev/md/dsk/d501"

metpmtc1:# mount /dev/md/dsk/d501 /spool ----->>> use this insted.

Apologies.

metpmtc1:# mount /dev/md/dsk/d501 /spool
mount: /dev/md/dsk/d501 is already mounted, /spool is busy,
        or the allowable number of mount points has been exceeded
metpmtc1:#    
metpmtc1:# fsck /dev/md/dsk/d501
Can't open /dev/md/dsk/d501

Doesn't make any difference.

R,
D.

OK..
What is the output of :

1) mount -v|grep spool
2) fstyp /dev/md/dsk/d501
3) metastat -p d39

Hi,

metpmtc1:# mount -v | grep spool
/dev/dsk/c1t5d0s0 on /spool01 type ufs read/write/setuid/intr/largefiles/onerror=panic/dev=1d800d0 on Sat May  1 02:52:08 2010
metpmtc1:# fstyp /dev/md/dsk/d501
hsfs fstyp: cannot open </dev/md/dsk/d501>
/dev/md/dsk/d501: No such device or address
udfs fstyp: cannot open </dev/md/dsk/d501> errorno <6>
/dev/md/rdsk/d501: No such device or address
Unknown_fstyp (no matches)
metpmtc1:# 
metpmtc1:# metastat -p d39
d39 1 9 c1t1d0s0 c1t2d0s0 c1t3d0s0 c1t4d0s0 c2t1d0s0 c2t2d0s0 c2t3d0s0 c2t4d0s0 c2t5d0s0 -i 128b
metpmtc1:# 

R,
D.

Seems that either d501 doesn't exist or you have not created file system on it.

Well what is the output of "metastat d501" and "metastat -p"

Hi,

But it existed before the crash so that is not the case.

metpmtc1:# metastat d501
d501: Soft Partition
    Component: d39
    State: Okay
    Size: 157286400 blocks
        Extent              Start Block              Block count
             0                    10177                157286400

d39: Concat/Stripe
    Size: 1286653440 blocks
    Stripe 0: (interlace: 128 blocks)
        Device     Start Block  Dbase State        Hot Spare
        c1t1d0s0          0     No    Okay         
        c1t2d0s0      10176     No    Okay         
        c1t3d0s0      10176     No    Okay         
        c1t4d0s0      10176     No    Okay         
        c2t1d0s0      10176     No    Okay         
        c2t2d0s0      10176     No    Okay         
        c2t3d0s0      10176     No    Okay         
        c2t4d0s0      10176     No    Okay         
        c2t5d0s0      10176     No    Okay         

The metastat -p info is attached.

R,
D.

I can see d501 diffetent from other soft partitions :

d501 -p d39 -o 10177 -b 157286400

As it is having offset starting from 10177.

Does it match with /etc/lvm/md.cf file.If it doesn't match then it might corrupt.
Please post the content of /etc/lvm/md.cf file.

Do you have powerpath installed on your system...???

Try:

#umount -f /dev/md/dsk/d501
#mount /dev/md/dsk/d501   /different dir 

Different dir means create a different directory and try mounting.

Thanks,
Deepak

Hi,

Please find enclosed the contents of the md.cf file.

R,
D.

I have already tried with a different dir but it doesn't make any difference, still get the exact same errors.
R,
D.

Have you tried to fsck the filesystem (without the typo visible in your first posting)?

fsck -y -m /dev/md/rdsk/d501

Were any disks from d39 the underlying cause of your system crash? That could explain why some softpartitions in d39 are corrupt.

Hi,

metpmtc1:# fsck -y -m /dev/md/rdsk/d501
Usage:
fsck [-F FSType] [-V] [-m] [special ...]
fsck [-F FSType] [-V] [-y|Y|n|N] [-o specific_options] [special ...]
metpmtc1:# 

Yes, the mirrorred disk failed and that lead to the crash (c1t1d0).

metpmtc1:# metastat d39
d39: Concat/Stripe
    Size: 1286653440 blocks
    Stripe 0: (interlace: 128 blocks)
        Device     Start Block  Dbase State        Hot Spare
        c1t1d0s0          0     No    Okay         
        c1t2d0s0      10176     No    Okay         
        c1t3d0s0      10176     No    Okay         
        c1t4d0s0      10176     No    Okay         
        c2t1d0s0      10176     No    Okay         
        c2t2d0s0      10176     No    Okay         
        c2t3d0s0      10176     No    Okay         
        c2t4d0s0      10176     No    Okay         
        c2t5d0s0      10176     No    Okay        

R,
D.