[[TOC(depth=-1)]] = Adaptec AACRaid series = [[Image(adaptec_logo.gif)]] [[BR]][[BR]] = 1. Vendor information = Adaptec (http://www.adaptec.com) card are usually well supported on Linux.[[BR]] Adaptec supports Linux and provide an '''opensource kernel driver''' which has been part of Linux for ages [[BR]] = 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'''.[[BR]] 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) [[BR]] = 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.[[BR]] 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. ''AVAILABLE IN OUR DEBIAN PACKAGES REPOSITORY FOR BOTH I386 AND AMD64 ARCHITECTURES'' Some links to different version (because it's nearly impossible to find them): http://storage.microsemi.com/en-us/speed/raid/storage_manager/arcconf_v2_02_22404_zip.php[[BR]] http://storage.microsemi.com/en-us/speed/raid/storage_manager/arcconf_v1_8_21375_zip.php[[BR]] http://storage.microsemi.com/en-us/speed/raid/storage_manager/arcconf_v1_7_21229_zip.php[[BR]] http://storage.microsemi.com/en-us/speed/raid/storage_manager/arcconf_v1_5_20942_zip.php[[BR]] === 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.[[BR]] 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.[[BR]] '''HOWEVER''', all data stored in cache will be lost if a power failure or a hard reboot occurs.[[BR]] 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.[[BR]] 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.[[BR]] 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.[[BR]] It has been splitted in three packages.[[BR]] If you plan to monitor your own server from a local X window server, install '''adaptec-storage-manager-gui'''.[[BR]] 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 ==== [[Image(adaptec-storage-manager.jpg)]] ==== Remotely managed server notifications configuration screen ==== [[Image(adaptec-storage-manager_notifications.jpg)]] ==== 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 }}} 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. [[BR]] = 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. [[BR]][[BR]]