Adaptec AACRaid series


1. Vendor information

Adaptec ( card are usually well supported on Linux.
Adaptec 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
aacraid All Adaptec AACRaid cards

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:01.0 RAID bus controller [0104]: Adaptec AAC-RAID ![9005:0285] (rev 01)
  • 04:08.1 RAID bus controller [0104]: Dell PowerEdge Expandable RAID Controller 3/Di ![1028:000a] (rev 01)
  • 03:00.0 RAID bus controller [0104]: Adaptec AAC-RAID (Rocket) ![9005:0286] (rev 02) (known as IBM ServeRAID 8k-l)

3. Management and reporting tools

No opensource tools for aacraid cards currently exist. However, Adaptec provides a proprietary utility for x86 and x86_64 linux systems.

3.1. arcconf

arcconf is a command line tool to manage and monitor aacraid cards.
Latest version is 2.02.22404.

It seems that some version works with some adapters some won't. Please check with apt-cache policy arcconf the different version available and do an apt pinning if latest doesn't fit your adapter.


Some links to different version (because it's nearly impossible to find them):

3.1.1. Quickstart guide for arcconf

Get first controller config and status

server:~# arcconf GETCONFIG 1
Controllers found: 1
Controller information
   Controller Status                        : Optimal
   Channel description                      : SCSI
   Controller Model                         : PERC 3/Di
   BIOS                                     : 2.8-0 (6089)
   Firmware                                 : 2.8-0 (6089)
   Driver                                   : 1.1-4 (9999)
   Boot Flash                               : 0.0-0 (0)
Logical device information
Logical device number 1
   Logical device name                      : Noname
   RAID level                               : 5
   Status of logical device                 : Optimal
   Size                                     : 139997 MB
   Stripe-unit size                         : 64 KB
   Write-cache mode                         : Not supported
   Partitioned                              : Yes
   Protected by Hot-Spare                   : No
   Bootable                                 : Yes
   Failed stripes                           : No
Physical Device information
   Channel #0:
      Transfer Speed                        : Ultra160
      Initiator at SCSI ID 7
      Device #0
         Device is a Hard drive
         State                              : Online
         Supported                          : Yes
         Transfer Speed                     : Ultra160
         Reported Channel,Device            : 0,0
         Vendor                             : MAXTOR
         Model                              : ATLASU320_73_SCA
         Firmware                           : B120
         Serial number                      : XXX
         Size                               : 70007 MB
         Write Cache                        : Unknown
         FRU                                : None
         S.M.A.R.T.                         : No

This command will report all important informations.
However, if you want to see (in example) array rebuild status you will have to run:

server:~# arcconf GETSTATUS 1
Controllers found: 1
   Current operation              : None

Command completed successfully.

3.1.2. Enabling "Write Cache" with arcconf

Enabling this feature can lead to major performance improvments in write mode.
HOWEVER, all data stored in cache will be lost if a power failure or a hard reboot occurs.
So, you're supposed to keep write cache disabled if your controller doesn't have any battery pack.

server:~# arcconf GETCONFIG 1
Controller Battery Information                                                                                                                                     
Status                                   : Not Installed
Logical device number 0
   Logical device name                      : RAID1
   RAID level                               : 1
   Status of logical device                 : Optimal
   Size                                     : 953836 MB
   Read-cache mode                          : Enabled
   Write-cache mode                         : Disabled (write-through)
   Write-cache setting                      : Disabled (write-through)

So here is current config: No battery pack on the controller, and thus, write cache disabled.
But I want to enable it, this server doesn't store really useful data; only speed matters here...

Let's enable write cache:

server:~# arcconf SETCACHE 1 LOGICALDRIVE 0 wb
Controllers found: 1                           
WARNING: Power failure without battery support will lead to data loss.
Do you wish to continue?                                              
Press y, then ENTER to continue or press ENTER to abort: y            

Command completed successfully.

Here we go ! Let's check if it's really enabled, and then, reboot.

server:~# arcconf GETCONFIG 1
Logical device number 0                                               
   Logical device name                      : RAID1                   
   RAID level                               : 1                       
   Status of logical device                 : Optimal                 
   Size                                     : 953836 MB               
   Read-cache mode                          : Enabled                 
   Write-cache mode                         : Enabled (write-back)    
   Write-cache setting                      : Enabled (write-back) 

3.2. afacli & aaccli

Theses tools are deprecated in favour of arcconf (see above).

3.3. aacraid-status

aacraid-status is a package I wrote by myself. It includes a python wrapper around arcconf command and an initscript which daemonize the launch of the wrapper.
It also handles failure detection and report it by mail and syslog. It also handle unexpected output changes and reminders until the status is fine again.


Output example:

server:~# aacraid-status
-- Controller informations --
-- ID | Model | Status
c0 | PERC 3/Di | Optimal

-- Arrays informations --
-- ID | Type | Size | Status | Task | Progress
c0u1 | RAID5 | 139G | Optimal

-- Disks informations
-- ID | Model | Status
c0u1d2 | MAXTOR ATLASU320_73_SCA | Online
c0u1d1 | MAXTOR ATLASU320_73_SCA | Online
c0u1d0 | MAXTOR ATLASU320_73_SCA | Online

3.4. Adaptec Storage Manager

Adaptec Storage Manager is a graphical software based upon Java which can be used to manage localy or remotely an AACRaid card.

It has been splitted in three packages.
If you plan to monitor your own server from a local X window server, install adaptec-storage-manager-gui.
For a remote use, install adaptec-storage-manager-agent on the server and adaptec-storage-manager-gui on the client. You can of course manage several servers remotly from the same client.

I haven't used it much so I won't say more about the mail notification and tasks scheduler. Anyway, it looks powerfull and you should have a look.

Here are some screenshots:

Local server main screen


Remotely managed server notifications configuration screen


Message about registering your hardware

If ASM (Adaptec Storage Manager) annoys you about registering your hardware, just edit /etc/adaptec-storage-manager-agent.conf and replaces:




If you can't connect a remote agent

ASM is broken and can't deal with "special" /etc/hosts. If you have a line like:    hostname    hostname.fqdn

Replace it by:

W.X.Y.Z (Real IP address)	hostname	hostname.fqdn

Please also not that you will have to login using the root account. If you don't have a active root account (ie: Ubuntu users) please enable it by typing:

sudo passwd

Please ensure you are always using the REAL JAVA SUN STACK, on both server (agent) and client (gui). I lost two hour trying to figure out why I couldn't not add any remote server in my client before finding my JRE was the OpenJDK one.

gandalf@thrall:~$ sudo LANG=C update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
  0            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      manual mode
* 2            /usr/lib/jvm/java-6-sun/jre/bin/java             63        manual mode
  3            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Firewall configuration

ASM requires many ports to be open. Here is a typical shorewall configuration:

# Adaptec Storage Manager
ACCEPT          net:W.X.Y.Z      $FW     tcp     34570:34573
ACCEPT          net:W.X.Y.Z      $FW     udp     34570,34577:34580

So... You need to open 34570 to 34573 (TCP) and 34570, 34577 to 34580 (UDP).

Don't be too hurry!

It sometimes takes up to 3 minutes to add a remotely managed server in ASM GUI. Connecting an existing server my be really slow too. Be sure to have waited enough time before wondering why it doesn't work.

4. BIOS upgrade from a Linux system

Theses controllers can be updated using arcconf.

I will write a howto soon, as I need to update a 4800SAS card at work. Stay tuned!

Off course, a reboot is needed after upgrading the BIOS.

Last modified 5 months ago Last modified on 01/11/2016 18:43:08

Attachments (3)

Download all attachments as: .zip