wiki:LSIFusionMPT

Version 20 (modified by Adam Cécile, 13 years ago) ( diff )

--

LSI Fusion MPT SAS

lsi_logo

1. Card information

The FusionMPT SAS is a low-end card from LSI.
It only supports RAID0 and RAID1 an can usually be found in many 1U rackmount servers which have only two disks drives.
Even it's not full of features theses card appear to work fine and are supported by an opensource Linux driver.
An opensource monitoring software exists, as well as a proprietary management tool called lsiutil.


2. Linux kernel drivers

Driver Supported cards
mptsas LSI FusionMPT SAS cards
mptctl Driver to handle monitoring IOCTLs

There are many more mpt* drivers in Linux kernel.
Somes seems to be required dependencies. Others looks like being real driver but we haven't used them yet.

mptsas has been part of the mainstream Linux kernel for a while and should be available in all current Linux distributions.

Some lspci -nn output examples:

  • 02:08.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic SAS1068 PCI-X Fusion-MPT SAS ![1000:0054] (rev 01)
  • 07:00.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS ![1000:0058] (rev 08)


3. Management and reporting tools

An opensource reporting tool named mpt-status has been developped. A proprietary management tool also exists, see below.

3.1. mpt-status

3.1.1. Quickstart and output example

Probe controllers IDs:

server:~# mpt-status -p
Checking for SCSI ID:0
Found SCSI id=0, use ''mpt-status -i 0`` to get more information.

Get status of controller "0":

server:~# mpt-status -i 0
ioc0 vol_id 0 type IM, 2 phy, 73 GB, state OPTIMAL, flags ENABLED
ioc0 phy 1 scsi_id 32 ATA      ST3808110AS      J   , 74 GB, state ONLINE, flags NONE
ioc0 phy 0 scsi_id 1 ATA      ST3808110AS      J   , 74 GB, state ONLINE, flags NONE

In most case, your controller ID will be 0. Running mpt-status without any parameters will give you the same output example as above.

You MUST have mptctl kernel module loaded to monitor your RAID HBAs.
Load it by hand for the first time and add it to /etc/modules for next reboots:

modprobe mptctl
echo mptctl >> /etc/modules

3.1.2. My opinion about mpt-status

Despite it seems that no real upstream development exists for this tool, it works fine and is reliable.
We experienced several disks failure on MPT SAS controllers and mpt-status always reported the failure and status changes.
However don't expected verbose output.

Homepage: http://www.drugphish.ch/~ratz/mpt-status/

3.1.3. Reporting with mpt-status

mpt-status has been greatly integrated to Debian by Petter Reinholdtsen and Steffen Joeris.
Many thanks to them for good work !

The packages comes with an initscript that periodic run mpt-status to check status.
It keeps a file with latest status and thus is able to detect RAID status changes and/or brokeness.
It will log a ligne to syslog when something failed and will send you a mail.
Until arrays are healthy again a reminder will be sent each 2 hours.

In fact, I must admit all my "something-status" packages for others kind of cards are based on this work.

3.2. lsiutil

This tool comes from LSI. Its sources (for Linux systems) are available but the license is not specified.
I haven't use it much, so here is a quick example of what it can do:

server:~# lsiutil

LSI Logic MPT Configuration Utility, Version 1.56, March 19, 2008

1 MPT Port found

     Port Name         Chip Vendor/Type/Rev    MPT Rev  Firmware Rev  IOC
 1.  /proc/mpt/ioc0    LSI Logic SAS1068E B3     105      00143000     0

Select a device:  [1-1 or 0 to quit] 1

 1.  Identify firmware, BIOS, and/or FCode
 2.  Download firmware (update the FLASH)
 4.  Download/erase BIOS and/or FCode (update the FLASH)
 8.  Scan for devices
10.  Change IOC settings (interrupt coalescing)
13.  Change SAS IO Unit settings
16.  Display attached devices
20.  Diagnostics
21.  RAID actions
22.  Reset bus
23.  Reset target
42.  Display operating system names for devices
45.  Concatenate SAS firmware and NVDATA files
60.  Show non-default settings
61.  Restore default settings
69.  Show board manufacturing information
97.  Reset SAS link, HARD RESET
98.  Reset SAS link
99.  Reset port
 e   Enable expert mode in menus
 p   Enable paged mode
 w   Enable logging

Main menu, select an option:  [1-99 or e/p/w or 0 to quit] 1

Current active firmware version is 00143000 (0.20.48)
Firmware image's version is MPTFW-00.20.48.00-IE
  LSI Logic
x86 BIOS image's version is MPTBIOS-6.14.10.00 (2007.09.29)

Main menu, select an option:  [1-99 or e/p/w or 0 to quit] 21

 1.  Show volumes
 2.  Show physical disks
 3.  Get volume state
 4.  Wait for volume resync to complete
23.  Replace physical disk
26.  Disable drive firmware update mode
27.  Enable drive firmware update mode
30.  Create volume
31.  Delete volume
32.  Change volume settings
33.  Change volume name
50.  Create hot spare
99.  Reset port
 e   Enable expert mode in menus
 p   Enable paged mode
 w   Enable logging

RAID actions menu, select an option:  [1-99 or e/p/w or 0 to quit] 2

1 volume is active, 2 physical disks are active

PhysDisk 0 is Bus 0 Target 1
  PhysDisk State:  online
  PhysDisk Size 238418 MB, Inquiry Data:  ATA      ST3250620NS      3BKS

PhysDisk 1 is Bus 0 Target 8
  PhysDisk State:  online
  PhysDisk Size 238418 MB, Inquiry Data:  ATA      ST3250620NS      3BKS

RAID actions menu, select an option:  [1-99 or e/p/w or 0 to quit] 1

1 volume is active, 2 physical disks are active

Volume 0 is Bus 0 Target 0, Type IM (Integrated Mirroring)
  Volume Name:
  Volume WWID:  01e2adb8d959aedc
  Volume State:  optimal, enabled
  Volume Settings:  write caching enabled, auto configure, priority resync
  Volume draws from Hot Spare Pools:  0
  Volume Size 237464 MB, 2 Members
  Primary is PhysDisk 1 (Bus 0 Target 8)
  Secondary is PhysDisk 0 (Bus 0 Target 1)

RAID actions menu, select an option:  [1-99 or e/p/w or 0 to quit] 3

Volume 0 State:  optimal, enabled

RAID actions menu, select an option:  [1-99 or e/p/w or 0 to quit]

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 removable -a -s L/../../3/02
/dev/sg2 -d removable -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


4. BIOS upgrade from a Linux system

Sorry, we don't have any informations about this.



Note: See TracWiki for help on using the wiki.