두 개의 디스크가 포함된 ZFS RAID가 있습니다. 홈 서버와 디스크는 연중무휴로 실행됩니다. 그래서 잠시 동안 유휴 상태가 된 후 대기 상태로 설정하고 싶습니다. -C
테스트에 매개변수 사용을 제안하는 여러 기사가 있습니다.
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
# hdparm -C /dev/sda
/dev/sda:
drive state is: standby
# hdparm -C /dev/sda
/dev/sda:
drive state is: standby
# hdparm -C /dev/sda
/dev/sda:
drive state is: active/idle
hdparm -C /dev/sda
매초마다 명령을 다시 실행합니다. 몇 초 후에 디스크가 깨어나는 이유는 무엇입니까? 이 디스크(OS 디스크 아님)에 액세스하는 모든 응용 프로그램을 중지했습니다. 그리고 사용파트라스io 작업을 찾을 수 없습니다. 그리고 나도 노력했어이 커널 솔루션이어서규칙 다시 로드이는 디스크를 깨워 피해야 합니다 hdparm
.
또한, 나는 노력했다smartctl -i -n standby /dev/sda |grep "^Power mode"
. 두 번째 실행 시 디스크를 깨우는 것 같습니다.
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
# smartctl -i -n standby /dev/sda|grep "^Power mode"
# smartctl -i -n standby /dev/sda|grep "^Power mode"
Power mode is: ACTIVE or IDLE
디스크 /dev/sda
는 WD Red 8TB입니다.
# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.41-1-pve] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Red
Device Model: WDC WD80EFZX-68UW8N0
Serial Number: xxx
LU WWN Device Id: 5 000cca 263c7a3f7
Firmware Version: 83.H0A83
User Capacity: 8,001,563,222,016 bytes [8.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat May 30 09:41:56 2020 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
저는 Proxmox를 실행하고 있으므로 Debian Buster(10)가 포함된 Debian 기반 배포판입니다.
편집 : 노력 중hd-idle
나는 노력했다HD 유휴그러나 디스크는 대기 상태로 들어가지 않습니다. 로그에 항목이 없으므로 디버그 플래그를 사용하여 수동으로 실행합니다.
hd-idle -i 0 -a /dev/sda -i 120 -l /var/log/hd-idle.log -d
이것은 내 독서량이 증가하고 있음을 나타냅니다.모든확인하다
probing sda: reads: 12760648, writes: 3174104
probing sda: reads: 12763720, writes: 3174104
probing sda: reads: 12765256, writes: 3174104
probing sda: reads: 12766792, writes: 3174104
에 설명된 것처럼 전혀 읽히지 않기를 바랍니다.이것블로그 게시물(RPI에 대한 것이지만 여기서는 관련이 없다고 생각합니다). 대부분의 소프트웨어는 Docker 컨테이너에서 실행되므로 데몬을 중지했지만 읽기는 계속됩니다. 현재 Proxmox 가상 머신은 하나만 있습니다. 시스템 SSD에 있으므로 읽기가 발생하지 않습니다.
답변1
문제는 서비스로 인해 발생합니다 pvestatd
. 서비스는 CPU 사용량, 디스크 사용량 및 웹 UI에 표시되는 기타 데이터와 같은 상태 정보를 수집합니다. Proxmox에 따르면 이는 에서만 작동합니다 /etc/pve/storage.cfg
. 더 이상 거기에서 ZFS 풀을 구성하지 않지만 이전에는 거기에 있었습니다. 이로 인해 pvestatd
해당 풀이 계속 스캔되어 디스크가 깨어나는 것 같습니다 .
이 문제를 해결하려면 을 제외해야 합니다 /etc/lvm/lvm.conf
. 요청된 각 디스크에 대한 필터가 있습니다 global_filter
. 해당 디스크가 검사에서 제외되었음을 나타냅니다."r|/dev/sda"
r
재부팅 후 디스크는 예상대로 대기 모드로 전환됩니다.
답변2
ZFS는 일반적으로 2초마다 파일 시스템 동기화를 수행합니다. 마지막 이후 정보가 변경된 경우 여러 번의 쓰기 작업이 발생합니다.
atime
따라서 랩탑 및 노트북에 대한 업데이트는 일반적으로 다음과 같은 이유로 비활성화됩니다 SSD
.
zfs set atime=off <datasetname>
시도해 보셨나요? 다음과 같이 문서화되어 있습니다.
atime=on | off
Controls whether the access time for files is updated
when they are read. Turning this property off avoids
producing write traffic when reading files and can
result in significant performance gains, though it might
confuse mailers and other similar utilities. The default
value is on.