Hard-Disk

OpenVPN 守護程序讓我的硬碟在 NAS 家庭伺服器上旋轉

  • December 17, 2021

我有一個安裝了 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 中看到的唯一使用硬碟驅動器的過程,所以我想這是我的硬碟驅動器在夜間不斷旋轉的唯一原因。

--writepid /run/openvpn/server.pid選項僅在程序啟動時寫入一次 PID。另一方面,該--status /run/openvpn/server.status 10選項每 10 秒寫入一次狀態文件。

但是,這兩個都被寫入基於 RAM 的文件系統,/run. 可能是日誌記錄引起了您的注意;消息通常被寫入下面的文件/var/log,我建議很可能是這些讓你的磁碟保持清醒。

**--daemon [progname]**完成所有初始化功能後成為守護程序。此選項將導致所有消息和錯誤輸出發送到 syslog 文件(例如/var/log/messages

$$ … $$如果--log存在其中一個選項,它將取代 syslog 重定向。

然後,

**--log file**將日誌消息輸出到文件,包括輸出到由呼叫腳本生成的stdout / *stderr 。*如果文件已經存在,它將被截斷。這個選項

$$ … $$如果還指定了--daemon或,將取代 syslog 輸出--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/'

引用自:https://unix.stackexchange.com/questions/682846