對於掌管多台設備的 IT 管理者或 Home Lab 玩家來說,電力中斷是 SSD / 硬碟健康與資料完整性的最大殺手。通常一台消費級 UPS 僅配備一個 USB 通訊埠,這意味著當市電斷開時,只有那台直連 USB 的設備知道要關機,其他的 NAS、伺服器或電腦若無人看管,將面臨不正常斷電進一步導致資料損毀的風險。
CyberQ 根據在機房部署與在不同公司實作的經驗,示範如何利用 QNAP NAS 作為「不斷電系統伺服器(Network UPS Master)」,透過網路發送訊號,指揮同網段內的 Synology NAS、Windows 電腦、伺服器,甚至是 Proxmox VE (PVE) 虛擬化平台同步執行關機程序。
本案例採用的是 A-Plus 這個品牌的 UPS,採用可支援 NAS 的 Plus1EN 系列。


在機器的後方,除了插座可提供設備使用外,最下方也具備一個 USB 連接埠,可透過 USB 線讓 QNAP NAS 接上,彼此溝通 UPS 狀態資訊。如此一來,停電時,UPS 除了繼續供電給 QNAP NAS 外,也會讓 QNAP NAS 系統本身知道市電斷電或停電, UPS 已經在供電中,儘快進行自己的後續自動關機動作,順便告訴其他有連線中的伺服器和其他納管的設備,讓大家可以依據自行設定的服務腳本,全部一起關機。以下是相關步驟說明:
第一階段:Master 端設定 (QNAP 直連 UPS)
首先,我們必須將 QNAP 設定為發號施令的斷電時期 UPS 狀態指揮官。
1、硬體連接與確認
將 UPS 的 USB 訊號線連接至 QNAP NAS。系統會自動偵測到外接裝置,如圖所示,系統偵測到 USB to Serial 或標準 UPS 裝置。

進入 [控制台] > [外接裝置] > [不斷電系統 (UPS)]。
確認狀態顯示為「正常」,且能讀取到電池容量資訊。

2、啟動網路 UPS 伺服器功能
這是最關鍵的一步,在設定頁面中,我們需要勾選 「啟用網路不斷電系統伺服器」(Enable Network UPS Master)。

加入 IP 位址:在下方的欄位中,這邊必須輸入「所有」需要接收關機指令的客戶端設備 IP。

在勾選這個服務後,QNAP 會在網路上開一個 UPS 狀態服務伺服器 (被稱之為 UPS NUT Server,Network UPS Tools 是一套監控電力設備的開源軟體,例如不斷電系統、配電設備、太陽能控制器和伺服器電源等等,可藉由網路協議和標準化介面給業界各品牌設備使用),讓其他設備可以連線查詢 UPS 狀態,在電力異常時,自行依據設定好的腳本設定檔去執行關機流程。
而下方 IP 清單的真正用途是設定為安全白名單,只有這些 IP 能連 UPS Server,QNAP 不會推指令叫別人關機,而是由 Client 自治,其餘設備獲得連線和 UPS 資訊後,需要自己依據設定腳本檔判斷、自己關機。
CyberQ 提醒,基於資安考量,QNAP 預設只允許白名單內的 IP 存取 UPS 狀態。若未在此輸入 IP,客戶端將無法連線,把你要指定關機的機器 IP 一個一個輸入進去比較安全。
設定斷電策略,有兩種設定,分別是「AC 電源中斷 5 分鐘 後關閉系統」或進入「自動保護模式」。
CyberQ 這邊建議是這樣,如果你的 NAS 設備是在比較穩固的機房中運作,請優先選擇「自動保護模式 (Auto-Protection Mode)」。此模式會停止存取磁碟區並將狀態存入 RAM,若電力在短時間內恢復,系統可極速喚醒,無需經歷漫長的冷開機過程,這是為了減少你伺服器復電後 downtime 時間的設定。這個選項的風險點是萬一 UPS 電池老化,市電中斷後撐不住,反而比直接關機危險,加上ZFS / SSD Cache / VM / Container 在邊界狀態下可能會不理想,所以只建議在你基礎設施比較完備的機房中使用。
但如果是工作室或家用環境,你只有這個 UPS 來擔任 NAS 與網路設備供電保護的話,建議直接選擇電力中斷 3-5 分鐘後就關閉系統,會比較保險。
第二階段:Client 端設定 (其他設備如何接收指令)
在 QNAP (Master) 設定好 IP 白名單後,我們需要分別設定其他設備 (Slaves) 來「監聽」QNAP 的指令。
1、連動另一台 QNAP NAS
進入 [控制台] > [外接裝置] > [不斷電系統]。
選擇 「網路不斷電系統從屬 (Network UPS Slave)」。
IP 位址:輸入 Master QNAP 的 IP。

