监控

监控

我最近买了一个 LaCie 2TB Thunderbolt 总线供电 USB 外置坚固硬盘。我将其与 Raspberry Pi 2 一起使用,效果很好。它通过 rsync 用作远程备份。

但是,我习惯于不让 Rugged Drive 一直处于通电状态。我认为在长时间不需要使用 LaCie Drive 时,没有办法关闭它。我对自供电 LaCie Rugged Drive(物理尺寸较大)的经验是,如果整天都开着,即使驱动器没有任何活动,它们也会很烫。

Raspberry Pi 2 是否会在一段时间不活动后让外部 USB 硬盘进入睡眠状态?如果是,这个计时器可以控制吗?默认值是多少?

答案1

在 Raspberry 上(我假设你使用 Rasbian),必须安装 hdparm,

   sudo apt-get install hdparm

然后,您必须重新启动 RPI,以便 hdparm 能够正确地与 进行交互udev

    sudo hdparm -I /dev/sda

将打印出设备的所有已知特性。它很长,很笨重,但非常全面。

您正在搜索与电源管理相关的属性。非常有用的 Arch Linux Wiki说:

-B

设置高级电源管理功能。可能的值介于 1 到 255 之间,值越低表示电源管理越积极,值越高表示性能越好。值 1 到 127 允许降速,而值 128 到 254 不允许。值 255 完全禁用该功能。

-S

设置驱动器的待机(旋转停机)超时。超时指定在关闭电机以节省电量之前等待空闲(无磁盘活动)的时间。值 0 表示禁用旋转停机,值 1 到 240 表示 5 秒的倍数,值 241 到 251 表示 30 分钟的倍数。

例如,您可以这样查询 B 的当前值:

         sudo hdparm -B /dev/sda

并将其设置为

         sudo hdparm -B 255 /dev/sda

同样如此-S

再次,永远有帮助的状态:

警告:过于激进的电源管理会因频繁停车和停机而缩短硬盘的使用寿命。

这应该允许您根据自己的喜好配置电源管理。

答案2

我已经安装了hdparm像这样:

sudo apt install hdparm
sudo hdparm -y /dev/sda   # Legt HDD sofort schlafen
sudo nano /etc/hdparm.conf

START_HD_IDLE=true
/dev/sda {
  spindown_time = 240
}

sudo hdparm -B 127 -S 240 /dev/sda
sudo hdparm -W 0 /dev/sda1
sudo /usr/lib/pm-utils/power.d/95hdparm-apm resume

我还是没看到 spindown。所以我添加了高清空闲

sudo apt-get install build-essential fakeroot debhelper -y
cd Downloads/
wget http://sourceforge.net/projects/hd-idle/files/hd-idle-1.05.tgz
tar -xvf hd-idle-1.05.tgz && cd hd-idle
dpkg-buildpackage -rfakeroot
sudo dpkg -i ../hd-idle_*.deb
sudo nano /etc/default/hd-idle

START_HD_IDLE=true
HD_IDLE_OPTS="-i 1200 -l /var/log/hd-idle.log"

sudo systemctl restart hd-idle

大致遵循以下指南 -https://www.htpcguides.com/spin-down-and-manage-hard-drive-power-on-raspberry-pi/

监控

我用以下方法监控了旋转:

less +F /var/log/hd-idle.log

我仍然没有得到硬盘停止旋转的信息。通过查看硬盘 LED,我可以看到和听到有东西访问了硬盘,因此硬盘继续旋转。所以我添加了两个监控工具。

通知

sudo apt-get install inotify-tools
inotifywait -m /mnt/backup/

黑踪

sudo apt install blktrace
sudo btrace /dev/sda

禁用守护进程

Btrace 显示带有“... [smartd]”的行,因此我禁用了它。

sudo systemctl stop smartd
sudo systemctl disable smartd

和“... [pool]”,它是 udisk2 crypt-mounting 的一部分。

sudo systemctl stop udisks2
sudo systemctl disable udisks2

禁用两个守护进程后,我的计算机就停止运行了。

相关内容