OpenVPN 데몬은 NAS 홈 서버에서 하드 드라이브를 계속 실행합니다.

OpenVPN 데몬은 NAS 홈 서버에서 하드 드라이브를 계속 실행합니다.

OpenVPN 데몬이 설치된 홈 NAS 서버가 있지만 NAS의 VPN이나 ​​파일을 적극적으로 사용하는 사람이 없을 때 하드 드라이브를 유휴 모드로 유지하여 더 오래 지속되도록 하고 싶습니다.

OpenVPN 데몬은 PID를 파일에 계속 쓰기 때문에 이를 방지합니다.

    root@NAS:~# iotop
Total DISK READ:         0.00 B/s | Total DISK WRITE:         3.80 K/s
Current DISK READ:       0.00 B/s | Current DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
  725 be/4 nobody      0.00 B/s    3.80 K/s  0.00 %  0.00 % openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.conf --writepid /run/openvpn/server.pid
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_gp]
    4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_par_gp]

밤새도록 하드디스크가 돌아가는 소리가 들리고, 계속해서 돌아가는 바람에 수명이 단축될까 걱정되기 때문에 짜증스럽습니다.

이것이 하드 드라이브를 사용하는 iotop에서 볼 수 있는 유일한 프로세스이므로 이것이 내 하드 드라이브가 밤에 계속 회전하는 유일한 이유인 것 같습니다.

답변1

--writepid /run/openvpn/server.pid옵션은 프로세스가 시작될 때 PID를 한 번만 씁니다. 반면에 이 --status /run/openvpn/server.status 10옵션은 10초마다 상태 파일을 씁니다.

그러나 두 파일 모두 RAM 기반 파일 시스템에 기록됩니다 /run. 메시지는 일반적으로 아래 파일에 기록되며 /var/log이러한 메시지가 디스크를 깨울 가능성이 가장 높습니다. .

--daemon [progname]모든 초기화 기능이 완료된 후 데몬 프로세스가 됩니다. 이 옵션을 사용하면 모든 메시지와 오류 출력이 syslog 파일(예:)로 전송됩니다. [...] /var/log/messages이러한 옵션 중 하나가 있으면 syslog 리디렉션이 무시됩니다.--log

그 다음에,

--log file출력을 포함하여 로그 메시지를 파일로 출력합니다.표준 출력/표준 에러호출된 스크립트에 의해 생성됩니다. 파일이 이미 존재하는 경우 잘립니다. 또는 도 지정되면 --daemon이 옵션 [...]이 시스템 로그 출력을 대체합니다.--inetd

--log-append file파일에 로그 메시지를 추가합니다. 파일이 존재하지 않으면 생성됩니다. 이 옵션은 --log로그 파일을 자르는 대신 로그 파일에 추가한다는 점을 제외하면 이와 동일하게 작동합니다 .

로깅을 포기할 의향이 있다면 이것을 사용하여 --log-append /dev/null디스크를 절전 모드로 전환할 수 있을 것 같습니다. 반면에, 처음부터 너무 많은 로깅을 수행해서는 안 됩니다. 디스크를 활성 상태로 유지하기 위해 OpenVPN이 무엇을 쓰고 있는지 결정하는 것이 좋습니다. lsof이것에 유용할 수 있습니다:

# As root
watch -n1 'lsof -f -p $(pidof openvpn | tr " " ,) 2>&1 | grep -v /lib/'

관련 정보