3ware AMCC RAID Engines

Top  Previous  Next

Support for the 3-WARE / AMCC family RAID engines is limited to the 7xxxx, 8xxx, and 9xxx family.  This includes the controllers that work with both SATA and ATA (PATA) disk drives.

 

The full inquiry command -I+ reports controller-specific information such as firmware revisions and make/model information.  The text highlighted in blue is specific o 3-WARE controllers. There is a chance that you have a 3ware-based controller, but the identification strings have been changed because the controller is relabeled by an OEM.  If our software does not properly report that you have a 3-WARE engine because of this, please let us know, and we will make the necessary modifications and supply you with an update.  The 3ware API does not provide an elegant way to determine if the controller is a 3-WARE controller, so we rely on interpreting SCSI strings rather than sending what may be invalid commands which might confuse a non-3ware device.

 

Benefits of Directly Querying 3WARE / AMCC  Controllers

Use the software to assess RAID health remotely, and not be dependent on a BIOS-based program, or a utility that only runs on the host console. Since the output can easily be parsed and scripted, the administrator can implement a phone-home system based on specific parameters.  Obviously this can't be done from a BIOS because the host isn't even running an O/S.   Limitations in vendor supplied tools prevent you from creating customized actions based on health.
The software can tell you serial numbers of disk drives, the controller, and firmware/driver revisions.  SMARTMon-UX frees you from having to take a system down to gather patch/BIOS/driver information
If you are in a high-security area, use the -z3d command as part of a polling daemon that reports that all of the disks behind a RAID controller are online and have not been taken.  We have customers who have "national security" implications that use the software to make sure that nobody has stolen a disk drive.  Remember if you have RAID5, then somebody could take a disk drive, and the host would run normally on the degraded LUN.  Our software detects disk drive removals behind RAID controllers as not only does it report differences in devices, but it gives you the unique serial numbers.

 

[root@frank smartmon]# ./smartmon-ux -I+ /dev/sg9

 

SMARTMon-ux [Release 1.30, Build 03-DEC-2005] - Copyright 2001-2005 SANtools, Inc. http://www.SANtools.com

Discovered 3ware Logical Disk 00 S/N " " on /dev/sg9 (SMART unsupported)(76283 MB)

