디스크 스핀다운을 방지하는 사람을 어떻게 찾을 수 있나요?

디스크 스핀다운을 방지하는 사람을 어떻게 찾을 수 있나요?

문제

  • NAS 시스템을 Buster에서 Bullseye로 업그레이드한 후 디스크의 회전 속도가 느려질 수 없습니다.

내 NAS 설정

  • 5x 기계식 디스크 WD RED, RAID 없음, 저널링 없음 ext4
  • 데비안 불스아이, 커널 5.10
  • 시스템이 여섯 번째 SSD 디스크에서 로드 중입니다(기계적 SSD 디스크를 깨우지 않음).
  • 30분 동안 활동이 없으면 스핀다운을 설정하는 hd-idle 유틸리티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정기적인 활동 없이는 디스크가 깨어나지 않으므로 반복 작업으로 디스크를 깨울 수 없습니다.
  • Bullseye에 어떤 변화가 있어서 깨우고 있다면 smartmontools에 대해 의심스러웠습니다. 나는 /etc/smartd.confand 로 조금 플레이했지만 -n standby성공하지 못했기 때문에 smartmontools가 숨겨진 악당인지 알아보기 위해 smartd를 완전히 비활성화했지만 운이 좋지는 않습니다.
  • lsof | grep /media아무것도 제공하지 않습니다(미디어는 모든 디스크의 마운트 지점입니다).
  • iotop나는 와도 조금 놀고 있었습니다 nmon. 그러나 흥미로운 것은 발견되지 않았으며 SSD(시스템) 디스크에 대한 일반적인 활동만 발견되었습니다.
  • iosnoop어떤 이유에서든 달릴 수 없어요 . 패키지가 perf-tools-unstable제대로 설치되었지만 호출이 루트로도 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

관련 정보