NAS 有時會離線。

我有一台 Qnap 453A,已經使用多年都很順利!
最近我在上面安裝了 Lyrion 音樂伺服器 9.02 的 docker,
幾乎每隔一天就必須重啟 NAS,因為音樂系統無法正常連線。
請問 NAS 有哪些設定可以避免這種情況發生?有什麼建議嗎?

為了更好地了解您所遇到的「離線」狀態,能否請您進一步說明?是您的音樂伺服器無法運作,還是您無法透過 SMB(或其他類似網路協定)連接到 NAS?

了解這一點將有助於我們找出問題所在。謝謝!

這一切都是硬體連線,NAS自從我安裝了Lyrion音樂伺服器9.02後才開始這樣。
唯一的解決方法是重新啟動伺服器。
造成這種情況的原因是什麼?

我們了解您的 NAS 是有線連接的。Steve 想問的是,您是否無法通過 SMB(最常用的檔案分享協定)連接。

您可以存取 NAS 的網頁介面嗎?還是伺服器完全離線?

您可以嘗試開啟 SSH 連線到 NAS,並執行 “top” 指令。查看您的處理器使用情況。也許您的音樂伺服器佔用了大量的處理器資源並產生許多執行緒。top 裡的平均 CPU 負載行最重要,因為它大致顯示目前正在處理的執行緒數量。如果音樂伺服器佔用大量資源,可能會導致設備看起來像是離線。

好的,謝謝,這可能就是問題所在。當它死機時,我無法連接,直到重新啟動。目前它正在運作,我會檢查你的建議。
我會再告訴你結果。什麼是與 CPU 一起使用的關鍵執行緒?
感謝你的回覆。

一般來說,你應該看到負載平均值低於10。

有時你會驚訝於負載平均值上升得有多快。前幾天我的其中一台NAS設備負載平均值竟然飆到50左右。我什麼都做不了,只能重啟它。

OK,它又離線了。
重新啟動後,我檢查了資源監視器。
播放了一些音樂,CPU有波動,但最高大約45%。
通常是20%,這可能是問題所在嗎?
問題是,它在沒有播放音樂時也曾失敗過。
我正在使用 iPeng 連接它,但這也無法連接到伺服器。

QNAP_Daniel 剛剛發布了一篇指南,說明如果在 docker compose 中使用錯誤的儲存變數,如何避免把 RAMdisk 弄亂,也許你有這個問題?

https://www.reddit.com/r/qnap/comments/1lbkhub/guidelines_on_how_to_deploy_yaml_in_container/

哪些 CPU 百分比會導致問題?
謝謝

我的連結與 CPU 使用率無關,而是當容器配置錯誤並填滿 RAMdisk,導致系統無法回應。

我不認為這是配置錯誤
這是我使用的應用程式
services:
lms:
image: lmscommunity/lyrionmusicserver
volumes:
- /share/Container/app-data/lms-config/:/config:rw
- /share/Multimedia/Music/:/music:ro
- /share/Multimedia/Playlists/:/playlist:rw
ports:
- “9000:9000”
- “9090:9090”
- “3483:3483/udp”
- “3483:3483/tcp”

所以如果這些目標存在,而且「rw」的目標在正確的位置填入資料,應該就沒問題。

所以有問題嗎?
它一直倒下!
大約 1-2 天

典型的 Ramdisk(記憶體磁碟)運行在 26%。
我會持續監控,因為音樂系統正在運作。
此外,硬碟本身顯示只填滿了三分之一。
是不是哪裡出了問題?

不要只看 CPU 使用率,要看 Load Average(負載平均)。它們是不同的。Load Average 並不是 CPU 使用率的平均值,它更像是衡量有多少執行緒正在運行或等待在 CPU 上運行的指標。以我的 TS-873A 來說,Ryzen 有 4 個核心和 8 個執行緒,這表示它隨時可以同時處理 8 個執行緒。如果某個執行緒執行時間很長,可能並沒有佔用太多 CPU 時間,但它仍然會佔用時鐘週期。所以如果你的負載平均值是 20,那代表有大約 12 個執行緒正在排隊等待執行。這就是為什麼系統會變得非常非常慢。我不確定是不是你的 container(容器)造成了這種情況,也有可能是 NAS 上的其他東西。

你的 TS-453 採用 Intel J6412 處理器,擁有 4 個核心和 4 個執行緒。坦白說,這算是相當低階的處理器(比 A57 好,但遠低於 i5 或 i7)。不幸的是,大多數 NAS 裝置都配備相當低階的處理器,這也是為什麼你可以用幾百美元買到全新的 NAS。它們用來做基本檔案伺服器沒問題,但如果你開始在上面運行越來越多的應用程式,速度就會變得很慢。

很多 NAS 都採用 A55 或 A57 ARM 核心處理器。這些核心很適合嵌入式應用,但老實說,並不適合用在 NAS 上。

好的,我會記住這一點,並且會持續監控。

我該如何準確檢查負載?

1.) 確保你已啟用 SSH。

2.) 在你的電腦命令提示字元(Mac 的終端機或 Windows 的 DOS shell)輸入:

ssh username@NAS_IP

其中 username 是你在 NAS 上的使用者名稱,NAS_IP 是 NAS 的 IP 位址。以我的例子:

ssh jono@192.168.0.1

如果系統詢問是否將該機器加入安全主機列表,請選擇「是」。

當提示時輸入你的密碼。

這樣你就能進入 NAS 的 Linux shell。輸入「top」(不含引號)。這會顯示 NAS 上正在運行的主要程序。負載平均值(load average)是位於頂部、CPU 百分比下方的那些數字:

image

保持登入,當你的 NAS 狂暴時,觀察一下這個數字。

非常感謝您!

只是想確認一下,當你的問題發生時,是不是表示無論你用什麼方法(例如網路共享或網頁介面),都完全無法連接到你的 NAS?