放弃系统的休眠,改用hd-idle。铁威马d8 hybrid混合硬盘柜实测有效,其他自测。适用于硬盘柜内部是 USB转SCSI转ATA 的桥接链路
前置sudo -i
第1步:安装 hd-idle
bash
apt install hd-idle
第2步:配置 hd-idle(sda、sdb、sdc为硬盘,改成自己的)
bash
cat > /etc/default/hd-idle << 'EOF'
HD_IDLE_OPTS="-i 0 -a sda -i 600 -a sdb -i 600 -a sdc -i 600 -a sdd -i 600"
EOF
参数说明:
| 参数 |
含义 |
-i 0 |
全局默认不休眠 |
-a sda -i 600 |
sdb 空闲 600 秒(10分钟)后停转 |
-a sdb -i 600 |
sdc 空闲 600 秒后停转 |
-a sdc -i 600 |
sdd 空闲 600 秒后停转 |
根据实际盘数增减,没有的盘就删掉对应项。
第3步:启动服务
bash
systemctl enable hd-idle
systemctl start hd-idle
systemctl status hd-idle
第4步:关机自动停转钩子(sda、sdb、sdc为硬盘,改成自己的)
bash
cat > /usr/local/bin/hdd-powersave.sh << 'EOF'
#!/bin/bash
# 停止当前 hd-idle
systemctl stop hd-idle
# 用 1 秒空闲时间重启,所有盘立即触发停转
hd-idle -i 0 -a sda -i 1 -a sdb -i 1 -a sdc -i 1 -a sdd -i 1
# 等待所有盘停转
sleep 5
# 停掉临时 hd-idle
killall hd-idle
EOF
chmod +x /usr/local/bin/hdd-powersave.sh
bash
cat > /etc/systemd/system/hdd-powersave.service << 'EOF'
[Unit]
Description=Spin down USB HDDs before shutdown
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/hdd-powersave.sh
TimeoutStartSec=30
[Install]
WantedBy=halt.target reboot.target shutdown.target
EOF
bash
systemctl daemon-reload
systemctl enable hdd-powersave.service


注意:关机主板可能还有5v的usb供电,会导致重新唤醒,能关的话最好关了