在當今的 AI 與深度學習領域,算力(Compute)與資料(Data)是兩大核心支柱。NVIDIA DGX Spark 系統雖然提供了強悍的運算能力,但在面對動輒數十 GB 到數百 GB的大型語言模型(LLM)權重檔或電腦視覺資料集(Dataset)時,本機的 NVMe 空間往往顯得捉襟見肘。
CyberQ 示範如何透過 NFS (Network File System) 協定,將 QNAP NAS 的大量儲存空間掛載至 NVIDIA DGX Spark 運算伺服器上,實現「運算與儲存分離」的架構。
1、為什麼選擇 NFS?
對於 Linux 環境下的 AI 叢集而言,NFS 是最標準且成熟的檔案共享協定。
相容性高: 原生支援所有 Linux 發行版(包括 DGX 使用的 Ubuntu/DGX OS)。
操作透明: 掛載後,對應用程式(如 PyTorch, TensorFlow)而言,讀取 NAS 檔案就像讀取本機硬碟一樣。
擴充容易: 當資料集變大時,只需擴充 NAS 硬碟,無需將 DGX 主機關閉後裝 SSD 上去。
2、實作環境檢視
CyberQ 配置的環境如下:
運算主機 (Client): NVIDIA DGX Spark (cyberq-dgx-spark)
OS: Ubuntu (DGX OS)
IP: 內部管理網段
儲存伺服器 (Server): QNAP NAS
IP: 192.168.2.2
共享路徑: /Public
提供容量: 約 11TB 可用空間
3、 實作步驟
Step 1: 準備工作 (NAS 端)

首先,確保 QNAP NAS 已開啟 NFS 服務,並將資料夾權限設定為允許 DGX 的 IP 存取。這一步驟至關重要,建議設定固定 IP 以確保連線穩定。
Step 2: 安裝 NFS 客戶端套件 (DGX 端)
在 DGX 終端機中,我們需要確認已安裝 NFS 相關工具:
sudo apt update
sudo apt install nfs-common
Step 3: 建立掛載點與執行掛載
我們在 DGX 上建立一個目錄 /mnt/nas 作為入口:
Bash
sudo mkdir -p /mnt/nas
接著,執行掛載指令將 NAS 的 /Public 資料夾對應過來:
Bash
sudo mount -t nfs 192.168.2.2:/Public /mnt/nas
Step 4: 驗證掛載結果
這是最關鍵的一步。透過 df -h 指令,我們可以檢查掛載是否成功。

從我們截取的終端機畫面中可以看到最後一行:
Filesystem: 192.168.2.2:/Public (成功指向 QNAP NAS)
Size: 11T (瞬間獲得了 11TB 的額外空間)
Mounted on: /mnt/nas
這意味著,原本 /dev/nvme0n1p2 僅剩的 664GB 空間壓力瞬間釋放,我們可以將 ImageNet 資料集或 Llama-3 的 Checkpoints 直接存放在 /mnt/nas 中進行訓練調用。
4、圖形化介面確認 (GUI Check)
對於習慣使用桌面環境進行檔案管理的管理者,Ubuntu 的 GNOME 介面也能完美呈現網路位置。

在檔案總管的「網路」區塊中,我們可以看到 DGX Spark 連線看得到的三台儲存設備範例:
CyberQ-TS-120
CyberQ-TS-855X (高性能 NAS)
DS
透過 GUI 確認掛載點,可以更直觀地進行拖拉檔案的操作,特別是在整理訓練數據或下載大型模型權重時非常方便。
5、效能最佳化建議
雖然掛載成功了,但還有幾點建議:
開機自動掛載: 務必編輯 /etc/fstab 檔案,將 NFS 設定寫入,否則 DGX 重開機後掛載會消失。
192.168.2.2:/Public /mnt/nas nfs defaults 0 0
網路頻寬是關鍵: 雖然 NFS 很方便,但速度受限於網路。建議 DGX 與 NAS 之間至少使用 10GbE 甚至 25GbE 連線,視情況也可以開啟 Jumbo Frame (MTU 9000),以減少封包碎片化,提升大檔傳輸效率。
資料分層策略:
Hot Data (訓練中): 複製到 DGX 本機 NVMe SSD 以獲得最高 IOPS。
Cold Data (封存/原始檔): 存放在 QNAP NAS (NFS) 透過網路存取。
CyberQ 建議,透過簡單的 NFS 掛載,我們成功讓 NVIDIA DGX Spark 與 QNAP NAS 協同工作。這不僅解決了本機儲存空間不足的焦慮,更建立了一個可彈性擴充的 AI 資料基礎設施。對於任何想搭建地端 AI 運算中心的企業或實驗室來說,這是很實用的操作。









