How to Disable RAID Drive Failure Beep Alerts on Linux Servers (MegaRAID/SCSI)


9 views

When a hard drive fails in a MegaRAID SCSI array on Red Hat Linux (or most enterprise Linux distributions), the RAID controller typically triggers an audible alarm - that relentless high-pitched beep that makes everyone in the server room want to throw the machine out the window. While the alert serves an important purpose, sometimes you need temporary silence while waiting for replacement hardware.

The modern way to control this is through the sysfs interface. First, identify your RAID controller's position in the system:

ls /sys/class/scsi_host/

This typically shows host0, host1, etc. For MegaRAID controllers, you'll want something like:

echo 0 > /sys/class/scsi_host/host0/beep_mode

For systems with MegaCLI installed (common with MegaRAID controllers), try:

MegaCli -AdpSetProp AlarmSilence -aALL

Or to disable completely:

MegaCli -AdpSetProp AlarmDsbl -aALL

Sometimes the beep originates from the kernel's PC speaker driver. Try unloading it:

rmmod pcspkr

To make this persistent across reboots on RHEL9:

echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf

After applying any of these methods, check the RAID status to ensure you're still getting proper alerts in the logs:

cat /proc/mdstat
MegaCli -LDInfo -Lall -aALL
  • These are temporary solutions - replace failed drives ASAP
  • Some RAID controllers may require a reboot for changes to take effect
  • Always verify monitoring systems still show the failed drive status
  • Document these changes for your colleagues in the runbook

When a hard drive fails in a MegaRAID SCSI array on Linux (particularly older Red Hat 9 systems), the controller often triggers an incessant beeping alarm. While this serves as an important hardware alert, it becomes problematic when:

  • You're aware of the failure but waiting for replacement parts
  • The server is in a shared workspace
  • You need to maintain operations while silencing the noise

For Red Hat Linux 9 with MegaRAID controllers, try these methods:


# Method 1: Using MegaCLI (if installed)
/opt/MegaRAID/MegaCli/MegaCli64 -AdpSetProp AlarmSilence -aALL

# Method 2: Kernel beep control
echo 0 > /proc/sys/kernel/sysrq
modprobe -r pcspkr

To prevent future beeping during drive failures:


# Create udev rule to disable PC speaker
echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf

# For MegaRAID persistent settings
/opt/MegaRAID/MegaCli/MegaCli64 -AdpSetProp AlarmSilence -aALL -nolog
echo "/opt/MegaRAID/MegaCli/MegaCli64 -AdpSetProp AlarmSilence -aALL" >> /etc/rc.local

When you don't have physical access:


# Disable beep through X11 settings (if applicable)
xset -b
xset b off

# Terminal beep control
setterm -blength 0

After applying changes:


# Check MegaRAID alarm status
/opt/MegaRAID/MegaCli/MegaCli64 -AdpGetProp AlarmSilence -aALL

# Test system beep functionality (should produce no sound)
echo -e '\a'

Remember that silencing alarms should be temporary:

  • Document the disabled alerts for other administrators
  • Set calendar reminders to re-enable after drive replacement
  • Consider alternative monitoring (email/SMS alerts) during the silent period