RAID Cards: Difference between revisions

From JCWiki
Jump to navigation Jump to search
Line 90: Line 90:


Once in a while a mirror degrading will cause the system to crash - but not usually - usually it is just silent.
Once in a while a mirror degrading will cause the system to crash - but not usually - usually it is just silent.
== Creating new mirror - via BIOS util ==
Press Ctrl-A to enter the configuration utility while the Adaptec BIOS is booting.
<pre>Container configuration utility->
Initialize drives->(ins to select all drives you wish to use- DO NOT CHOOSE DRIVES IN USE IN EXISTING ARRAY)
Create container->
(Select the newly-initialized drives)
Container type: RAID1
Container label: MIRROR0
(confirm correct size)
Read caching: Y
Write caching: enable when protected
(done)
</pre>
Repeat the process if you're building another mirror. Call it MIRROR1


= 3ware =
= 3ware =

Revision as of 15:29, 11 January 2013

Adaptec

CLI notes

On all of our 2450 servers and a handful of old FreeBSD boxes, we are running on adaptec RAID cards.

The CLI program is aaccli on FreeBSD and afacli on linux

Once you're in the CLI, open the container - either `open aac0` on fbsd or `open afa0` on linux - everything else is the same regardless of the OS.

Here are the most common things we ever do:

AAC0> container list /full
Executing: container list /full=TRUE
Num          Total  Oth Chunk          Scsi   Partition                                      Creation        System
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size   State   RO Lk Task    Done%  Ent Date   Time      Files
----- ------ ------ --- ------ ------- ------ ------------- ------- -- -- ------- ------ --- ------ -------- ------
 0    Mirror 33.9GB            Open    0:01:0 64.0KB:33.9GB Normal                        0  071002 05:39:32
 /dev/aacd0           mirror0          0:00:0 64.0KB:33.9GB Normal                        1  071002 05:39:32

 1    Mirror 33.9GB            Open    0:02:0 64.0KB:33.9GB Normal                        0  071002 05:39:50
 /dev/aacd1           mirror1          0:03:0 64.0KB:33.9GB Normal                        1  071002 05:39:50


AAC0> disk list /full
Executing: disk list /full=TRUE

B:ID:L  Device Type     Removable media  Vendor-ID Product-ID        Rev   Blocks    Bytes/Block Usage           Shared Rate
------  --------------  ---------------  --------- ----------------  ----- --------- ----------- ---------------- ------ ----
0:00:0   Disk            N                FUJITSU   MAJ3364MC         3702  71390320  512         Initialized      NO     160
0:01:0   Disk            N                FUJITSU   MAJ3364MC         3702  71390320  512         Initialized      NO     160
0:02:0   Disk            N                FUJITSU   MAJ3364MC         3702  71390320  512         Initialized      NO     160
0:03:0   Disk            N                FUJITSU   MAJ3364MC         3702  71390320  512         Initialized      NO     160

AAC0>

AAC0> disk show smart
Executing: disk show smart

        Smart    Method of         Enable
        Capable  Informational     Exception  Performance  Error
B:ID:L  Device   Exceptions(MRIE)  Control    Enabled      Count
------  -------  ----------------  ---------  -----------  ------
0:00:0     Y            6             Y           N             0
0:01:0     Y            6             Y           N             0
0:02:0     Y            6             Y           N             0
0:03:0     Y            6             Y           N             0
0:06:0     N

AAC0> task list
Executing: task list

Controller Tasks

TaskId Function  Done%  Container State Specific1 Specific2
------ -------- ------- --------- ----- --------- ---------

No tasks currently running on controller

AAC0> controller details
Executing: controller details
Controller Information
----------------------
         Remote Computer: S
             Device Name: S
         Controller Type: PERC 3/Si
             Access Mode: READ-WRITE
Controller Serial Number: Last Six Digits = 8C01D0
         Number of Buses: 1
         Devices per Bus: 15
          Controller CPU: i960 R series
    Controller CPU Speed: 100 Mhz
       Controller Memory: 64 Mbytes
           Battery State: Not Present