Inquiry Text Page Data - ANSI defined fields

  Device Type:                         disk

  Peripheral Qualifier:                Connected to this LUN

  Removable Device:                    NO

  ANSI Version:                        0 (Not ANSI compliant)

  ISO/IEC Version:                     0

  ECMA Version:                        0

  Vendor Identification:               3ware

  Product Identification:              Logical Disk 00

  Firmware Revision:                   1.00

  Async event reporting: (AERC)        NO

  Supports 16-bit wide addresses:      NO

  Supports 32-bit wide addresses:      NO

  Supports ACKQ/REQQ handshaking:      NO

  Terminate task supported:            NO

  Response data format:                2

  Relative addressing supported:       NO

  Supports request/ACK data transfer:  NO

  Normal ACA Supported:                NO

  32-bit parallel supported:           NO

  16-bit parallel supported:           NO

  Synchronous commands supported:      NO

  Linked commands supported:           NO

  Command queuing supported:           YES

  SAF-TE Enclosure services available: NO

  VS bit (byte #6/bit #5 set):         NO

  VS bit (byte #7/bit #0 set):         NO

  Total Capacity (In Bytes):           199988609024                <- Added in 1.30

  RAID Controller Information:

   Manufacturer:                       3ware (AMCC)

   Serial Number:                      F19002A4430575

   Model:                              9500S-4LP

   PCB Revision:                       Rev 019

   P-chip Version:                     1.50

   A-chip Version:                     3.20                        <- Added in 1.30

   Firmware Version:                   FE9X 2.04.00.003

   BIOS Version:                       BE9X 2.03.01.047

   Monitor Version:                    BL9X 2.02.00.001

   JBOD Policy:                        Enabled

   Cache Policy when Degraded:         Enabled             <- Added in 1.30

   AV Mode:                            Disabled           <- Added in 1.30

   Battery Backup Unit:                Not Present

   Battery Backup Unit Status:         N/A

   JBOD Policy:                        N/A

   Number of physical disks:           2

   Number of logical disks:            1

   Number of disk ports:               4                   <- Added in 1.30

 Inquiry Page Hex Dump:

  0000: 00 00 00 02 1F 00 00 02 33 77 61 72 65 20 20 20    ........3ware

  0010: 4C 6F 67 69 63 61 6C 20 44 69 73 6B 20 30 30 20    Logical Disk 00

  0020: 31 2E 30                                           1.0

 

You may use the -z3 option to display physical and logical device information ...

 

[root@frank smartmon]# ./smartmon-ux -z3 /dev/sg9

SMARTMon-ux [Release 1.28, Build 01-APR-2005] - Copyright 2001-2005 SANtools, Inc. http://www.SANtools.com

Discovered 3ware Logical Disk 00 S/N " " on /dev/sg9 (SMART unsupported)(76283 MB)

 

Physical Device Dump: (DeviceMake-Model [Firmware] S/N=SerialNumber Blocks DiskNumber.ControllerPort [DeviceState]

  WDC WD2000JD-00FYB0  [02.05D02] S/N=WD-WMAEH2469728        190782 MB at ID.Port 0.1 [OK]

  Maxtor 6Y080M0       [YAR51BW0] S/N=Y3JRAGXE                78167 MB at ID.Port 1.3 [OK]

Logical Device Dump:

  RAID-1    76283 MB at SCSIID 0 [DEGRADED]

 

Program Ended.

 

Reporting AMCC Internal Diagnostic Log (-zd3)

This function should be used in the event the controller or drives report some problem, and can be used by the manufacturer to further diagnose the problem. The format is controlled by the controller manufacturer, and it is subject to change. We suggest you do not attempt to write any scripts to parse it.

 

Here is a subset of a dump.  Note the "** End of Diagnostic dump **" string. If you are trying to parse the dump programmatically, then you may look for this string to indicate the end of the dump.

[root@frank smartmon]# ./smartmon-ux -z3d /dev/sg2

SMARTMonUX [Release 1.30, Build  5-DEC-2005] - Copyright 2001-2005 SANtools, Inc. http://www.SANtools.com

Discovered 3ware Logical Disk 00 S/N " " on /dev/sg2 (SMART unsupported)(190724 MB)

 

 Physical Device Dump: (DeviceMake-Model [Firmware] S/N=SerialNumber Blocks DiskNumber.ControllerPort [DeviceState]

   WDC WD2000JD-00FYB0  [02.05D02] S/N=WD-WMAEH2469728        190782 MB at ID.Port 0.0 [OK]

   Maxtor 6Y080M0       [YAR51BW0] S/N=Y3JRAGXE                78167 MB at ID.Port 1.3 [OK]

 Logical Device Dump:

   SINGLEDISK   190724 MB at SCSIID 0 [OK]

   SINGLEDISK    76283 MB at SCSIID 1 [OK]

 

 Controller Diagnostic Dump

0 A0 C2 4F 01 01 00

 

E=0208 I=008E89EC T=00:29:44     : Drive not ready

E=0208 I=008E89EC T=00:29:44 U=0 : Return error status to host

Error, Unit 0: Drive not ready

(EC:0x208, SK=0x04, ASC=0x08, ASCQ=0x00, SEV=01, Type=0x70)

opcode=0xB1

E=0208 I=FFFFD7C4 T=00:29:44 P=0 : Drive not ready, no retries

       ata task file written out : cd dh ch cl sn sc ft

                                 : B0 A0 C2 4F 01 01 D1

         ata task file read back : st dh ch cl sn sc er

                                 : D0 A0 C2 4F 01 01 00

 

E=0208 I=008E8A3C T=00:29:44     : Drive not ready

E=0208 I=008E8A3C T=00:29:44 U=0 : Return error status to host

Error, Unit 0: Drive not ready

(EC:0x208, SK=0x04, ASC=0x08, ASCQ=0x00, SEV=01, Type=0x70)

opcode=0xB1

E=0208 I=FFFFD7C4 T=00:29:44 P=0 : Drive not ready, no retries

       ata task file written out : cd dh ch cl sn sc ft

                                 : B0 A0 C2 4F 01 01 D1

         ata task file read back : st dh ch cl sn sc er

                                 : D0 A0 C2 4F 01 01 00

 

E=0208 I=008E8A8C T=00:29:44     : Drive not ready

E=0208 I=008E8A8C T=00:29:44 U=0 : Return error status to host

Error, Unit 0: Drive not ready

(EC:0x208, SK=0x04, ASC=0x08, ASCQ=0x00, SEV=01, Type=0x70)

opcode=0xB1

E=0208 I=FFFFD7C4 T=00:29:44 P=0 : Drive not ready, no retries

       ata task file written out : cd dh ch cl sn sc ft

                                 : B0 A0 C2 4F 01 01 D1

         ata task file read back : st dh ch cl sn sc er

                                 : D0 A0 C2 4F 01 01 00

 

 

E=0208 I=008E8E9C T=00:29:44     : Drive not ready

E=0208 I=008E8E9C T=00:29:44 U=0 : Return error status to host

Error, Unit 0: Drive not ready

(EC:0x208, SK=0x04, ASC=0x08, ASCQ=0x00, SEV=01, Type=0x70)

opcode=0xB1

Saving PRINTLOG, time=2300170 ...

  ** End of Diagnostic Dump **

 

Program Ended.

 

Reporting AMCC Internal Event Log (-z3L)

This reports the contents of the controller's internal event log.  The format is fixed and it is suitable for parsing. Here is an example of what you would expect to see on a power up.  Event log entries are numbered sequentially from zero, and a power cycle clears the log.

 

[root@frank smartmon]# ./smartmon-ux -z3L /dev/sg2

SMARTMonUX [Release 1.30, Build  5-DEC-2005] - Copyright 2001-2005 SANtools, Inc. http://www.SANtools.com

Discovered 3ware Logical Disk 00 S/N " " on /dev/sg2 (SMART unsupported)(190724 MB)

 

 Physical Device Dump: (DeviceMake-Model [Firmware] S/N=SerialNumber Blocks DiskNumber.ControllerPort [DeviceState]

   WDC WD2000JD-00FYB0  [02.05D02] S/N=WD-WMAEH2469728        190782 MB at ID.Port 0.0 [OK]

   Maxtor 6Y080M0       [YAR51BW0] S/N=Y3JRAGXE                78167 MB at ID.Port 1.3 [OK]

 Logical Device Dump:

   SINGLEDISK   190724 MB at SCSIID 0 [OK]

   SINGLEDISK    76283 MB at SCSIID 1 [OK]

 

 Controller Event Log Dump

  Event#  0: Code=0000h @ Wed Dec 31 18:00:00 1969 (0x04:0x0000): AEN queue empty

 

Reporting AMCC Internal Event Log (-z3m)

This reports the health of the subsystem as part of a background monitoring daemon. You would add it as a runtime parameter when you run the program as either a windows service or UNIX/LINUX daemon. You should combine it with the -F flag to set a polling interval.  (If you do not set the polling flag, then the health will be queried every 10 minutes).