自組 NAS 踩坑 & 紀錄 part 1


緣起

其實我一直以來都想要組 NAS 很久了,但一直都沒有一個十分必要的理由 確實按照我的日常使用應該是不需要 NAS 的,沒有大量資料需要儲存,只有一天一次需要用 macOS 內建的備份系統 Time Machine 做備份 一直以來覺得賭爛的點只有要一直插插拔拔,有時候急著要出門會忘記退出硬碟,即便還沒有因此壞軌過,不過就是怕有一天會出事 而且如果備份到一半還要先等備份停止然後再退出,雖然一來一回時間也就三五分鐘,但每天都要插插拔拔總是有點阿雜,所以到後來我蠻常一週甚至一兩個月才備份一次,在這中間的檔案版本紀錄當然也沒有保存

本來就覺得 Time Machine 這東西用起來沒有那麼順手,直到年初買了台 M4 Mac mini 並試著把外接硬碟掛載上去,用 File Sharing 的方式備份 MBP 本來只是抱著試試的想法用看看,即便第一次備份花超久的時間,但後續每天回家插上電連上網路,跑個十幾二十分鐘就好了,比起之前發懶一兩個月才備份一次、跑一次要一兩小時比起來好太多了

後來發現是 Intel CPU & 正在用的 router 在雷,等我換 M4 MBP 之後每次備份都是飛快;同時也把只能跑 100Mbps 的 router 換成 1Gbps switch 而且也把一些遊戲下載檔案之類的東西從備份列表中去掉,備份檔案大幅度縮小後速度更快了

於是在我決定把手邊的 Mac 都清掉換 MBP 之後,又開始想念之前的方便性了,正所謂由儉入奢易由奢入儉難

選機器

Raspberry Pi 5/Rock Pi 5 + Penta SATA Hat

後來大概估算一下,以上功能通通丟在一個 SBC 上面跑有點勉強,後來被大學社團認識的大佬 Toby Chui 推坑跑去買了台二手 NEC M720Q 來當我的第一台 homelab 機器了

NEC M720Q

後來考慮到價格,選了 i5-8500 + 16GB Ram 的配置,SSD 則是直接拿之前給 M4 mini 外接的 1TB PCIe 4x4 M.2 SSD 來用 雖然以大小和讀寫速度來說都大材小用,不過手邊剩下兩顆 SSD 都是 SATA 介面,這台小主機裡面只有一個 SATA 位,目前是這個位置拿來接備份用的 HDD,也只能先這樣子了

我把 D-sub 輸出跟 Wi-Fi 卡拆掉,反正我現在也沒 D-sub 螢幕,平常也都是用有線網路,剛好可以多一點通風空間 另外有在考慮到時後把原本給 Wi-Fi 用的 PCIe a/e 轉接成 M.2,上面插一張 512GB 的 SSD,再從 1TB 的 SSD 上切 512GB 出來,用 ZFS 將這兩個位置做成 RAID 0 或 RAID 1 拿來存資料

M720Q 的主機板上還有一個 16 通道的 PCIe,理論上可以插一張顯卡、 10Gbps 網卡、Thunderbolt 卡、RAID 卡之類的,也能插 RAID 卡,不過看起來會把我放 2.5” HDD 的空間吃掉,同時這些設備都有億點貴,目前都還在研究階段

系統安裝

通常來說,server 都應該是裝 FreeBSD 或 Debian/Ubuntu 的 但我就喜歡 ArchLinux 的自主性,只要裝一些自己會用到的 package 就好了 而且如果有一些不支援的 ArchLinux 的套件需要安裝,基本上都能找到裝上去的文章教學

⋯⋯雖然是這樣說,但我後來還是發懶直接用內建安裝腳本了,選 server 的 list 安裝,還算蠻快的,從設定到安裝完大概只有 10 分鐘 而且這次讓我有點意外,安裝完的畫面有提醒我有網頁版的 terminal 能用,我就不用直接 ssh 進去了 雖然我要做事應該還是會直接 ssh 進去,不過除了 terminal 以外還能監看現在的系統狀況,像是當前 CPU/Ram 使用量,還算方便

後來發現是在額外的套件列表中我有勾選一個套件叫 cockpit 才多了這個功能

考慮到如果不小心滾 ArchLinux 把系統滾爛了,我打算把系統部分每週都做一次備份,真的爛掉了就拿備份蓋回去,或是直接重裝系統,反正用腳本裝很懶人,幾乎可以當作無腦安裝了

⋯⋯但我在 server 跑起來的幾天後又裝成 Ubuntu 了,而且還是一波多折

首先我在裝 GitLab 的時候遇到問題,GitLab 原生並不支援 ArchLinux,於是我想到可以用 Docker 跑 試了幾個版本的 docker-compose.yml,其中一個有成功跑起來,但我的連線設定有問題沒辦法用 ssh remote 改完設定重新跑 docker-compose up 之後,我的服務再也無法成功啟動了(不然就是啟動後無法使用 後來想說 fk it 大不了用 Gitea + Drone 頂著用,不過我還在研究的同時發現 OpenMediaVault 這個開源 NAS 系統,想說應該或許可能可以裝載我的 server 上,而不是單純用 smb 連線 想當然設計給 Debian 的軟體不能正常運行在 ArchLinux 上,於是我想說不然改裝基於 Debian 的 Ubuntu 好了 經過幾次安裝失敗後(可能我燒 bootable USB 的時候哪邊出了問題,後來重燒一隻一次成功),終於能安裝 OMV 了⋯⋯然後就失敗了 後來爬文才知道雖然 Ubuntu 是基於 Debian 開發的,但說到底已經是獨立的分支,兩者並不完全相容

所以沒錯!我又跑去裝了 Debian 13,摸索了一陣子把套件都設定完之後——又發現 OMV 還沒支援今年八月才釋出的 Debian 13 因此我又跑去裝了 Debian 12⋯⋯最後發現 Debian 超難用所以又裝回 Ubuntu 24.04⋯⋯

⋯⋯然後又因為 SSD 出錯,所以改裝 Debian 13 debug,發現有一樣的問題,所以又改用其他硬體轉接,不過這些都是後話了,應該會寫在下一篇文章裡面