> On Tue, 2005-08-02 at 15:38 -0700, Will wrote:
> > Recently when adding another few drives to my raid
> > card I carelessly moved the position of a number
> of
> > drives in a 5 drive raid 5 array. I spent quite a
> bit
> > of time determining the proper order for the
> drives,
> > and I am 95% sure I have it correct. I know for
> > certain the first drive is in the correct position
> > because I can again see the partition table. I can
> > not, however, access the file system.
> > 
> > I figured if I ran a read-only JFS fsck I could
> > determine if all of the drives are in the proper
> > order. However, when I try to run the fsck I get
> an
> > error saying that if the device described contains
> a
> > jfs filesystem my primary and secondary
> superblocks
> > must be corrupted.
> > 
> > I did a little research (I am fairly new to linux)
> and
> > found the jfs_debugfs command and used it to
> > investigate the file system. I am not really sure
> what
> > I proper jfs file system superblock should look
> like,
> > so I was hoping someone might be able to tell me
> what
> > could be wrong and how I could fix it. 
> 
> The superblock looks very bad.  It almost has no
> resemblance to the jfs
> superblock, except that the s_magic and version
> fields are almost
> correct.  What's strange is that the s_magic field
> should be 'JFS1' (all
> capitals).  Nearly everything else looks completely
> wrong.
> 
> > The ouput is
> > below:
> > 
> > jfs_debugfs /dev/sda1
> > jfs_debugfs version 1.1.7, 22-Jul-2004
> > 
> > Aggregate Block Size: 4352
> 
> This should always be 4096
> > 
> > > su
> > [1] s_magic:            'JfS1'          [15]
> s_ait2.addr1:      0xff
> s_magic should be 'JFS1'.
> > [2] s_version:          1               [16]
> s_ait2.addr2:      0xffff8b62
> > [3] s_size:     0x0000000074668f78          
> s_ait2.address:    1099511597922
> > [4] s_bsize:            4352            [17]
> s_logdev:          0xfffff7fe
> s_bsize should be 4096
> > [5] s_l2bsize:          4               [18]
> s_logserial:       0xffffffd7
> s_l2bsize should be 12
> > [6] s_l2bfactor:        3               [19]
> s_logpxd.len:      16769023
> s_l2bfactor should be 3.  It is!
> > [7] s_pbsize:           597             [20]
> s_logpxd.addr1:    0xff
> s_pbsize should be 512
> > [8] s_l2pbsize:         13              [21]
> s_logpxd.addr2:    0xf172e0c2
> s_lpbsize should be 9.  Everything after this looks
> like complete
> garbage.
> > [9] pad:                Not Displayed       
> s_logpxd.address:  1099267498178
> > [10] s_agsize:          0xffdfff05      [22]
> s_fsckpxd.len:     16769713
> > [11] s_flag:            0xefdff6ff      [23]
> s_fsckpxd.addr1:   0xff
> >                 JFS_OS2                 [24]
> s_fsckpxd.addr2:   0xf172fe10
> >         JFS_COMMIT                          
> s_fsckpxd.address: 1099267505680
> >         JFS_LAZYCOMMIT                  [25]
> s_time.tv_sec:     0xbd400320
> >         JFS_BAD_SAIT    JFS_SPARSE      [26]
> s_time.tv_nsec:    0xffffffff
> >         DASD_ENABLED    DASD_PRIME      [27]
> s_fpack:           ''
> > [12] s_state:           0xffffffff         Unknown
> State
> > [13] s_compress:        -1
> > [14] s_ait2.len:        16777211
> 
> The beginning of the superblock has enough
> resemblance to a correct
> superblock to make it look like you have the right
> blocks, but there is
> too much wrong.  I know very little about raid. 
> Could you be using
> raid3 or raid7?  I think the use of byte-size
> striping may explain the
> problem if all 5 disks aren't ordered properly.
> 

Alright, if everything look pretty much wrong, then I
image the disks are not in the correct order. I know
for certain that the drives were a raid 5, and they
have the proper stripe size (128K), and I am certain I
have the proper first disk (the partition table only
shows us when one specific disk is in a certain
position). I guess what I will do is try each of the
24 different combinations and record the primary and
secondary superblock data for each configuration.

Is there anything specific I should look for in the
superblock information to give me an idea that I am on
the right track? A parameter that should only have a
small range of values, or a specific value? 

Again, I thank you so much for your help so far!

> > display_super: [m]odify or e[x]it: x
> > > s2p
> 
> s2p is kind of silly in that it mostly prints the
> same stuff.  "sup s"
> will print the secondary superblock.

I will make sure I print the secondary superblock
instead.

> -- 
> David Kleikamp
> IBM Linux Technology Center



                
____________________________________________________
Start your day with Yahoo! - make it your home page 
http://www.yahoo.com/r/hs 
 


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion

Reply via email to