2

外部 USB 3.0 硬盘 Seagate Expantion Drive 1TB 连接到我在 Raspbian Buster 上的 Raspberry Pi 4B。硬盘驱动器很少工作,所以我希望它在空闲时间关闭(旋转停止)。我必须马上说我尝试了“hdparm”实用程序,但它绝对不适合我。在我的旧 Raspberry Pi 3B + 上,它完美地完成了它的工作,但在新的 Raspberry Pi 上它根本不起作用。我试着做

sudo hdparm -S 10 / dev / sda1

sudo hdparm -Y / dev / sda1

但他给出的只是

/dev/sda:
issuing sleep command
SG_IO: bad / missing sense data, sb []: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

与此同时,磁盘继续旋转,机箱上的LED灯亮着,不管我等多久我也尝试在hdparm.conf中注册以下设置:

/dev/sda1 {
    spindown_time = 20
}

但这也没有起到任何作用,圆盘继续旋转。另外,知道 udisks2 安装在 raspbian buster 中,我尝试在目录 /etc/ 中创建一个配置文件 Seagate_Expansion_NA4B2GTR-0: 0.conf (这正是命令“udevadm info / dev / sda”给我的) udisks2/ 与内容

[ATA]
StandbyTimeout = 20

但它也没有奏效。

磁盘不停止旋转的事实是我的第一个问题。第二个问题是,当你关闭或重启树莓派时,磁盘没有停磁头并且电源突然中断,这会导致非常不愉快的嘎嘎声。我在网上找到了类似的查询,这是一个很常见的问题。我希望在关闭操作系统的过程中,应该正确卸载磁盘并在 USB 3.0 端口断电之前关闭其电源。幸运的是,我能够编写一个类似的脚本并且效果很好:

hddshutdown.sh

sudo umount -f /dev/sda1
sudo udisksclt power-off -b /dev/sda1
sleep 5

如果我在操作系统运行时运行此脚本,它会完全满足我的需要:磁盘已卸载,磁盘旋转停止,机箱上的 LED 熄灭。但是,在操作系统关闭过程中,我无法让此脚本以相同的方式工作。

我为 systemd 编写了这个单元:/usr/lib/systemd/system/ 中的 hddshutdown.service

[Unit]
Description=[=======USB-HDD-spindown============]
DefaultDependencies=no
After=umount.target
Before=shutdown.target poweroff.target reboot.target halt.target

[Service]
ExecStart=/bin/sh  /home/pi/hddshutdown.sh
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=reboot.target

我做了“sudo systemctl enable hddshutdown”,尝试了几种不同的配置选项,使用不同的Before,After和WantedBy值,但没有一个选项起作用,只有一个,驱动器成功卸载,但电源没有关闭,驱动器继续旋转,LED 一直亮着,直到 Pi 关闭。此外,我确定 sh 脚本会准确启动,我在脚本末尾设置的“睡眠”延迟确实有效。

我不太了解 Linux,这是我第一次为 systemd 编写单元。我查到了udisksctl需要DBus才能工作的信息,但是关机时不存在,这就是驱动电源无法关闭的原因。在 DBus 仍然可用的情况下,我无法在关机过程中尽早执行此单元。(我什至不知道它是什么,也许我说愚蠢)请帮我解决其中两个问题,在此先感谢。

4

2 回答 2

3

我自己找到了我的问题的答案。因为我使用的是 Seagate Expansion 硬盘,所以我使用了官方网站的 Seagate Dashboard 程序来“重新编程”我的硬盘。我能够关闭外部 LED 指示灯并将旋转关闭时间设置为 10 分钟,现在在任何系统上,硬盘在 10 分钟后关闭。不再需要使用 hdparm 或 udisks 等程序!

于 2020-05-28T06:02:49.483 回答
1

对我来说,让我的硬盘在空闲时自动降速的是hd-idle的新实现

我的特定设置是:Raspberry Pi 4B + Suptronics X835 + WD Blue WD20EZRZ。

没有其他常用工具对我有用(hdparm,原始hd-idle)。

于 2021-03-11T11:56:59.410 回答