Bad FS with mirroring Solaris 10

From: U Zee (uzee001@yahoo.com)
Date: Tue Mar 18 2008 - 21:25:41 EST


Hi Managers,
   
  I have a Sun V445 (Solaris 10) with 4 disks. Recently no one could login remotely. After trying to start inetd from svcadm and troubleshooting I found out that its an application filesystem causing a whole bunch of services to be offline. When I rebooted, it complained about the FS again and said to run a fsck. I disabled the FS from vfstab to boot cleanly (as its not the OS filesystem).
I tried all possible fsck options including alt superblocks but it gives a weird error and terminates:
   
  CG 81: BAD CG MAGIC NUMBER (0x72746578 should be 0x90255)
WRONG CG NUMBER (1819632958 should be 81)
BLOCK TOTALS OFFSET 1009742437 NOT FOUR-BYTE ALIGNED
IMPOSSIBLE NUMBER OF CYLINDERS IN GROUP (3338 is greater than 16)
END OF HEADER POSITION INCORRECT (1702391922 should be 1240)
  -
  -
UPDATE STANDARD SUPERBLOCK? y
  Irreparable cylinder group header problem. Program terminated.
   
  Anyways, here's the info from the system, d50 is the mirror with issues:
   
  # grep d50 /etc/vfstab
#/dev/md/dsk/d50 /dev/md/rdsk/d50 /1a ufs 2 yes -

  # metastat d50
d50: Mirror
    Submirror 0: d51
      State: Okay
    Submirror 1: d52
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 139136448 blocks (66 GB)
  d51: Submirror of d50
    State: Okay
    Size: 139136448 blocks (66 GB)
    Stripe 0:
        Device Start Block Dbase State Reloc Hot Spare
        c0t2d0s0 0 No Okay Yes
  
d52: Submirror of d50
    State: Okay
    Size: 139136448 blocks (66 GB)
    Stripe 0:
        Device Start Block Dbase State Reloc Hot Spare
        c0t3d0s0 0 No Okay Yes
  

Device Relocation Information:
Device Reloc Device ID
c0t3d0 Yes id1,sd@n500000e01532ad00
c0t2d0 Yes id1,sd@n500000e01532ae60
#
# metadb -i
        flags first blk block count
     a m p luo 16 8192 /dev/dsk/c0t2d0s6
     a p luo 16 8192 /dev/dsk/c0t2d0s7
     a p luo 16 8192 /dev/dsk/c0t3d0s6
     a p luo 16 8192 /dev/dsk/c0t3d0s7
#
  # format
Searching for disks...done
  
AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
          /pci@1e,600000/pci@0/pci@2/scsi@0/sd@0,0
       1. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424> rtmr
          /pci@1e,600000/pci@0/pci@2/scsi@0/sd@1,0
       2. c0t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
          /pci@1e,600000/pci@0/pci@2/scsi@0/sd@2,0
       3. c0t3d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424> appmr
          /pci@1e,600000/pci@0/pci@2/scsi@0/sd@3,0
Specify disk (enter its number): ^D
   
  # metastat -p
d50 -m d51 d52 1
d51 1 1 c0t2d0s0
d52 1 1 c0t3d0s0
==========================================
   
  Here's what I'm thinking:
   
  Can I break the mirror and try to mount each of the sub-mirrors d51 and d52 through their /dev/dsk/c#t#d# path and see which one has data, then try to sync the good one to the corrupt one..... if this is a valid solution, please tell me how... :) I could think of it theoretically but don't know how it could be done.
  My other option is to newfs on /dev/md/rdsk/d50 and then try a restore :(
   
  Also how can I find out from a mounted filesystem which of the submirrors is actually mounted ? for e.g /var is mounted on d20, but how do I know which actual sub-mirror d21 or d22 is being currently mounted ?
   
  Thanks very much all.
   
  uzee
   

       
---------------------------------
Never miss a thing. Make Yahoo your homepage.
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:42:52 EDT