This discussion is archived
1 Reply Latest reply: Mar 23, 2013 3:00 PM by wgkorb RSS

T2000 & raidctl

wgkorb Newbie
Currently Being Moderated
Hi,

I have a T2000 which has experienced a disk failure. The disk that failed was one of the disks in a RAID1 mirror I created before installing the OS. I have a replacement, but for some reason when I load it, the system will not resync to the replacement disk (which I know is not faulty as I have tested it in another disk bay). Moreover, raidctl seems to indicate that the replacement drive is GOOD.

Here's what I see:
# raidctl -l 2
Controller      Type            Version
----------------------------------------------------------------
c2              LSI_1064E       1.09.00.00
# raidctl -l c2t0d0
Volume                  Size    Stripe  Status   Cache  RAID
        Sub                     Size                    Level
                Disk                                    
----------------------------------------------------------------
c2t0d0                  558.8G  N/A     DEGRADED OFF    RAID1
                0.0.0   558.8G          GOOD    
                N/A     558.8G          FAILED  
# raidctl -l -g 0.1.0 2     
Disk    Vendor   Product          Firmware      Capacity        Status  HSP
----------------------------------------------------------------------------
0.1.0   SEAGATE  ST9600204SS      0004          558.9G          GOOD    N/A
GUID:5000c500234571cf
# raidctl -l -g 0.0.0 2
Disk    Vendor   Product          Firmware      Capacity        Status  HSP
----------------------------------------------------------------------------
0.0.0   SEAGATE  ST9600204SS      0004          558.8G          GOOD    N/A
So if the replacement disk is GOOD, why won't the RAID controller automatically resync from the first disk?

If it matters, I'm running Solaris 11.1.

Thanks for any ideas you might have.

