wiki:SmartArray

Version 18 (modified by Adam Cécile, 16 years ago) ( diff )

--

HP/Compaq SmartArray series

hp_logo



1. Vendor information

Theses HP/Compaq cards are usually well supported on Linux.
Proliant servers usually (always?) have this kind of controllers.
HP supports Linux and provide an opensource kernel driver which has been part of Linux for ages.


2. Linux kernel drivers

There is only one drivers to handle all cards:

Driver Supported cards
cciss All SmartArray

You should not expect any problems with theses drivers which are known to be mature and stable.
We don't know any current Linux distrubtion which miss theses drivers so no additional step should be required to get it working.

Some lspci -nn output examples:

  • 02:04.0 RAID bus controller [0104]: Compaq Computer Corporation Smart Array 64xx [0e11:0046] (rev 01)
  • 0f:00.0 RAID bus controller [0104]: Hewlett-Packard Company Smart Array Controller [103c:3230] (rev 03)

2.1. Devices nodes note

This driver doesn't use the regular SCSI stack, so don't expect to find your logical drives as /dev/sdX.
Here is an example:

server:~# ls -lah /dev/cciss/
total 0
drwxr-xr-x  2 root root     160 2008-08-28 14:36 .
drwxr-xr-x 14 root root    3,1K 2008-08-28 14:36 ..
brw-rw----  1 root disk 104,  0 2008-08-28 14:36 c0d0
brw-rw----  1 root disk 104,  1 2008-08-28 14:36 c0d0p1
brw-rw----  1 root disk 104,  2 2008-08-28 14:36 c0d0p2
brw-rw----  1 root disk 104,  3 2008-08-28 14:36 c0d0p3
brw-rw----  1 root disk 104, 16 2008-08-28 14:36 c0d1
brw-rw----  1 root disk 104, 17 2008-08-28 14:36 c0d1p1

/dev/c0d0 means logical drive 0 on controller 0. /dev/c0d0p1 means first partition of logical drive 0 on controller 0.
In exemple /dev/sda is /dev/c0d0 here. /dev/sdb1 is /dev/c0d1p1.


3. Management and reporting tools

Both opensource and proprietary tools currently exist.
Both are edited by HP/Compaq but the opensource one (cciss-vol-status) only covers monitoring.
The proprietary one (hpacucli) adds management features.

3.1. cciss-vol-status

3.1.1. Quickstart guide

There's not much options for cciss-vol-status so let's have a look to an example first:

vmware:~# cciss-vol-status /dev/cciss/c*d0
/dev/cciss/c0d0: (Smart Array 6i) RAID 1 Volume 0 status: OK.
/dev/cciss/c0d0: (Smart Array 6i) RAID 1 Volume 1 status: OK.

This command will print status of all arrays. You need to query all controllers (if you have more than one) but query the first logical drive only is fine (otherwise you will have duplicated lines).
That's why you should really use /dev/cciss/c*d0.

Please have a look to the manpage to read more about the possible status.
In example:

"OK." (0) - The logical drive is in good working order.

"FAILED." (1) - The logical drive has failed, and no i/o to it is poosible.

"Using interim recovery mode." (3) - One or more drives has failed,
       but not so many that the logical drive can no longer operate.  The failed drives should be replaced as soon as possible.

"Ready for recovery operation." (4) -  Failed drive(s) have been
       replaced, and the controller is about to begin rebuilding redundant parity data.

"Currently recovering." (5) - Failed drive(s) have been replaced,
       and the controller is currently rebuilding redundant parity information.
[...]

You may have to add /dev/sgX as command parameters to query a external Fibre Channel disk bay.
However I don't have such hardware to give a try, so you should refer to the manpage if you need this feature. Please open a ticket and adds some output example if you have such hardware, so I'll be able to update this page (thanks ;))

3.1.2. My opinion about cciss-vol-status

Despites this tools doesn't provide any high-end feature and can't show anything about physical disks, it's nice for two reasons:

  • According to the manpage it can reports many kind of issues and is much more powerfull than a tools that just tells good or bad
  • It's looks safe to rely on it as it's edited by HP

3.1.3. Periodic checks

The package for our repository comes with integration that periodically run the script through an initscript.
It reports failures by mail and syslog. It also handle unexpected output changes and reminders until the status is fine again. You don't have anything to do to get it working, just install cciss-vol-status package.

If you have more than one controller you will have to create /etc/default/cciss-vol-statusd and fill it with:

ID=/dev/cciss/c*d0



Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.