Component Revisions
-------------------
                CLI: 1.0-0 (Build #5263)
                API: 1.0-0 (Build #5263)
    Miniport Driver: 2.7-1 (Build #3571)
Controller Software: 2.7-1 (Build #3571)
    Controller BIOS: 2.7-1 (Build #3571)
Controller Firmware: (Build #3571)


AAC0> disk show smart
AAC0> task list

type exit to leave it.

All the mirrors you are getting are healthy - so even if a drive fails you should be ok. If an unexplained system crash occurs, after restarting all the systems you should check the mirrors with `container list /f` to see if one has degraded (one disk has died).

Once in a while a mirror degrading will cause the system to crash - but not usually - usually it is just silent.

Creating new mirror - via BIOS util

Press Ctrl-A to enter the configuration utility while the Adaptec BIOS is booting.

Container configuration utility->
Initialize drives->(ins to select all drives you wish to use- DO NOT CHOOSE DRIVES IN USE IN EXISTING ARRAY)
Create container->
(Select the newly-initialized drives)
Container type: RAID1
Container label: MIRROR0
(confirm correct size)
Read caching: Y
Write caching: enable when protected
(done)

Repeat the process if you're building another mirror. Call it MIRROR1

3ware

CLI (9xxx)

Replacing a failed drive

tw_cli /c0 show all

Port   Status           Unit   Size        Blocks        Serial
---------------------------------------------------------------
p0     OK               u0     1.82 TB     3907029168    WD-WCAVY0647904
p1     OK               u0     1.82 TB     3907029168    WD-WCAVY0608298
p2     OK               u1     1.82 TB     3907029168    WD-WCAVY0629856
p3     OK               u1     1.82 TB     3907029168    WD-WCAVY0627316
p4     OK               -      1.82 TB     3907029168    WD-WCAVY0564054

then you should run:

tw_cli /c0 rescan
tw_cli /c0 show all

Port   Status           Unit   Size        Blocks        Serial
---------------------------------------------------------------
p0     OK               u0     1.82 TB     3907029168    WD-WCAVY0647904
p1     OK               u0     1.82 TB     3907029168    WD-WCAVY0608298
p2     OK               u1     1.82 TB     3907029168    WD-WCAVY0629856
p3     OK               u1     1.82 TB     3907029168    WD-WCAVY0627316
p4     DEGRADED         u1     1.82 TB     3907029168    WD-WCAVY0564054

and the array should show that it is rebuilding

BUT, if you attempt to rebuild with a command like that, and you get:

Error: The following drive(s) cannot be used [4].

you need to remove it, then rescan, then rebuild:

tw_cli /c0/p4 remove
tw_cli /c0 rescan
tw_cli /c0/u0 start rebuild disk=4


CLI (8xxx)

Reference guide: ftp://ftp.rackable.com/public/Technical%20Support/Pdf%20files/3Ware/7000_8000/CLI-UserGuide.pdf

Replacing a failed drive

After replacing the 2 dead drives, we see:

tw_cli info c0
Controller: c0
-------------
Driver:   1.50.01.002
Model:    7500-8
FW:       FE7X 1.05.00.068
BIOS:     BE7X 1.08.00.048
Monitor:  ME7X 1.01.00.040
Serial #: F11605A3180172
PCB:      Rev3
PCHIP:    1.30-33
ACHIP:    3.20


# of units: 3
        Unit 0: JBOD 186.31 GB ( 390721968 blocks): OK
        Unit 1: RAID 5 465.77 GB ( 976790016 blocks): DEGRADED
        Unit 5: RAID 5 698.65 GB ( 1465185024 blocks): DEGRADED

# of ports: 8
        Port 0: WDC WD2000JB-00KFA0 WD-WCAMT1451690 186.31 GB (390721968 blocks): OK(unit 0)
        Port 1: WDC WD2500JB-00GVC0 WD-WCAL78219488 232.88 GB (488397168 blocks): OK(unit 1)
        Port 2: WDC WD2000  0.00 MB (0 blocks): OK(NO UNIT)
        Port 3: WDC WD2500JB-00GVC0 WD-WMAL73882417 232.88 GB (488397168 blocks): OK(unit 1)
        Port 4: WDC WD2000  0.00 MB (0 blocks): OK(NO UNIT)
        Port 5: WDC WD2500JB-00GVA0 WD-WMAL71338097 232.88 GB (488397168 blocks): OK(unit 5)
        Port 6: WDC WD2500JB-32EVA0 WD-WMAEH1301595 232.88 GB (488397168 blocks): OK(unit 5)
        Port 7: WDC WD2500JB-00GVC0 WD-WCAL78165566 232.88 GB (488397168 blocks): OK(unit 5)

which is to say there are 2 drives which don't belong to any units and don't have any size. They need to be removed from the controller:

tw_cli maint remove c0 p2
tw_cli maint remove c0 p4

although it seems like we should be able to add them back in with

tw_cli maint add c0 p2 jbod
tw_cli maint add c0 p2 spare

it doesn't work, and there's no rescan command, so we resort to rebooting.

We won't be able to boot all the way up however, cause the 2 drives will turn into JBOD's and throw off the device ordering:

twed0: <Unit 0, JBOD, Normal> on twe0
twed0: 190782MB (390721968 sectors)
twed1: <Unit 1, RAID5, Degraded> on twe0
twed1: 476948MB (976790016 sectors)
twed2: <Unit 2, JBOD, Normal> on twe0
twed2: 239372MB (490234752 sectors)
twed3: <Unit 4, JBOD, Normal> on twe0
twed3: 239372MB (490234752 sectors)
twed4: <Unit 5, RAID5, Degraded> on twe0
twed4: 715422MB (1465185024 sectors)
twed5: <Unit 0, RAID5, Normal> on twe1
twed5: 715422MB (1465185024 sectors)
twed6: <Unit 4, RAID5, Normal> on twe1
twed6: 715422MB (1465185024 sectors)

So whereas twed2 used to be a RAID5 device, it got pushed down (to twed4?) by the JBOD standalone drive. So we could edit the fstab and stop the OS from trying to mount the other devices. After the rebuild (or during) we could reboot and the next time it comes up the devices will fall back to their regular ordering. We usually opt to, over serial console, enter into single user mode (which is automatic with the failed mounts), and do the remirroring:

mount /dev/twed0s1g           /usr
(tw_cli is in /usr we we need to mount it manually)

tw_cli info c0
Controller: c0
-------------
Driver:   1.50.01.002
Model:    7500-8
FW:       FE7X 1.05.00.068
BIOS:     BE7X 1.08.00.048
Monitor:  ME7X 1.01.00.040
Serial #: F11605A3180172
PCB:      Rev3
PCHIP:    1.30-33
ACHIP:    3.20


# of units: 5
        Unit 0: JBOD 186.31 GB ( 390721968 blocks): OK
        Unit 1: RAID 5 465.77 GB ( 976790016 blocks): DEGRADED
        Unit 2: JBOD 233.76 GB ( 490234752 blocks): OK
        Unit 4: JBOD 233.76 GB ( 490234752 blocks): OK
        Unit 5: RAID 5 698.65 GB ( 1465185024 blocks): DEGRADED

# of ports: 8
        Port 0: WDC WD2000JB-00KFA0 WD-WCAMT1451690 186.31 GB (390721968 blocks): OK(unit 0)
        Port 1: WDC WD2500JB-00GVC0 WD-WCAL78219488 232.88 GB (488397168 blocks): OK(unit 1)
        Port 2: WDC WD2500SB-01RFA0 WD-WMANK3040813 233.76 GB (490234752 blocks): OK(unit 2)
        Port 3: WDC WD2500JB-00GVC0 WD-WMAL73882417 232.88 GB (488397168 blocks): OK(unit 1)
        Port 4: WDC WD2500SB-01RFA0 WD-WMANK3356318 233.76 GB (490234752 blocks): OK(unit 4)
        Port 5: WDC WD2500JB-00GVA0 WD-WMAL71338097 232.88 GB (488397168 blocks): OK(unit 5)
        Port 6: WDC WD2500JB-32EVA0 WD-WMAEH1301595 232.88 GB (488397168 blocks): OK(unit 5)
        Port 7: WDC WD2500JB-00GVC0 WD-WCAL78165566 232.88 GB (488397168 blocks): OK(unit 5)

2 new drives show up as JBOD's, which is fine, we can allocate into a mirror, but first we must delete the JBOD unit: BE VERY CAREFUL about this, double check that the unit you are deleting has 1 member and it's member is on the port which contains the new drive.

tw_cli maint deleteunit c0 u2
Deleting unit /ct0/u2 ...wed2: detached
Done.

tw_cli maint deleteunit c0 u4
Deleting unit /ct0/u4 ...wed3: detached
Done.

tw_cli info c0
Controller: c0
-------------
Driver:   1.50.01.002
Model:    7500-8
FW:       FE7X 1.05.00.068
BIOS:     BE7X 1.08.00.048
Monitor:  ME7X 1.01.00.040
Serial #: F11605A3180172
PCB:      Rev3
PCHIP:    1.30-33
ACHIP:    3.20


# of units: 3
        Unit 0: JBOD 186.31 GB ( 390721968 blocks): OK
        Unit 1: RAID 5 465.77 GB ( 976790016 blocks): DEGRADED
        Unit 5: RAID 5 698.65 GB ( 1465185024 blocks): DEGRADED

# of ports: 8
        Port 0: WDC WD2000JB-00KFA0 WD-WCAMT1451690 186.31 GB (390721968 blocks): OK(unit 0)
        Port 1: WDC WD2500JB-00GVC0 WD-WCAL78219488 232.88 GB (488397168 blocks): OK(unit 1)
        Port 2: WDC WD2500SB-01RFA0 WD-WMANK3040813 233.76 GB (490234752 blocks): OK(NO UNIT)
        Port 3: WDC WD2500JB-00GVC0 WD-WMAL73882417 232.88 GB (488397168 blocks): OK(unit 1)
        Port 4: WDC WD2500SB-01RFA0 WD-WMANK3356318 233.76 GB (490234752 blocks): OK(NO UNIT)
        Port 5: WDC WD2500JB-00GVA0 WD-WMAL71338097 232.88 GB (488397168 blocks): OK(unit 5)
        Port 6: WDC WD2500JB-32EVA0 WD-WMAEH1301595 232.88 GB (488397168 blocks): OK(unit 5)
        Port 7: WDC WD2500JB-00GVC0 WD-WCAL78165566 232.88 GB (488397168 blocks): OK(unit 5)

Now the 2 drives show up as full size and available. We can rebuild:

tw_cli maint rebuild c0 u1 p2
Rebuild started twon unit /c0/u1
AEN: <twed1: rebuild started>

tw_cli maint rebuild c0 u5 p4
Rebuild started ton unit /c0/u5
AEN: <twed1: rebuild started>

tw_cli info c0
Controller: c0
-------------
Driver:   1.50.01.002
Model:    7500-8
FW:       FE7X 1.05.00.068
BIOS:     BE7X 1.08.00.048
Monitor:  ME7X 1.01.00.040
Serial #: F11605A3180172
PCB:      Rev3
PCHIP:    1.30-33
ACHIP:    3.20


# of units: 3
        Unit 0: JBOD 186.31 GB ( 390721968 blocks): OK
        Unit 1: RAID 5 465.77 GB ( 976790016 blocks): REBUILDING (0%)
        Unit 5: RAID 5 698.65 GB ( 1465185024 blocks): REBUILDING (0%)

# of ports: 8
        Port 0: WDC WD2000JB-00KFA0 WD-WCAMT1451690 186.31 GB (390721968 blocks): OK(unit 0)
        Port 1: WDC WD2500JB-00GVC0 WD-WCAL78219488 232.88 GB (488397168 blocks): OK(unit 1)
        Port 2: WDC WD2500SB-01RFA0 WD-WMANK3040813 233.76 GB (490234752 blocks): OK(unit 1)
        Port 3: WDC WD2500JB-00GVC0 WD-WMAL73882417 232.88 GB (488397168 blocks): OK(unit 1)
        Port 4: WDC WD2500SB-01RFA0 WD-WMANK3356318 233.76 GB (490234752 blocks): OK(unit 5)
        Port 5: WDC WD2500JB-00GVA0 WD-WMAL71338097 232.88 GB (488397168 blocks): OK(unit 5)
        Port 6: WDC WD2500JB-32EVA0 WD-WMAEH1301595 232.88 GB (488397168 blocks): OK(unit 5)
        Port 7: WDC WD2500JB-00GVC0 WD-WCAL78165566 232.88 GB (488397168 blocks): OK(unit 5)

And now we can reboot, the rebuild will continue backgrounded, and the devices will come up in correct order:

twed0: <Unit 0, JBOD, Normal> on twe0
twed0: 190782MB (390721968 sectors)
twed1: <Unit 1, RAID5, Rebuilding> on twe0
twed1: 476948MB (976790016 sectors)
twed2: <Unit 4, RAID5, Rebuilding> on twe0
twed2: 715422MB (1465185024 sectors)
twed3: <Unit 0, RAID5, Normal> on twe1
twed3: 715422MB (1465185024 sectors)
twed4: <Unit 4, RAID5, Normal> on twe1
twed4: 715422MB (1465185024 sectors)

Areca

Downloads http://www.areca.com.tw/support/main.htm

CLI Manual http://www.areca.us/support/download/RaidCards/Documents/Manual_Spec/CLIManual.zip

CLI

cli64 vsf info
cli64 rsf info
cli64 disk info
cli64 event info
cli64 vsf check vol=1

Updating F/W

cd /tmp
wget http://www.areca.us/support/download/RaidCards/BIOS_Firmware/ARC1160.zip
cli64 sys updatefw path=/tmp/ARC1160/149-20101202/ARC1160FIRM.BIN