Bill
  • 1. Re: T2000 & raidctl
    wgkorb Newbie
    Currently Being Moderated
    Well, I tried everything I could think of with raidctl, but no luck, I then came up with the idea of working on it from the OBP, and that ended up working for me. I will share my solution should anyone else ever stumble across this thread who is having the same problem.

    The first thing I tried was to unconfigure the disk using cfgadm, then remove it, then use "devfsadm -C" to clear the /dev nodes. However, when I did that and reinserted the disk, it automatically rebuilt the attachment points and showed right back up in the "cfgadm -al" output.

    At that point I had the idea of trying to do it from the OBP (that's how I created the mirror in the first place, prior to installing Solaris).

    First off, these three URLs gave me clues as to what was needed:

    http://troysunix.blogspot.com/2010/10/breaking-and-syncing-hardware-root.html

    http://sunraybruce.wordpress.com/2010/11/09/setup-raid-on-t2000-from-open-boot-prom/

    http://www.vathorstweb.nl/index.php?option=com_content&task=view&id=102&Itemid=48

    From there, I decided that if I broke the mirror then recreated it, the contents of the first disk in the mirror (the good disk) would be copied to the second disk. This is a fairly new system with no critical data on it, so worst case, I would have to reinstall Solaris and redo all of the setup I had done to this point.

    Throwing caution to the wind, I ran these commands to break and recreate the mirror:
    {0} ok probe-scsi-all
    /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,emlxs@2
    Device  PortID 610013  WWPN 203600a0b83a8a17
       LUN  1f     Disk     SUN     Universal Xport 0670
    
    /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,emlxs@1
    Device  PortID 610013  WWPN 202600a0b83a8a17
       LUN  1f     Disk     SUN     Universal Xport 0670
    
    /pci@780/pci@0/pci@9/scsi@0
    
    MPT Version 1.05, Firmware Version 1.09.00.00
    
    Target 0 Volume 0 
    Unit 0   Disk     LSILOGICLogical Volume  3000    1171990528 Blocks, 600 GB
    Target 1 
    Unit 0   Disk     SEAGATE ST9600204SS     0004    1172123568 Blocks, 600 GB
      SASAddress 5000c500234571cd  PhyNum 1 
    Target 2 Volume 1 
    Unit 0   Disk     LSILOGICLogical Volume  3000    1171990528 Blocks, 600 GB
    
    {0} ok show-disks
    a) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,emlxs@2/fp@0,0/disk
    b) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,emlxs@1/fp@0,0/disk
    c) /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom
    d) /pci@7c0/pci@0/pci@1/pci@0/ide@8/disk
    e) /pci@780/pci@0/pci@9/scsi@0/disk
    q) NO SELECTION 
    Enter Selection, q to quit: e
    /pci@780/pci@0/pci@9/scsi@0/disk has been selected.
    Type ^Y ( Control-Y ) to insert it in the command line. 
    e.g. ok nvalias mydev ^Y 
             for creating devalias mydev for /pci@780/pci@0/pci@9/scsi@0/disk
    {0} ok select /pci@780/pci@0/pci@9/scsi@0/disk
    {0} ok select /pci@780/pci@0/pci@9/scsi@0     
    {0} ok show-volumes
    Volume 0 Target 0  Type IM (Integrated Mirroring)
      Degraded  Enabled 
      2 Members                                         1171990528 Blocks, 600 GB
      Disk 2 
        Primary  Online 
        Target 4        SEAGATE ST9600204SS     0004
      Disk 3 
        Secondary  Missing  Out Of Sync 
        Target ff        
    Volume 1 Target 2  Type IM (Integrated Mirroring)
      Optimal  Enabled 
      2 Members                                         1171990528 Blocks, 600 GB
      Disk 0 
        Primary  Online 
        Target 5        SEAGATE ST9600204SS     0004
      Disk 1 
        Secondary  Online 
        Target 3        SEAGATE ST9600204SS     0006
    {0} ok 0 delete-volume
    The volume and its data will be deleted
    Are you sure (yes/no)?  [no] y
    Volume 0 will not be deleted
    {0} ok 0 delete-volume
    The volume and its data will be deleted
    Are you sure (yes/no)?  [no] yes
    Volume 0 has been deleted
    {0} ok show-volumes
    Volume 0 Target 2  Type IM (Integrated Mirroring)
      Optimal  Enabled 
      2 Members                                         1171990528 Blocks, 600 GB
      Disk 0 
        Primary  Online 
        Target 5        SEAGATE ST9600204SS     0004
      Disk 1 
        Secondary  Online 
        Target 3        SEAGATE ST9600204SS     0006
    {0} ok reset-all
    SC Alert: Host System has Reset
    
    
    
    Sun Fire T200, No Keyboard
    Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
    OpenBoot 4.30.4.b, 2048 MB memory available, Serial #71051420.
    Ethernet address 0:14:4f:3c:28:9c, Host ID: 843c289c.
    
    
    
    {0} ok show-disks
    a) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,emlxs@2/fp@0,0/disk
    b) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,emlxs@1/fp@0,0/disk
    c) /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom
    d) /pci@7c0/pci@0/pci@1/pci@0/ide@8/disk
    e) /pci@780/pci@0/pci@9/scsi@0/disk
    q) NO SELECTION 
    Enter Selection, q to quit: e
    /pci@780/pci@0/pci@9/scsi@0/disk has been selected.
    Type ^Y ( Control-Y ) to insert it in the command line. 
    e.g. ok nvalias mydev ^Y 
             for creating devalias mydev for /pci@780/pci@0/pci@9/scsi@0/disk
    {0} ok select /pci@780/pci@0/pci@9/scsi@0     
    {0} ok show-volumes
    Volume 0 Target 2  Type IM (Integrated Mirroring)
      Optimal  Enabled 
      2 Members                                         1171990528 Blocks, 600 GB
      Disk 1 
        Primary  Online 
        Target 4        SEAGATE ST9600204SS     0004
      Disk 0 
        Secondary  Online 
        Target 3        SEAGATE ST9600204SS     0006
    {0} ok 0 1 create-im-volume
    Target 0 size is 1171990528 Blocks, 600 GB
    Target 1 size is 1171990528 Blocks, 600 GB
    The volume can be any size from 1 MB to 572261 MB
    What size do you want?  [572261] 
    Volume size will be 1171990528 Blocks, 600 GB
    PhysDisk 2 has been created for target 0 
    PhysDisk 3 has been created for target 1 
    Volume has been created
    {0} ok show-volumes
    Volume 0 Target 2  Type IM (Integrated Mirroring)
      Optimal  Enabled 
      2 Members                                         1171990528 Blocks, 600 GB
      Disk 1 
        Primary  Online 
        Target 4        SEAGATE ST9600204SS     0004
      Disk 0 
        Secondary  Online 
        Target 3        SEAGATE ST9600204SS     0006
    Volume 1 Target 0  Type IM (Integrated Mirroring)
      Degraded  Enabled  Resync In Progress 
      2 Members                                         1171990528 Blocks, 600 GB
      Disk 2 
        Primary  Online 
        Target 5        SEAGATE ST9600204SS     0004
      Disk 3 
        Secondary  Online  Out Of Sync 
        Target 1        SEAGATE ST9600204SS     0004
    Eventually the resync finished, I rebooted, and Bingo! At that point, raidctl showed that both my mirrored volumes were optimal, and I was happy. :)
    # raidctl -l c2t0d0
    Volume                  Size    Stripe  Status   Cache  RAID
            Sub                     Size                    Level
                    Disk                                    
    ----------------------------------------------------------------
    c2t0d0                  558.8G  N/A     OPTIMAL  OFF    RAID1
                    0.0.0   558.8G          GOOD    
                    0.1.0   558.8G          GOOD    
    Good luck!

    Bill

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points