[[TOC(depth=-1)]] = LSI Fusion MPT SAS2 = [[Image(wiki:LSI:logo_lsi.gif)]] [[BR]][[BR]] = 1. Card information = The FusionMPT SAS2 is a low-end card from LSI. It replaces the Fusion MPT cards. [[BR]]It only supports RAID0 and RAID1 an can usually be found in many 1U rackmount servers which have only two disks drives. However, I must admit I'm not sure yet there's no RAID5 adapter with theses chips. [[BR]]Even it's not full of features theses card appear to work fine and are supported by an '''opensource Linux driver'''. [[BR]]A proprietary monitoring tool is available but it nearly offers '''no management features'''. [[BR]] = 2. Linux kernel drivers = || Driver || Supported cards || || mpt2sas || LSI FusionMPT SAS 2.0 cards || There are many more mpt* drivers in Linux kernel. [[BR]]Some seem to be required dependencies. Others look like being real drivers but we haven't used them yet. ''mpt2sas'' has been added to Linux kernel '''from 2.6.30 release'''. Thus, it should be available in all '''recent (2010+) Linux distributions'''. Some ''lspci -nn'' output examples: * 01:00.0 Serial Attached SCSI controller ![0107]: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] ![1000:0072] (rev 02) '''Dell PERC H200''' * 0c:00.0 Serial Attached SCSI controller ![0107]: LSI Logic / Symbios Logic SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire] ![1000:0070] '''IBM BladeCenter HS23''' [[BR]] = 3. Management and reporting tools = There's no opensource tool for theses new cards. [[BR]]However, LSI provides a '''command line management tool''' named sas2ircu. Management features are really '''basic''', so it's better to use it as a '''reporting tool''' only. == 3.1. sas2ircu == === 3.1.1. Quickstart and output example === Probe controllers IDs:[[BR]] {{{ server:~# sas2ircu LIST LSI Corporation SAS2 IR Configuration Utility. Version 5.00.00.00 (2010.02.09) Copyright (c) 2009 LSI Corporation. All rights reserved. Adapter Vendor Device SubSys SubSys Index Type ID ID Pci Address Ven ID Dev ID ----- ------------ ------ ------ ----------------- ------ ------ 0 SAS2008 1000h 72h 00h:01h:00h:00h 1028h 1f1dh SAS2IRCU: Utility Completed Successfully. }}} Get status of controller "0":[[BR]] {{{ server:~# sas2ircu 0 DISPLAY LSI Corporation SAS2 IR Configuration Utility. Version 5.00.00.00 (2010.02.09) Copyright (c) 2009 LSI Corporation. All rights reserved. Read configuration has been initiated for controller 0 ------------------------------------------------------------------------ Controller information ------------------------------------------------------------------------ Controller type : SAS2008 BIOS version : 7.01.04.00 Firmware version : 2.15.57.00 Channel description : 1 Serial Attached SCSI Initiator ID : 0 [...] ------------------------------------------------------------------------ IR Volume information ------------------------------------------------------------------------ IR volume 1 Volume ID : 79 Status of volume : Okay (OKY) RAID level : RAID1 Size (in MB) : 1800000 Boot : Primary Physical hard disks : PHY[0] Enclosure#/Slot# : 1:0 PHY[1] Enclosure#/Slot# : 1:1 ------------------------------------------------------------------------ Physical device information ------------------------------------------------------------------------ Initiator at ID #0 Device is a Hard disk Enclosure # : 1 Slot # : 0 State : Optimal (OPT) Size (in MB)/(in sectors) : 1907729/3907029167 Manufacturer : ATA Model Number : Hitachi HUA72202 [...] SAS2IRCU: Command DISPLAY Completed Successfully. SAS2IRCU: Utility Completed Successfully. }}} In most case, your controller ID will be 0. == 3.2. sas2ircu-status == sas2ircu-status is a package I wrote by myself. It includes a python wrapper around sas2ircu 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:~# sas2ircu-status -- Controller informations -- -- ID | Model c0 | SAS2008 -- Arrays informations -- -- ID | Type | Size | Status c0u0 | RAID1 | 1800G | Okay (OKY) -- Disks informations -- ID | Model | Status c0u0p0 | Hitachi HUA72202 (JK1151YAHUYAZZ) | Optimal (OPT) c0u0p1 | Hitachi HUA72202 (JK1151YAHUW1DZ) | Optimal (OPT) }}} The script handle a "--nagios" arguement so it can be run through Nagios NRPE. Any error will turn exit code to 2, which means critical error in Nagios. '''I haven't been able to really test it yet, so please use it carefully and contact me if you have a server on which you are able to do some testing (plug disks, unplug, create hotspare...)''' [[BR]]Use the [http://hwraid.le-vert.net/newticket ticket system] to contact me. == 3.3. S.M.A.R.T and such == Disks' SMART can be monitored trough an SCSI generic device. You need to make sure SCSI generic device driver is loaded (and will be loaded at boot). On Debian based system, simply run: {{{ modprobe sg echo sg >> /etc/modules }}} You can now try to run smartctl against one of the scsi generic devices (you will have to figure out by yourself which one to use): {{{ server:~# smartctl -a /dev/sg1 smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ Device: SEAGATE ST3600057SS Version: ES64 Serial number: 6SL0D4C3 Device type: disk Transport protocol: SAS Local Time is: Wed Feb 22 23:57:28 2012 CET Device supports SMART and is Enabled Temperature Warning Disabled or Not Supported SMART Health Status: OK Current Drive Temperature: 32 C Drive Trip Temperature: 68 C [...] }}} You can now edit '''/etc/smartd.conf''' and comment the "DEVICESCAN" line and add specific configuration for each drive, like the example below: {{{ # Monitor LSI's disk SMART through SCSI generic /dev/sg1 -d sat -a -s L/../../3/02 /dev/sg2 -d sat -a -s L/../../3/03 }}} Restart smartd and check syslog... {{{ Feb 23 00:00:00 server smartd[29653]: Device: /dev/sg1, opened Feb 23 00:00:00 server smartd[29653]: Device: /dev/sg1, is SMART capable. Adding to "monitor" list. Feb 23 00:00:00 server smartd[29653]: Device: /dev/sg2, opened Feb 23 00:00:01 server smartd[29653]: Device: /dev/sg2, is SMART capable. Adding to "monitor" list. Feb 23 00:00:01 server smartd[29653]: Monitoring 0 ATA and 2 SCSI devices }}} [[BR]] = 4. BIOS upgrade from a Linux system = Sorry, we don't have any information about this. [[BR]][[BR]]