From 95ea9517411656886f169f2a84171f2085d642d4 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 03:57:54 +0000 Subject: [PATCH 1/4] fix: remove iDRAC HddSeq dependency removed in BIOS 2.19+ BIOS.StorageSettings.HddSeq no longer exists on R730xd firmware 2.19+. Update --idrac mode to print a clear explanation instead of failing, and update docs to skip Layer 1 and go straight to the Linux systemd service. Co-Authored-By: Claude Sonnet 4.6 --- docs/setup-guide.md | 11 ++++------- scripts/stagger-spinup.sh | 32 +++++++++++++------------------- 2 files changed, 17 insertions(+), 26 deletions(-) diff --git a/docs/setup-guide.md b/docs/setup-guide.md index cde3a14..8e17615 100644 --- a/docs/setup-guide.md +++ b/docs/setup-guide.md @@ -300,14 +300,11 @@ To check current speed: `ipmitool sdr type Fan` ### Staggered spin-up -**Layer 1 — iDRAC BIOS** (fires at every boot, before OS): +> **BIOS 2.19+ note:** `BIOS.StorageSettings.HddSeq` was removed from the +> R730xd firmware. The iDRAC/BIOS layer (Layer 1) no longer works — skip it +> and go straight to the Linux service below. -```bash -bash /opt/local_proxmox/scripts/stagger-spinup.sh --idrac -# If racadm is not available, the script prints the iDRAC web UI path instead. -``` - -**Layer 2 — Linux service** (handles drives coming up from standby): +**Linux service** (staggers drives in standby at OS boot): ```bash cp /opt/local_proxmox/scripts/stagger-spinup.sh /usr/local/sbin/stagger-spinup.sh diff --git a/scripts/stagger-spinup.sh b/scripts/stagger-spinup.sh index 15477ac..5b1a170 100755 --- a/scripts/stagger-spinup.sh +++ b/scripts/stagger-spinup.sh @@ -28,25 +28,19 @@ HDPARM=$(command -v hdparm || true) # ── iDRAC BIOS method (Layer 1) ─────────────────────────────────────────────── configure_idrac() { - if ! command -v racadm &>/dev/null; then - echo "racadm not found." - echo "Option A: Run from iDRAC SSH:" - echo " ssh root@" - echo " racadm set BIOS.StorageSettings.HddSeq Enabled" - echo " racadm jobqueue create BIOS.Setup.1-1" - echo " # Then reboot to apply." - echo "" - echo "Option B: iDRAC web UI:" - echo " System BIOS → Power Management → Hard Disk Drive Sequencing → Enabled" - echo " Apply and reboot." - return 0 - fi - - echo "Enabling iDRAC hard disk drive sequencing (staggered spin-up)..." - racadm set BIOS.StorageSettings.HddSeq Enabled - racadm jobqueue create BIOS.Setup.1-1 - echo "Job queued. Reboot for the BIOS setting to take effect." - echo "Verify after reboot with: racadm get BIOS.StorageSettings.HddSeq" + # BIOS.StorageSettings.HddSeq was removed in R730xd BIOS 2.19+. + # The BIOS-level stagger is no longer available; rely on Layer 2 (Linux service). + echo "NOTE: BIOS.StorageSettings.HddSeq was removed in R730xd BIOS 2.19+." + echo "The iDRAC/BIOS layer for staggered spin-up is not available on this firmware." + echo "" + echo "Use the Linux systemd service (Layer 2) instead — it handles the same" + echo "job by staggering drives that are in standby at OS boot time." + echo "" + echo "To install the service:" + echo " cp stagger-spinup.sh /usr/local/sbin/stagger-spinup.sh" + echo " chmod +x /usr/local/sbin/stagger-spinup.sh" + echo " # copy stagger-spinup.service to /etc/systemd/system/" + echo " systemctl daemon-reload && systemctl enable stagger-spinup.service" } # ── Linux spin-up stagger (Layer 2) ────────────────────────────────────────── From 2e141884a98cead9ded0153435c3d92d162b33d6 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 03:59:56 +0000 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20perccli=20install=20=E2=80=94=20pref?= =?UTF-8?q?er=20apt,=20remove=20stale=20Dell=20download=20URL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The hardcoded dl.dell.com tarball URL is stale and returns a redirect. Suggest 'apt install perccli' first (available in Proxmox repos), then fall back to manual .deb download via dell.com/support with service tag. Co-Authored-By: Claude Sonnet 4.6 --- docs/setup-guide.md | 10 +++++++++- scripts/perc-nonraid.sh | 7 ++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/setup-guide.md b/docs/setup-guide.md index 8e17615..1df2920 100644 --- a/docs/setup-guide.md +++ b/docs/setup-guide.md @@ -212,7 +212,15 @@ targets unconfigured physical disks. ### Install perccli -Download from Dell support (search "PERCCLI") or copy the `.deb` to the host: +Try apt first — it's in the Proxmox repos: + +```bash +apt install -y perccli +``` + +If not found, download the `.deb` manually: go to `dell.com/support`, enter +your service tag, then Drivers → Storage → search "PERCCLI", download the +Linux package, copy it to the host, and install: ```bash dpkg -i perccli_*.deb diff --git a/scripts/perc-nonraid.sh b/scripts/perc-nonraid.sh index 5dbd131..f0828d3 100755 --- a/scripts/perc-nonraid.sh +++ b/scripts/perc-nonraid.sh @@ -10,9 +10,10 @@ set -euo pipefail PERCCLI=$(command -v perccli || command -v perccli64 || true) if [[ -z "$PERCCLI" ]]; then - echo "perccli not found. Install from:" - echo " https://www.dell.com/support (search 'PERCCLI')" - echo " or: dpkg -i perccli_*.deb" + echo "perccli not found. Install options:" + echo " 1. apt install -y perccli (try this first — in Proxmox repos)" + echo " 2. Download from dell.com/support → enter service tag → Drivers → Storage" + echo " Look for 'PERCCLI' and download the Linux .deb, then: dpkg -i perccli_*.deb" exit 1 fi From d05805a9d76373451e4162952e5e0b861b66bde3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 04:03:50 +0000 Subject: [PATCH 3/4] docs: add missing service file copy and chmod to stagger-spinup setup Without cp stagger-spinup.service to /etc/systemd/system/ the enable step fails with 'unit does not exist'. Also add missing chmod +x. Co-Authored-By: Claude Sonnet 4.6 --- docs/setup-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/setup-guide.md b/docs/setup-guide.md index 1df2920..959cdea 100644 --- a/docs/setup-guide.md +++ b/docs/setup-guide.md @@ -316,6 +316,7 @@ To check current speed: `ipmitool sdr type Fan` ```bash cp /opt/local_proxmox/scripts/stagger-spinup.sh /usr/local/sbin/stagger-spinup.sh +chmod +x /usr/local/sbin/stagger-spinup.sh cp /opt/local_proxmox/scripts/stagger-spinup.service /etc/systemd/system/ systemctl daemon-reload systemctl enable stagger-spinup.service From 63dd22b250fb318f9f33e902ab683f5b128c50bb Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 04:20:20 +0000 Subject: [PATCH 4/4] docs: document working perccli install method for Proxmox apt and direct Dell URLs don't work. Working method: curl with referer header to get the RPM, convert with alien, symlink binary into PATH. Update both setup-guide and perc-nonraid.sh error message to match. Co-Authored-By: Claude Sonnet 4.6 --- docs/setup-guide.md | 24 ++++++++++++++++-------- scripts/perc-nonraid.sh | 12 ++++++++---- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/setup-guide.md b/docs/setup-guide.md index 959cdea..d04d78a 100644 --- a/docs/setup-guide.md +++ b/docs/setup-guide.md @@ -212,18 +212,26 @@ targets unconfigured physical disks. ### Install perccli -Try apt first — it's in the Proxmox repos: +`apt` does not carry perccli. Download the RPM from Dell and convert it: ```bash -apt install -y perccli -``` +# Download (referer header required — Dell blocks plain curl) +curl -L \ + --referer "https://www.dell.com/" \ + --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \ + "https://dl.dell.com/FOLDER03559396M/1/perccli-1.17.10-1.noarch.rpm" \ + -o /tmp/perccli.rpm -If not found, download the `.deb` manually: go to `dell.com/support`, enter -your service tag, then Drivers → Storage → search "PERCCLI", download the -Linux package, copy it to the host, and install: +# Convert RPM → deb and install +apt install -y alien +alien --to-deb /tmp/perccli.rpm +dpkg -i /tmp/perccli_*.deb -```bash -dpkg -i perccli_*.deb +# Binary lands in /opt/MegaRAID/perccli/ — symlink it into PATH +ln -s /opt/MegaRAID/perccli/perccli64 /usr/local/bin/perccli + +# Verify +perccli show ``` ### Run the script diff --git a/scripts/perc-nonraid.sh b/scripts/perc-nonraid.sh index f0828d3..d343cfa 100755 --- a/scripts/perc-nonraid.sh +++ b/scripts/perc-nonraid.sh @@ -10,10 +10,14 @@ set -euo pipefail PERCCLI=$(command -v perccli || command -v perccli64 || true) if [[ -z "$PERCCLI" ]]; then - echo "perccli not found. Install options:" - echo " 1. apt install -y perccli (try this first — in Proxmox repos)" - echo " 2. Download from dell.com/support → enter service tag → Drivers → Storage" - echo " Look for 'PERCCLI' and download the Linux .deb, then: dpkg -i perccli_*.deb" + echo "perccli not found. Install it:" + echo " curl -L --referer 'https://www.dell.com/' \\" + echo " --user-agent 'Mozilla/5.0' \\" + echo " 'https://dl.dell.com/FOLDER03559396M/1/perccli-1.17.10-1.noarch.rpm' \\" + echo " -o /tmp/perccli.rpm" + echo " apt install -y alien && alien --to-deb /tmp/perccli.rpm" + echo " dpkg -i /tmp/perccli_*.deb" + echo " ln -s /opt/MegaRAID/perccli/perccli64 /usr/local/bin/perccli" exit 1 fi