Remove dead PCIe hardware at array start so correctable AER errors stop burying the syslog

This commit is contained in:
Gmer4Lfe
2026-08-10 18:22:09 -04:00
parent c0da7d935d
commit 74b579e281
4 changed files with 333 additions and 0 deletions
+14
View File
@@ -67,6 +67,7 @@
# CERTIFICATE MONITOR domains checked for SSL expiry
# SMART HEALTH drives to skip in SMART monitoring
# ZFS REPORT pools to exclude from ZFS health report
# PCIe AER QUIET dead PCIe devices removed at array start to stop AER log spam
#
# ── RESOURCE MANAGER ───────────────────────────────────────────────────────────────────────
# RESOURCE MANAGER containers paused/stopped under memory pressure
@@ -510,6 +511,19 @@
"sda" # boot USB — SMART not meaningful on flash drives
)
# ━━━ PCIe AER Quiet ━━━
# PCI addresses removed from the bus at array start so dead hardware stops spamming
# correctable AER errors into syslog. Full DDDD:BB:DD.F form — find them with:
# grep -o "from [0-9a-f:.]*" /var/log/syslog | sort | uniq -c | sort -rn
#
# Only devices bound to vfio-pci or to no driver at all are eligible. Anything with a
# live driver is refused, so a mistyped address cannot pull an HBA or NIC out from
# under a running system. Devices claimed by a running VM are refused too.
# Gated by PCIE_QUIET_ENABLED in master.conf. Empty list = no-op.
HOSTN_PCIE_QUIET_DEVICES=(
# "0000:03:00.0"
)
# ━━━ ZFS Report ━━━
HOSTN_ZFS_REPORT_IGNORE_POOLS=(
# "disk5"
+14
View File
@@ -358,6 +358,7 @@
# Watchdogs (resource_watchdog, docker_watchdog, system_watchdog) are cronned via
# watchdog_orchestrator.sh — NOT launched here.
ARRAY_START_SCRIPTS=(
"Plugin/unraid/System_Essentials/pcie_aer_quiet.sh" # drop AER-spamming dead hardware — runs first so later logs stay readable
"Plugin/unraid/System_Essentials/unraid_api_key_renew.sh" # re-register Varaverk API key — registry is ephemeral
"System_Essentials/conf_sync.sh" # pull partner confs + push own conf into /tmp/.vv/ RAM cache
"System_Essentials/conf_cache_restore.sh" # load partner confs from persistent backup if conf_sync couldn't reach partner
@@ -993,6 +994,19 @@
# log lines per hour that have no diagnostic value. Filter removes them at source.
FILTER_FILE="/etc/rsyslog.d/ignore-docker-veth.conf"
# ━━━ PCIe AER Quiet ━━━
# Master gate for pcie_aer_quiet.sh — removes dead PCIe hardware from the bus at
# array start so it stops flooding syslog with correctable AER errors.
#
# Correctable means the link recovered, so the errors are harmless — but the kernel
# logs every one. Removing the device ends it at the source. Unlike pci=noaer this
# keeps uncorrectable AER reporting alive on every other device, which the AI repair
# triage relies on to tell a real fault from this noise.
#
# Devices are listed per host in host*.conf as HOST*_PCIE_QUIET_DEVICES.
# Off by default — turn on only after filling in that list for this host.
PCIE_QUIET_ENABLED=false
# ━━━ PHP-FPM ━━━
# Higher max_children allows more concurrent PHP requests to the unRAID WebGUI.
# Default is very low — increasing it prevents WebGUI slowdowns under load.