We have an Intel RAID Controller RS25DB080 (LSI SAS2208)
with four ST2000NM0033-9ZM175 SN03
SATA disks. A hardware RAID10 volume is built using these disks and an Ubuntu Server OS is installed on it. Recently we've found out there's a firmware update for our hard disks. The server is a production server at a remote data center, so we can't afford shutting it down and booting off specific media to flash the firmware the old-and-reliable way. Also, the official PDF packaged with firmware states:
... DO NOT run this firmware update on RAID systems. ... RAID systems are extremely sensitive to disruptions to individual drives. It is not uncommon for low level disk drive diagnostics to cause RAID management software to fault a drive that is slowed down by testing or firmware download. For this reason, we highly recommend that you use disk management tools provided by your RAID controller manufacturer if they are available. ... Among others, RAID management software is available from 3Ware, Adaptec and LSI.
LSI controllers are managed with the MegaCli
utility. Unfortunately, its documentation is extremely terse. Here's all it says about flashing firmware:
MegaCli -PdFwDownload [offline][ForceActivate] {[-SataBridge] -PhysDrv[0:1]}|{-EncdevId[devId]} -f -aN|-a0,1,2|-aALL
Flashes the firmware with the file specified at the command line. The firmware files used to flash a physical device can be of any format. The CLI utility assumes that you provide a valid firmware image, and it flashes the same. The physical device needs to do error checking.
Searching the web hadn't revealed much too. This link is the only example of practical application we've found.
The procedure described at the link seems pretty trivial, but we have one big question left unanswered: is it sane to flash the firmware this way to disks holding the active RAID array? Especially when the OS is booted off the partition that's a part of this array?