Merge pull request #9 from outis1one/claude/bios-vt-power-settings-mxjh0x
fix: remove iDRAC HddSeq dependency removed in BIOS 2.19+
This commit is contained in:
+23
-9
@@ -212,10 +212,26 @@ targets unconfigured physical disks.
|
|||||||
|
|
||||||
### Install perccli
|
### Install perccli
|
||||||
|
|
||||||
Download from Dell support (search "PERCCLI") or copy the `.deb` to the host:
|
`apt` does not carry perccli. Download the RPM from Dell and convert it:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dpkg -i perccli_*.deb
|
# 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
|
||||||
|
|
||||||
|
# Convert RPM → deb and install
|
||||||
|
apt install -y alien
|
||||||
|
alien --to-deb /tmp/perccli.rpm
|
||||||
|
dpkg -i /tmp/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
|
### Run the script
|
||||||
@@ -300,17 +316,15 @@ To check current speed: `ipmitool sdr type Fan`
|
|||||||
|
|
||||||
### Staggered spin-up
|
### 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
|
**Linux service** (staggers drives in standby at OS boot):
|
||||||
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):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp /opt/local_proxmox/scripts/stagger-spinup.sh /usr/local/sbin/stagger-spinup.sh
|
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/
|
cp /opt/local_proxmox/scripts/stagger-spinup.service /etc/systemd/system/
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable stagger-spinup.service
|
systemctl enable stagger-spinup.service
|
||||||
|
|||||||
@@ -10,9 +10,14 @@ set -euo pipefail
|
|||||||
|
|
||||||
PERCCLI=$(command -v perccli || command -v perccli64 || true)
|
PERCCLI=$(command -v perccli || command -v perccli64 || true)
|
||||||
if [[ -z "$PERCCLI" ]]; then
|
if [[ -z "$PERCCLI" ]]; then
|
||||||
echo "perccli not found. Install from:"
|
echo "perccli not found. Install it:"
|
||||||
echo " https://www.dell.com/support (search 'PERCCLI')"
|
echo " curl -L --referer 'https://www.dell.com/' \\"
|
||||||
echo " or: dpkg -i perccli_*.deb"
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
+12
-18
@@ -28,25 +28,19 @@ HDPARM=$(command -v hdparm || true)
|
|||||||
# ── iDRAC BIOS method (Layer 1) ───────────────────────────────────────────────
|
# ── iDRAC BIOS method (Layer 1) ───────────────────────────────────────────────
|
||||||
|
|
||||||
configure_idrac() {
|
configure_idrac() {
|
||||||
if ! command -v racadm &>/dev/null; then
|
# BIOS.StorageSettings.HddSeq was removed in R730xd BIOS 2.19+.
|
||||||
echo "racadm not found."
|
# The BIOS-level stagger is no longer available; rely on Layer 2 (Linux service).
|
||||||
echo "Option A: Run from iDRAC SSH:"
|
echo "NOTE: BIOS.StorageSettings.HddSeq was removed in R730xd BIOS 2.19+."
|
||||||
echo " ssh root@<idrac-ip>"
|
echo "The iDRAC/BIOS layer for staggered spin-up is not available on this firmware."
|
||||||
echo " racadm set BIOS.StorageSettings.HddSeq Enabled"
|
|
||||||
echo " racadm jobqueue create BIOS.Setup.1-1"
|
|
||||||
echo " # Then reboot to apply."
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Option B: iDRAC web UI:"
|
echo "Use the Linux systemd service (Layer 2) instead — it handles the same"
|
||||||
echo " System BIOS → Power Management → Hard Disk Drive Sequencing → Enabled"
|
echo "job by staggering drives that are in standby at OS boot time."
|
||||||
echo " Apply and reboot."
|
echo ""
|
||||||
return 0
|
echo "To install the service:"
|
||||||
fi
|
echo " cp stagger-spinup.sh /usr/local/sbin/stagger-spinup.sh"
|
||||||
|
echo " chmod +x /usr/local/sbin/stagger-spinup.sh"
|
||||||
echo "Enabling iDRAC hard disk drive sequencing (staggered spin-up)..."
|
echo " # copy stagger-spinup.service to /etc/systemd/system/"
|
||||||
racadm set BIOS.StorageSettings.HddSeq Enabled
|
echo " systemctl daemon-reload && systemctl enable stagger-spinup.service"
|
||||||
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"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ── Linux spin-up stagger (Layer 2) ──────────────────────────────────────────
|
# ── Linux spin-up stagger (Layer 2) ──────────────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user