저는 두 개의 Western Digital Red 3TB가 있는 HP Proliant Microserver Gen8에서 Debian Jessie를 사용하고 있습니다. RAID 나 다른 것이 없습니다. 2시간 후에 하드 드라이브의 회전이 자동으로 멈추도록 하고 싶습니다. 이 두 명령을 사용하면 수동으로 트리거할 수 있습니다.
sudo hdparm -Y /dev/sda
sudo hdparm -y /dev/sda
그래서 출력은
user@NAS:~$ sudo hdparm -C /dev/sda
/dev/sda:
drive state is: standby
하지만 내가 사용할 때 :
sudo hdparm -S 244 /dev/sda
HDD는 어떤 종류의 대기 모드로도 전환되지 않습니다. sda는 시스템 드라이브가 아닙니다. 다음과 같이 fstab을 통해 두 개의 하드 드라이브를 마운트했습니다.
UUID=xxx /mnt/Stuff ext4 defaults,noatime,nodiratime 0 0
왜 이것이 작동하지 않는지 아시나요? 10초, 1분도 해봤습니다. 프로세스가 하드 드라이브의 파티션에 액세스하고 있는지 확인하는 방법이 있습니까? DLNA 서버와 Samba를 사용했지만 물론 테스트 중에는 액세스가 없었습니다.
답변1
사용iosnoop
(사용 가능perf-tools-unstable
패키지)를 사용하면 특정 장치의 활동을 추적할 수 있습니다.
iosnoop -d 8,0
장치에 액세스하는 프로세스가 표시됩니다. 이를 통해 드라이브를 깨운 원인을 확인할 수 있습니다.
사용할 장치 번호를 결정하려면 노드의 주/부 장치 번호를 확인하십시오.
ls -l /dev/sd*
iosnoop
매개변수 없이 실행하여 모든 I/O를 모니터링할 수도 있습니다 .
답변2
내 NAS의 OpenWrt 설정과 비슷한 문제가 있었는데 sudo hdparm -Y /dev/sda
작동하지도 않았습니다. HDD는 active/idle
1초 반 후에 상태로 돌아옵니다. 그래서 이상한 과정이 있었다고 말씀드렸습니다 ext4lazyinit
. 이 사건은 짧은 시간 내에 하드 드라이브를 촉발시켰습니다. 이를 제거하려면 해당 매개변수를 사용하여 ext4 형식을 지정하십시오.mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/<your ext4 partition>