在當今的 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 以確保連線穩定,且以 NFS 4.1 協定來說,只能給在清單中的 IP 連線,如果不在這個可連線清單上,掛載 NFS 時,你的系統會讀取不到拿到空的。NFS 3 的話,就會簡單許多,但傳輸效率不如 NFS 4 與 NFS 4.1。
Step 2: 安裝 NFS 客戶端套件 (DGX 端)
在 DGX 終端機中,我們需要確認系統是否已安裝 NFS 相關工具:
sudo apt update
sudo apt install nfs-common

Step 3: 建立掛載點與執行掛載
我們可以先在終端機下指令,檢查你區域網路中的儲存設備伺服器或 QNAP NAS 上開啟的 NFS 服務有沒有能被連接到 :
下 showmount -e NAS 或你有開 NFS 儲存設備的 IP

上面的圖顯示這一台儲存設備有開 NFS 服務給兩個可連通的 IP ,這樣會比較安全。
接著,我們在 DGX Spark 上建立一個目錄 /mnt/nas 作為入口:
sudo mkdir -p /mnt/nas
接著,執行掛載指令將 NAS 的 /Public 資料夾對應過來:
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 的額外空間)
這意味著,原本 /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 重開機後掛載會消失。

sudo nano /etc/fstab
192.168.2.2:/Public /mnt/nas nfs defaults 0 0
讀者有來問我們,本案例則是 192.168.2.2:/Public /mnt/nas nfs defaults,vers=4.1,_netdev,nofail 0 0,你的環境可能和這一台實例不同,如果只開 NFS 3 就比較簡單按照更上面的即可。
有的人反應它的機器修改 /etc/fstab 掛載 NFS 無效,重開機後無法自動掛載,這時請改用建立 systemd mount unit 的方法來實作:
sudo nano /etc/systemd/system/mnt-nas.mount
內容貼上:
[Unit]
Description=QNAP NFS Share
After=network-online.target
Wants=network-online.target
Requires=network-online.target
[Mount]
What=192.168.2.2:/Public
Where=/mnt/nas
Type=nfs
Options=vers=4.1,_netdev,nofail
TimeoutSec=30
[Install]
WantedBy=multi-user.target
存檔之後,再下 :
sudo systemctl enable NetworkManager-wait-online.service
sudo systemctl daemon-reload
sudo systemctl enable mnt-nas.mount
sudo systemctl start mnt-nas.mount
sudo systemctl status mnt-nas.mount
sudo reboot 重開機後

df -h
檢查系統儲存容量和 NFS 磁區
systemctl status mnt-nas.mount
驗證 NFS 掛載情形
網路頻寬是關鍵
雖然 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 運算中心的企業或實驗室來說,這是很實用的操作。














