如何找到誰在阻止磁碟旋轉

如何找到誰在阻止磁碟旋轉

問題

  • 將 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由於某些原因我無法跑步。 packgeperf-tools-unstable已正確安裝,但即使以 root身分呼叫也會iosnoop結束。bash: iosnoop: command not found我沒有找到這個原因。

很明顯,您無法調試我的系統,但我將不勝感激任何關於如何找到問題的提示,誰在阻止磁碟旋轉:-)

答案1

解決了。至少我知道為什麼我的磁碟沒有休眠。我不能肯定地說,如何用一些linux工具來追蹤這個問題,我在一些討論中偶然發現的。

看起來服務有改變udisks2。該服務正在檢查您的磁碟並負責自動安裝您的 USB 記憶棒等。如果磁碟處於睡眠狀態,則不會喚醒它,但如果磁碟處於活動狀態,udisks2 每 10 分鐘檢查一次 SMART。所以如果休眠時間是30分鐘,磁碟就永遠不會休眠。此外,WD Red 磁碟通常無法將睡眠時間設定為小於 10 分鐘(磁碟旋轉速度太快並不健康,因此這是合理的限制)。

一些來源:

NAS 系統的解決方法:您可能根本不需要 udisks2 服務。

sudo systemctl stop udisks2
sudo systemctl mask udisks2

相關內容