:::

雜談:也許NAS作為NAS就好 / TALK: Perhaps a NAS Should Just Be a NAS

7月 18, 2025 , , 0 Comments Edit Copy Download

2025-0220-174221.png

近期在更換QNAP NAS硬碟的時候,不禁思考起我對NAS看法的轉變。


硬碟健康度出現問題 / Hard Drive Health Issues

2025-0220-150113.png

事情是來自於我注意到NAS硬碟健康度出現警告的時候開始。

之前在工作時也碰過不少NAS,不過當時並沒有做好監控機制,幾乎都是等到整個NAS都不能正常運作的時候,我們才會注意到NAS硬碟出問題了。當然,這並不是什麼很好的做法。

2025-0220-164819.png

我在個人使用的NAS選擇的是QNAP的小主機。這臺QNAP NAS上的硬碟配置很簡單,連RAID都沒有設。它內建的硬碟插槽只有兩個,與其硬是拿來組RAID,我的做法是將這兩顆硬碟當作各別的兩個儲存池來處理。

2025-0220-150400.png

這次是我在登入NAS的時候注意到系統發出了硬碟健康度的警告。這個警告是來自於S. M. A. R. T. 機制,它指出這可硬碟在「Current_Pending_Sector」跟「Uncorrectable_Sector_Count」上面出現了問題。前者可能可以透過硬碟區塊修復來解決,但無法修復的區塊就會加入到「Uncorrectable_Sector_Count」,而這就是硬碟即將嚴重毀損的跡象。

2025-0220-152948.png

https://forum.qnap.com/viewtopic.php?t=167523#top 

簡單來說就是——該換硬碟了。

2025-0220-151824.png

QNAP的Notication Center能將硬體發出的警告用Email傳送通知。不過我之前設定的Gmail授權不知不覺過期了,難怪通知也沒在正常運作。現在可得要多多注意通知了。


硬碟空間與NAS的使用 / Hard Drive Space and NAS Use

20250220_124651.jpg

既然已經決定要把硬碟替換了,那我要做的事情,就是把快壞掉的硬碟上的資料移動到其他地方去。我買了一顆8T的硬碟,用外接USB的方式接上NAS,然後在QNAP裡面把硬碟格式化、再逐漸把檔案搬移過去。

2025-0220-164210.png

另一方面,安裝在QNAP裡面的應用程式是不能搬移到外接硬碟,而只能轉移到安裝在QNAP裡面的另一顆硬碟裡面。藉這個機會,我也把原本在QNAP裡面架設的服務通盤了一下,將資料匯出、備份後,刪除了不使用的服務。

2025-0220-163939.png

調整過後,有問題需要替換的硬碟佔用的空間只剩下3百多GB,另一顆同樣裝在NAS上的4TB硬碟也只用了1.86TB。看起來現在的使用量真的是綽綽有餘。倒是準備拿來替換的8TB硬碟已經使用了4.7TB,看來之後要再花些時間整理一下了。


NAS不架站了 / Giving Up on Setting Up a Website Using a NAS

2025-0220-165431.png

在整理QNAP安裝服務的過程裡,其實還蠻令人感慨的。

剛買NAS的時候,我還期待把NAS當作網頁伺服器來運作服務。但到現在,我已經把QNAP的大部分虛擬化服務都關掉了。

由於小主機性能孱弱的關係,跑Virtualization Station的全虛擬化虛擬機器的體驗不太好。而Container Station雖然能運作門檻比較低的Docker跟LXD,但在我用另一臺電腦架設Proxmox VE之後,在QNAP跑Docker或LXD也就顯得沒那麼好用了。

原本靜態網站的架設全部轉移到GitHub Page上。而動態網頁的需求也被拆分到各個其他服務去。API服務我會用Apps Script或Vercel來實作,而各別分析的需求則是用Colab來完成。若真的要架設並運作大型系統,那就在Proxmox VE上搭配Cloudflare Tunnel內網穿透就好了,不用再勉強配一個獨立IP才能使用。

沒有公開IP的網路環境 / Network Environments Without a Public IP

2025-0220-165810.png

