為了弄 Docker 跑一些程式,發現不管在哪一牌的 NAS 上使用都頗受限,S 牌貴又難用、硬體效能最差、算是買軟體送硬體,A 牌 CP 值高但主系統很老,Q 牌網路設定上要克服的問題很多,這兩間都算買硬體送軟體,最後決定把自己手上用幾年的 NAS 全都賣了,採購相關設備,自組一台來用比較好,並決定以 Windows 系統為主要作業系統來架設。
會用 Windows 的最主要原因:因為 Windows 11 太好用了、太好用了、太好用了… 這個我要說三遍。就這樣。
系統面
- 在主流的桌面作業系統當中, macOS 完全不用考慮,沒有可用性,除非你是個蘋果人或蘋果家庭,否則完全不建議使用 mac mini 之類的主機當你的 NAS server;安裝 Linux 則真的是太囉嗦了,選擇發行套件就是一個問題,使用上也不親和,每次搞架站都很容易搞出滿肚子火,生命有閒再選它。
至於FreeBSD 那是什麼?能吃嗎? - 專攻 NAS 領域的免費作業系統中,不論 FreeNAS 、 Truenas 或 Openmediavault 這類系統就又掉回到同樣的 Linux 侷限性內,搞擴展功能會搞到一團火。
- 虛擬化系統中, Proxmox (PVE)同樣是 Linux 上的問題,熱門的 Unraid 與 ESXi 都是要收費的,且這些系統本身不是針對 NAS 設計,都需要在上面架設其他的系統進行服務才會有較好的效能(像是多網口橋接,放在 PVE VM 裡的 openwrt 都跑得比 PVE 自行橋接的速度快且穩,因為 PVE 設計上就不是為了橋接與傳輸而來的),因為要資源分配給不同 VM ,硬體效能在需要時無法獲得完整發揮,純浪費。
- 地下系統… 黑群暉有很多硬體相容性的問題,除非整套硬體是抄作業、照別人開的清單照買才會相對簡單,且什麼時候更新掛掉也不知道,到時候哭爹喊娘也沒用,且真的不要認為 S 牌的 App 好用, Docker 設定也很麻煩。
再來就是應用方面,近幾年非常流行跑 Docker ,我一開始也很沉迷,因為不管是在 Intel 或 ARM 架構上,或是在 Debian 或 Ubuntu 不同 Distro 上,跑 Docker 的方式都一樣,在處理應用程式的佈署時很方便,但用到現在的心得是:也就部署很方便這點!沒了!在服務環境中一旦跑起來很多 Docker 時,很多效能與記憶體都無形中浪費了,硬體運算的優勢要轉遞到 Docker 內去使用都有ㄧ些麻煩,跑在虛擬環境內最常提問的問題一直都是如何做 passthrough 直通,那不如找個系統能支援更多的硬體並且能直接架設好更多服務,達到最有效的使用。
最後考量是效能控管,架在家中的 NAS 總希望能需要時高效、高運作,超越一般 NAS ,但閒置時要低溫、低耗能、節能減碳,用 Linux 會遇到超多效能控管、軟硬體相容性與設定上的問題,像是找不到合適的 CPU 節能軟體、找不到相應的風扇控制程式、或是抓不到對應的感測晶片、溫效監控也不方便,但 Windows 直接支援 CPU 步進式節能,控制 PWM 風扇的方案與溫度監控軟體也很多,甚至主機板送的程式就很好用。
如果說 Linux 系統本身很高效,那設定與試誤的過程(折騰的過程)就拖累了整個 NAS 生命的效能、系統已經在閒置中度過不少光陰,自己或家庭使用真的沒必要累死自己,各類需求的功能也都找得到 Windows 作業系統上的解決方案,所以自組或家庭使用的 NAS 系統採用 Windows 完全沒有問題。一旦決定好系統,軟體面就很好處理了。
軟體面
- 檔案伺服:
- SAMBA(SMB) //網路芳鄰,不用懷疑,不管用什麼系統做 NAS 幾乎都要開這個服務,主系統用 Windows 開分享的相容性最高、設定難度最低,不會有 macOS 或 Linux 上一些奇奇怪怪的問題。
- NFS server:也很簡單,安裝一個 VM ,先掛載 Windows 的 SMB 資料夾、再透過 NFS 分享出去就解決了,這個 VM 的設定值可以壓到很低,選哪個 linux server 都可以。
- 檔案同步\照片同步:
- Nextcloud:架設簡單,用
Docker 或AMP 架設(推薦)皆可,家庭低於10人使用的話用 SQLite 覺得足夠 - Google Drive:直接安裝軟體就可使用
- Dropbox:直接安裝軟體就可使用
- iCloud:直接安裝軟體就可使用
- Nextcloud:架設簡單,用
- 多媒體管理:
- 相片管理:Windows 11 內建相片管理 //不得不說太好用啦~ 直接可以彙整不同資料夾的相片,把 iCloud、Nextcloud 、Google Drive、Dropbox 內的相片資料夾直接加入就好,現也支援觀看 RAW 檔,擴充只要上微軟市集安裝就行,真的是太方便了。
- 音樂管理:
Windows Media Player、Windows Groove Music
- 多媒體伺服:
- 正片: Plex Server 直接安裝獨立版本軟體就可以使用,轉檔解碼直接取用硬體效能,不用再管直通
- 謎片: Jellyfin Server 直接安裝獨立版本軟體就可以使用,轉檔解碼直接取用硬體效能,不用再管直通,另外架這個來管理謎片,就不用擔心家裏區網看片時會尷尬囉,同樣可以獲得各片的資訊、縮圖、介紹、演員與相關資料,超方便的。
- 下載軟體:
- Aria2:搭配 AriaNG 做前端與 Chrome 的延伸工具,遠端就可指揮下載。
- qBittorent:取代以往常用的 uTorrent,開放原始碼軟體總是好些。
- 虛擬系統:真的無法擺脫 Linux 上的應用才考慮架設 VM
- WSL: Windows 11 強化了 WSL2 對 Docker 的支援,要在 WSL 內直接跑 Docker 沒有問題,有人提效能可能較差,看評測與其他系統相比總是個位數的差距而已,自用的大多時候根本跑不滿,更感受不到差距,擔心這個真的很多餘了,比較麻煩的是 WSL 層的 Docker 要取得外部 IP 對外服務比較麻煩,真有需要可跑在 VM 內會比較方便,但如果是單純給 NAS 用,能找到 Windows 上直接安裝的軟體方案會更好(例如 qbittorrent 這類),會少掉很多網路埠的映射、效能配給、相容性的問題。
- Hyper-V:使用 Windows 內建 VM 管理,要另外安裝 VMWARE 或 VBOX 也行,但直接用內建的效能最好,有需要也可以很方便的開 passthrough 直通,如果是單純的主客體之間虛擬網路連線,全都是跑 10Gb 網速﹐即使是主客之間互相掛載儲存磁碟路徑,讀寫速度只有一點耗損,幾乎等同在本機上跑的速度,使用上會先考慮架設底下兩個 VM:
- OpenWRT:做這個系統對外連線專用的路由,如果硬體本身具有多網路口,則可以直接配給 OpenWRT 控管,效能會比 Windows 橋接好,在 OpenWRT 上面可以搞很多外掛,也可以進行網路撥號,Host 只要透過虛擬交換器的內網將閘道指向這個 OpenWRT 即可,因為 OpenWRT 針對路由設計、極其簡化,設定雙核心+512MB 已經綽綽有餘;
- OpenMediaVault (OMV):安裝一個輕巧的 NAS 作業系統,主要提供 Windows 上較難提供的服務,例如 NFS server / Rsync server 等,因為 OMV 的基底為 Debian ,則可以在這 VM 上架設 Docker 與 另一套 AMP server (跟 Host 上的 Web Server 分開、讓這邊對外服務、避免攻擊到 Host 上頭),輕量的使用狀態可以直接都架在前面的 OpenWRT 上即可。
- 10Gb 內網讀寫掛載:首先使用 Hyper-V 虛擬交換器管理員建立一個內網用的交換器,在 Openwrt 、OMV 的 VM 設定上新增此虛擬交換器,並與 Windows 都對此虛擬交換器配置好連線設定(建議手動配置 IP),這裡的連線會全都是 10Gb 內網速度:
- 如要透過 OpenWRT 上網,Windows 與 OMV 於此交換器的網卡設定閘道指向 OpenWRT 即可。
- OMV 或 OpenWRT 直接把 Windows 上的 SMB 資料夾用掛載方式掛進系統後,可以對外進行服務(例如作為 NFS server 對外的分享夾),透過虛擬網路傳輸到 Host 讀寫因為是透過記憶體內的虛擬交換器在傳輸,用起來像是本機存取一樣,損耗的是 CPU 的運算(也很少),讀寫速度幾乎察覺不到下降;更大的好處是實際檔案存取的位置是進到 Host 的 Windows 系統下,管理也是在 Host 的 Windows 內,檔案總管內拖拖拉拉就可以複製搬移與備份這些檔案,也不怕有什麼檔案看不到、權限有問題、要下指令之類的了。
- 遠端連線管理:
- 內網使用:Windows 自帶遠端桌面 //Wifi 6 或有線環境下操作跟本機操作幾乎沒兩樣。
- 外網使用:唯一推薦 Chrome Remote Desktop //使用品牌 NAS 同樣是要用瀏覽器登入管理,乾脆瀏覽器直接進 Windows 桌面更快、更容易。
- 其他軟體
- SrtEditor:修正字幕檔案與轉碼
- ReNamer:檔案大量更名使用超方便
- DropIt:整理檔案神器!在 NAS 上都找不到這麼好用的整理工具!
- Movie Data Capture:特殊影片整理工具,懂的就懂
- Calibre:電子書整理工具
- Handbrake :影片轉檔工具,有影片轉檔或壓製的需要,就讓這台 NAS 去轉檔即可,因為直接受益於 Windows ,可以直接取用 Intel QSV 或 nVidia 的 NVENC,告別 Linux 上痛苦的設定方式。
硬體面
- 處理器: INTEL i3 10105 //要跑虛擬化的話賽揚太弱、i5 太貴,正要過季的 i3 是便宜大腕又省電的選擇
- 記憶體:DDR4 3200 32GB(16GBx2) //要開幾個 4GB VM夠了
- 主機板:華碩 TUF B560M-PLUS //MATX+ 6 SATA + 2 M2 + 2.5Gb Lan +出清特價啊
- 電源:銀欣 550W 半模組 80+ 福利品
- 機殼:銀欣 PS09 出清品 3.5″x4 5.25″x2
- 然後配這個 2.5″ 抽取盒裝在光碟槽(之前買的,快六年多的好東西)
- 網路:
- INTEL PRO 1000 2 ports 網卡 // 直接把這兩個網路孔交給 OpenWRT 管理,NAS 兼當路由主機
- 儲存:除了 M2 是新購的,其他是之前 NAS 上回收的
- SSD 2.5″256GBx2 //全裝抽取位置跑 RAID1 當下載與 VM 交換檔案暫存用
- HDD 4TBx2 + 9TBx1 //各類文件+檔案+照片+音樂+影片
- M2 1TBx1 //分兩區:主系統+VM
硬碟不算的話,總價格約在 9000-9500 元之間。
參考資料