設定關機策略:建議時間設定得比 Master 更短(例如 Master 設 5 分鐘,Slave 設 3 分鐘),確保 Slave 先處理完畢,Master 再斷後。
2、連動 Windows 電腦
Windows 本身不支援 NUT 協定,需安裝第三方開源軟體,CyberQ 推薦使用 WinNUT。
設定 (Settings):

Host: 輸入 Master QNAP IP。
Port: 預設為 3493。
UPS Name: QNAP 預設通常為 qnapups(若連線失敗,可嘗試 ups 或查看 QNAP 系統日誌中的定義)。
User/Password: QNAP 在 UPS 這邊的實作通常不需要驗證,視韌體版本而定。
勾選開機時啟動,讓軟體隨開機啟動並常駐右下角。

和 QNAP NAS 連線成功後就會出現這樣的畫面,顯示電量、負載等等資訊,以及預估備援時間,本案例是 33 分 29 秒的備援時間。
3、連動 Proxmox VE (PVE) / Linux 伺服器
對於執行 PVE 或其他 Linux 伺服器發行版的用戶,需透過指令列安裝 NUT Client。
步驟 A:安裝套件
apt update
apt install nut-client

步驟 B:設定監控目標
編輯 /etc/nut/nut.conf,本案例是下指令 nano /etc/nut/nut.conf,接著在這個設定檔中,設定模式改為:MODE=netclient

接著再編輯 /etc/nut/upsmon.conf,本案例是下指令 nano /etc/nut/upsmon.conf
然後加入監控行:
格式: MONITOR 名稱@伺服器 IP 位置 帳號 密碼 主動或被動
QNAP 預設 UPS 名稱常為 qnapups,無密碼或預設密碼,所以我們設定如下 :

MONITOR qnapups@<qnap nas 的 IP 位置> 1 slave
我們的範例是無另外設定帳號密碼,所以用這個設定 :
MONITOR [email protected] 1 slave
然後存檔離開編輯器。
步驟 C:重啟服務
修改好設定檔案後,就下指令重啟該 nut-client 服務
systemctl restart nut-client
接著輸入 upsc qnapups@<qnap nas 的 IP 位置>, 若能看到電池資訊,即代表連動成功。

