A couple of weeks ago I had a near disaster when some of our servers lost power while their RAID was set to "write-through" caching with non-working batteries. The result was filesystem corruption and failure on 2 out of 3 Ceph monitor servers. In the past I have written about using MegaCLI for RAID admin. MegaCLI has been replaced by StorCLI, which I found here on the Broadcom web pages. I unpacked the various zip files until I got the storcli-007.0309.0000.0000-1.noarch.rpm
RPM and installed that to get the MegaRAID storcli64
tool. Instead of using that directly I'm using the libstoragemgmt
tools with the lsmcli
tool. On CentOS 7 this required installing libstoragemgmt
and libstoragemgmt-megaraid-plugin
and starting the lsmd
daemon systemctl start libstoragemgmt
.
This all set up, I found the volume with lsmcli -u megaraid:// list --type VOLUMES
:
[root@ceph-mon2 ~]# lsmcli -u megaraid:// list --type VOLUMES
ID | Name | SCSI VPD 0x83 | Size | Disabled | Pool ID | System ID | Disk Paths
---------------------------------------------------------------------------------------------------------------------------------------
6003048016dfd2001cf1d19f0af655a3 | VD 0 | 6003048016dfd2001cf1d19f0af655a3 | 597998698496 | No | :DG0 | | /dev/sda
then the volume-cache-info
command:
[root@ceph-mon2 ~]# lsmcli -u megaraid:// volume-cache-info --vol 6003048016dfd2001cf1d19f0af655a3
Volume ID | Write Cache Policy | Write Cache | Read Cache Policy | Read Cache | Physical Disk Cache
--------------------------------------------------------------------------------------------------------------------------
6003048016dfd2001cf1d19f0af655a3 | Write Back | Write Back | Enabled | Enabled | Use Disk Setting
and set the policy to AUTO (which means write-back when the battery is ok, write-through otherwise):
[root@ceph-mon2 ~]# lsmcli -u megaraid:// volume-write-cache-policy-update --vol 6003048016dfd2001cf1d19f0af655a3 --policy AUTO
Volume ID | Write Cache Policy | Write Cache | Read Cache Policy | Read Cache | Physical Disk Cache
----------------------------------------------------------------------------------------------------------------------------
6003048016dfd2001cf1d19f0af655a3 | Write Through | Write Through | Enabled | Enabled | Use Disk Setting
There doesn't seem to be a direct way to query the battery backup unit (BBU) with lsmcli
but /opt/MegaRAID/storcli/storcli64 show
will show you what the status is.