wiki:Adaptec

Version 17 (modified by Adam Cécile, 15 years ago) ( diff )

How to enable Write Cache with arcconf

Adaptec AACRaid series

adaptec_logo



1. Vendor information

Adaptec (http://www.adaptec.com) 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)


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 5.20.17414, available in Adaptec storage manager applications package.

AVAILABLE IN OUR DEBIAN PACKAGES REPOSITORY FOR BOTH I386 AND AMD64 ARCHITECTURES

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.

GRAB-IT NOW FROM OUR REPOSITORY

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

adaptec_storage_manager

Remotely managed server notifications configuration screen

adaptec_storage_manager_notifications

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:

agent.hardware.registered=0

by:

agent.hardware.registered=1

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:

127.0.1.1    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

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).


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.



Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.