本範例是下指令 upsc [email protected]
可以看到系統回傳出來很多資訊,其中有一行是 ups.status: OL,就確定你這一台 PVE 伺服器有被納入 QNAP NAS UPS Server 和 UPS 的保護範圍中,碰到颱風停電、市電中斷或社區附近區域電力公司施工的停電時,UPS 就會發揮作用,維持一定時間的電力,然後讓 QNAP UPS Server 提供 UPS 狀態資訊,讓其他 nuc client 來連接取得最新 UPS 狀態,接著就會自動進行關機程序。
這邊附加一個教學,是將 PVE 順便也設定為 UPS Server,這樣可以提供 Synology NAS 這類不能變更 UPS client 帳號名稱去連線 UPS server 的問題。
PVE NUT Relay 中繼模式:逐步設定指引
以下的步驟 CyberQ 都是在 PVE 的 SSH 終端機中依序執行,建立起 PVE 主機自己的 UPS server 服務。
第一步:安裝與確認 NUT Server 套件
apt update
apt install nut nut-server nut-client -y確認安裝成功:
dpkg -l | grep nut應看到 nut-server、nut-client 等套件均已安裝。
第二步:設定 ups.conf(建立虛擬對應)
編輯檔案:
nano /etc/nut/ups.conf在檔案 最下方 加入以下內容:
[ups]
driver = dummy-ups
port = [email protected]
desc = "QNAP UPS via NUT relay"儲存並離開(Ctrl+O → Enter → Ctrl+X)。
CyberQ 這邊稍微額外說明一下,[ups] 這個名稱就是 Synology 將來連線時使用的名稱(因為 Synology 要設定去連 UPS 主機的話只能預設尋找 ups)。
driver = dummy-ups 這邊則是告訴 NUT 這不是真的 USB 裝置,而是從遠端取得資料的虛擬 UPS。
port = [email protected]:指向真正的訊號來源,即 QNAP 上名為 qnapups 的 UPS,IP 為 192.168.2.2(請依實際 QNAP IP 修改)。
第三步:設定 nut.conf(切換為 Server 模式)
這一步很容易遺漏。PVE 預設的 NUT 模式可能是 none 或 netclient,必須改為 netserver。
nano /etc/nut/nut.conf找到 MODE= 那一行,改為:
MODE=netserver儲存並離開。
第四步:設定 upsd.conf(開放外部連線)
nano /etc/nut/upsd.conf找到 LISTEN 的部分,加入或修改為:
LISTEN 0.0.0.0 3493這代表監聽所有網路介面的 3493 Port,讓 Synology 能從外部連入。
儲存並離開。
第五步:設定 upsd.users(建立連線帳密)
nano /etc/nut/upsd.users加入以下內容:
[monuser]
password = secret
upsmon slave這裡使用
monuser/secret是 QNAP 與 Synology 常見的預設帳密,方便統一管理。如果你的 QNAP 端使用不同帳密,請自行調整。
儲存並離開。
第六步:修正權限
NUT 對設定檔權限非常敏感,權限不對服務會拒絕啟動:
chown root:nut /etc/nut/ups.conf /etc/nut/upsd.conf /etc/nut/upsd.users /etc/nut/nut.conf
chmod 640 /etc/nut/ups.conf /etc/nut/upsd.conf /etc/nut/upsd.users /etc/nut/nut.conf第七步:重啟 PVE 的 NUT 服務並驗證
重啟所有 NUT 相關服務:
systemctl restart nut-server
systemctl restart nut-client確認服務狀態正常:
systemctl status nut-server驗證 PVE 是否成功模擬出 UPS:
upsc ups@localhost這邊會顯示從 QNAP 取得的電池資訊(電壓、電量、狀態等)。如果看到這些資訊,表示 PVE 擔任 UPS server 中繼站的角色已成功架設。
如果遇到錯誤,可查看日誌看看問題出在哪裡:
journalctl -u nut-server --no-pager -n 304、連動 Synology NAS (DSM 系統)
Synology 與 QNAP 皆採用標準的 NUT 協定,因此可以相容,但是呢,由於 Synology 的 UPS 服務它預設的設定檔 /etc/ups/upsmon.conf,是寫死固定用 ups 這個名稱來連接 ups server 的,而不是用 qnapups 開頭來連接,它的 GUI 不允許更改這個連接用的帳號名稱,所以按照傳統的設定方式無效,必須將指定的 UPS server ip 改成上面我們設定過的 PVE 或你環境中的其他 Linux 伺服器才行。
所以會需要另外起一個不同的 UPS Server ,本案例是做在環境中的 PVE 伺服器上,做完之後,再進入S ynology 管理介面的 [控制台] > [硬體與電源] > [不斷電系統]。
勾選 「啟用 UPS 支援」。
網路不斷電系統類型:選擇 「不斷電系統伺服器」(雖名稱不同,顯示為 Synology 不斷電系統伺服器,但其實就是指連線到遠端 NUT Server,在本案例中要改成環境中使用的其他 UPS Server ,本例改用 PVE 伺服器的 IP)。
網路不斷電系統伺服器 IP:輸入 Master 的 IP。

點擊「裝置資訊」確認連線成功,就可以點裝置資訊,看到如圖中的 UPS 狀態了,這是 UPS – QNAP NAS – PVE – Synology 的狀態。
按照我們先前的設定,等大家在三分鐘後都關機差不多結束後,第五分鐘時 QNAP NAS 也自己進入關機程序了。實現 UPS 搭配 QNAP NAS 變身停電關機總指揮的角色。
技術總結提醒
CyberQ 建議各位在部署這套架構時,有兩個常被忽略的盲點,請務必留意:
網路交換器 (Switch) 的供電:這是最致命的錯誤。如果你的 NAS 、儲存設備、伺服器和電腦都接了 UPS,但中間傳輸訊號的 Router 或 Switch 插在一般市電插座上,一旦斷電,網路立刻中斷,QNAP 的關機指令就發不出去了。請務必確保網路設備也在 UPS 供電範圍內。在機房的實作我們有整個機房範圍都在大型 UPS 保護範圍內,小一點規模機房的實作有的會是某幾個插槽在 UPS 保護範圍,因此設定上都需要留意和注意。
關機時間差 (Timing):Master 端的關機時間必須設定得比所有 Slave 端都晚。例如 PVE 或 VMware 虛擬機關閉需要較久時間,若 QNAP 自己先關機了,PVE / VMware 還沒收到指令或正在關機中途斷訊,就會導致資料損毀。合理的設定是:Slave (3分鐘) -> Master (5分鐘)。
實務關機順序建議非常重要,CyberQ 推薦順序如下:
先關 VM / Container Host(PVE / ESXi)
再來是次要 NAS 和其他儲存設備
最後才示主要的 QNAP NAS(UPS Server)或主要儲存設備
這個順序可避免 VM 還在寫資料,NAS 卻已經關掉了,上述的 NUT 環境建構好後,本身就會自然形成這個順序。
透過以上設定,便能利用單一台 UPS 搭配 QNAP NAS 實現機房等級的自動化電力管理,將硬體損壞風險降至最低。













