RTFM

[Read This Fine Material] from Joshua Hoblitt

How to disable LSI MegaRAID SAS controller’s suspend boot on error “feature”

| 0 comments

LSI’s MegaRAID series of SAS RAID controllers will halt the system boot process when loading the cards option ROM (what LSI call’s the controller’s BIOS), if there are any “errors” detected. Manual intervention is needed to get the system boot process to pass the controller’s option ROM loading. Occasionally, this is a “good thing”, as more than once I’ve had a card’s self test has discover ECC memory problems. Much more often, this “feature” will hang the boot process due to the presence or “foreign configuration”. Ie, a disk that has MegaRAID configuration information on it that’s not part of active virtual device. For example, a hot spare moved from one system to another (without yet being reconfigured in the new system) can trigger this “feature”, halting the entire boot.

Example ECC error:



Example Foreign configuration error:

The MegaRAID storage manager GUI shows a value for “Boot Error Handling” but doesn’t allow you to configure it. As with most things, I’m sure MegaCLI has the functionality but has such a hideous interface I was unable to find the correct setting. I was just about to break down and email LSI support (yet again) when I decided to get the brand new storcli utility a try. storcli is intended to be a user friend replacement for MegaCLI with a 3Ware tw_cli like interface. It only took a few minutes displaying command help with storcli to figure out how to change this parameter.

# /opt/MegaRAID/storcli/storcli64 /c0 show bios
Controller = 0
Status = Success
Description = None


Controller Properties :
=====================

-----------------------------------------------
Ctrl_Prop                        Value         
-----------------------------------------------
Basic Input/Output System (BIOS) ON            
Auto Boot Select(ABS)            OFF           
BIOS Boot Mode                   Stop On Error 
-----------------------------------------------

# /opt/MegaRAID/storcli/storcli64 /c0 set BIOSMode help
     Storage Command Line Tool  Ver 1.03.11 Jan 30, 2013

     (c)Copyright 2012, LSI Corporation, All Rights Reserved.


SYNTAX: storcli /cx set BIOSMode=

DESCRIPTION: Sets the BIOS Boot mode.

OPTIONS:
SOE - Stop On Error 
BE  - Bypass Error 
HCOE- Headless Continue on Error 
HSM - Headless Safe Mode 

CONVENTION:
/cx - specifies the controller where X is the controller index

# /opt/MegaRAID/storcli/storcli64 /c0 set BIOSMode=BE
Controller = 0
Status = Success
Description = None


Controller Properties :
=====================

----------------
Ctrl_Prop Value 
----------------
BIOS Mode BE    
----------------

# /opt/MegaRAID/storcli/storcli64 /c0 show bios
Controller = 0
Status = Success
Description = None


Controller Properties :
=====================

----------------------------------------------
Ctrl_Prop                        Value        
----------------------------------------------
Basic Input/Output System (BIOS) ON           
Auto Boot Select(ABS)            OFF          
BIOS Boot Mode                   Bypass Error 
----------------------------------------------

And now that I know the flags are SOE|BE I was able to figure out the equivalent MegaCLI command as well.

# MegaCLI64 -h | grep -i bios
MegaCLI64 -AdpBIOS -Enbl |-Dsbl | -SOE | -BE | EnblAutoSelectBootLd | DsblAutoSelectBootLd | -Dsply -aN|-a0,1,2|-aALL 
# MegaCLI64 -AdpBIOS -BE -aALL
                                     
BIOS is set to Bypass Error on Adapter 0.

Exit Code: 0x00

Leave a Reply