我如何找到阻止磁盘降速的人

我如何找到阻止磁盘降速的人

问题

  • 将 NAS 系统从 Buster 升级到 Bullseye 后,磁盘无法旋转。

我的 NAS 设置

  • 5x 机械磁盘 WD RED,无 RAID,ext4,无日志记录
  • Debian Bullseye,内核 5.10
  • 系统正在从第六个 SSD 磁盘加载(不唤醒机械磁盘)
  • hd-idle 实用程序用于在 30 分钟不活动后设置降速hd-idle -i 0 -a sda -i 1800 -a sdb -i 1800 -a sdc -i 1800 -a sdd -i 1800 -a sde -i 1800 -l /var/log/hd-idle.log
  • 升级到 Bullseye 时 NAS 中的硬件没有变化,hd-idle 的配置也没有变化
  • NAS 的硬件配置和软件配置已经使用了 8 年多了,主要是磁盘在 30 分钟后停止旋转,多年来没有任何问题

我尝试过

  • 如果我使用hd-idle -t sda,磁盘将立即旋转停止,但在唤醒后(由于某些常规磁盘活动),它永远不会再进入睡眠状态。
  • 如果使用 强制磁盘旋转hd-idle -t,则它们不会在没有定期活动的情况下被唤醒 - 因此没有重复的工作可以唤醒它们。
  • 我对 smartmontools 产生了怀疑,想知道 Bullseye 中是否有一些变化会唤醒它们。我尝试了一下和/etc/smartd.conf-n standby但没有成功,所以我完全禁用了 smartd 以查看 smartmontools 是否是隐藏的坏人,但没有运气,看起来它们不是。
  • lsof | grep /media什么都没有给出(介质是所有这些磁盘的挂载点)
  • iotop我也玩了一下nmon。但没有发现什么有趣的东西,只有 SSD(系统)磁盘的常规活动。
  • 由于某种原因,我无法运行iosnoop。包perf-tools-unstable已正确安装,但即使以 root 身份调用也会iosnoop结束bash: iosnoop: command not found。我没有找到原因。

很明显你无法调试我的系统,但是我将非常感激任何有关如何查找问题的提示,是谁阻止磁盘旋转:-)

答案1

解决了。至少我知道为什么我的磁盘没有休眠。我不能明确地说如何使用一些 Linux 工具来跟踪这个问题,我在一些讨论中偶然发现了它。

看起来像是服务发生了变化udisks2。此服务正在检查您的磁盘,并负责自动安装您的 USB 记忆棒等。现在该服务还会检查磁盘的 SMART(不知道为什么)。如果磁盘处于休眠状态,它不会唤醒它,但如果磁盘处于活动状态,udisks2 会每 10 分钟检查一次 SMART。因此,如果休眠时间为 30 分钟,磁盘将永远不会进入休眠状态。此外,WD Red 磁盘通常无法设置小于 10 分钟的休眠时间(磁盘过快减速是不健康的,因此这是合理的限制)。

一些资料来源:

NAS 系统的解决方法:您可能根本不需要 udisks2 服务。

sudo systemctl stop udisks2
sudo systemctl mask udisks2

相关内容