另一個主要的變動是myQNAPPcloud Link也被我關掉了。這個功能是在撥接取得動態IP的網路環境下,讓QNAP能用固定的網域名稱連線的一種做法。以前我要在區域網路之外取用QNAP的檔案,就得透過myQNAPcloud來連線。

然而,我後來所在的網路環境,其實是連撥接取得動態IP的資格都沒有,純粹就是在NAT區網內用DHCP來取得區域IP而已,而且上層管理者也不給開Port Forwarding。在這個情況下,就算是myQNAPcloud也無法連線。

2025-0220-170309.png

後來我改用ZeroTier建立虛擬內網。只要裝置連上ZeroTier加入虛擬的區域網路,彼此之間就能用IP來連線。這樣的做法甚至可以避免QNAP NAS暴露在網際網路上,減少被攻擊的危險。這也是我在QNAP的Container Station裡唯一保留運作的Docker容器。

https://blog.qnap.com/zh/%E6%8E%A8%E8%96%A6%E4%B8%89%E7%A8%AE%E9%80%8F%E9%81%8E%E5%A4%96%E7%B6%B2%E5%AE%89%E5%85%A8%E5%AD%98%E5%8F%96-nas-%E7%9A%84%E6%96%B9%E5%BC%8F/

https://blog.qnap.com/zh/%E6%8E%A8%E8%96%A6%E4%B8%89%E7%A8%AE%E9%80%8F%E9%81%8E%E5%A4%96%E7%B6%B2%E5%AE%89%E5%85%A8%E5%AD%98%E5%8F%96-nas-%E7%9A%84%E6%96%B9%E5%BC%8F/

關於ZeroTier的詳細操作可以參考QNAP的Blog「推薦三種透過外網安全存取 NAS 的方式」。

Screenshot_20250220_170933_QuMagie_a.png

設定好ZeroTier後,即使QNAP NAS沒有公開在網際網路,我們在離開內網的時候,還是可以用ZeroTier的虛擬IP來連上QNAP NAS。這個意思是說,即使是在外面使用手機,我們依然可以用行動網路來連上QNAP,並用QuMagie備份手機的相片跟影片。


讓NAS專心做好儲存跟檢索的工作 / Let NAS Focus on Storage and Searching

2025-0220-172217.png

撇除掉作為網頁伺服器的工作後,現在這臺QNAP NAS主要的工作就是提供NFS跟Samba區域網路硬碟的服務。它不僅僅只是讓Proxmox VE外掛成為備份資料跟保存ISO檔案的儲存空間,在Proxmox VE裡面的虛擬機器也會掛載NAS來存放檔案。這次我在架設Stable Diffusion的時候就把模型檔案跟繪圖結果存放在NAS裡面,大幅度減少了虛擬機器佔用的空間,而且也可以避免虛擬機器壞掉或關機的時候無法存取檔案。

2025-0220-172701.png

在另一臺電腦執行程式、NAS只是作為儲存空間的做法還有很多種應用。我也將網路上看到的重要文章或資料,用SingleFile儲存成HTML檔案,並轉換成docx後,放到NAS上保存。

2025-0220-173001.png

這個做法可以搭配QNAP的QSirch全文檢索資料庫來查找資料,效果還不錯。

2025-0220-173211.png

https://www.qnap.com/zh-tw/software/qsirch 

QNAP後來有在QSirch加上了語意搜圖的功能,不過這功能只限於搜尋圖片,還不能用於搜尋文字上。希望未來能夠結合語意向量來實現文字上的語意搜尋啊。


小結 / In Closing

2025-0220-173605.png

https://www.qnap.com/zh-tw/product/ts-253d 

這臺QNAP NAS買到現在已經有四年了。當初為了讓它能夠跑虛擬機器,我還特別把記憶體從4GB加裝到32GB。不過現在看來,好像也沒那個必要。

現在我對NAS的期望回歸到「儲存」跟「檢索」這兩個功能上。「儲存」是NAS本來就做的很好的部分,但「檢索」則是一直讓我很不滿意。

在靜待更好的技術出來之前,我還是繼續把壞掉的硬碟換掉吧。