在 Linux 掛載阿里雲——NetDrive 實驗性版本
使用 NetDrive 的實驗性 Linux 版本,將阿里雲 OSS 儲存桶掛載為 Ubuntu 掛載點。涵蓋 RAM 金鑰、端點設定與驗證步驟。
在 Ubuntu 主機上執行的資料管線需要讀取存放於阿里雲 OSS 儲存桶中的模型檢查點,但團隊的工具鏈預期的是一般的檔案系統路徑,而不是寫進每支腳本的 SDK 呼叫。若先把整個儲存桶下載下來,一旦檢查點體積達到數百 GB,這個做法就失去意義。NetDrive 的 Linux 版本會把該 OSS 儲存桶掛載到一般的 Ubuntu 掛載點上,讓訓練腳本的 open() 呼叫直接存取該物件,效果與在 Windows 或 macOS 上掛載儲存桶相同。

在 Linux 上掛載阿里雲 OSS
NetDrive 讓 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 與 macOS 上顯示為原生磁碟機 — 不需同步,也不需完整下載。
- OSS 儲存桶顯示為一般的 Ubuntu 掛載點
- 檔案依需求串流——無需同步用戶端,也不必先下載整個儲存桶
- 可與 S3、Wasabi、騰訊雲及其他 20 多個服務商並行運作
免費試用。提供終身與訂閱方案。
為何掛載點比 SDK 更適合這個場景
阿里雲自家的工具——ossutil CLI 或 OSS SDK——在腳本本來就是為了呼叫它而撰寫時運作良好。但當使用端是你無法控制的東西時,這種方式就顯得不合適:例如預期 torch.load() 開啟本機路徑的訓練工作、對整個目錄的日誌匯出檔案執行 grep,或是一套永遠不會被改寫成呼叫物件儲存 API 的舊工具。NetDrive 透過掛載點來解析這些對儲存桶的讀取請求,因此任何以路徑開啟檔案的程式都不需修改即可運作。
自 3.17.799 版(2022 年 11 月)起,NetDrive 就已支援阿里雲,同一版本也加入了騰訊雲支援。目前建議的版本是 3.19.7,這在 Linux 版本上與其他平台一樣適用。

在 Ubuntu 上安裝 NetDrive
NetDrive for Linux 是透過 GitHub 發布,而不是走 Ubuntu 的套件庫:
- 前往 github.com/NetDrive/installer,下載符合你 Ubuntu 版本的發行版。
- 依照該儲存庫的發行說明,安裝 NetDrive 掛載前所需的驅動元件。
- 安裝 NetDrive 套件本身。
- 啟動 NetDrive。首次執行會載入驅動元件,可能會提示輸入
sudo。
最低支援版本為 Ubuntu 16.04。由於更新是透過 GitHub 發行版而非 apt upgrade,請在任何涵蓋這台主機的維運手冊中特別記下這一點。Linux 版本和 NetDrive 比較頁面上標示的其他平台一樣,都掛著實驗性標籤——Windows 與 macOS 得到的測試量最大,因此 Linux 上的 OSS 掛載比較適合開發用機、訓練節點或 CI 執行器,而不是你自己尚未測試過就直接投入的無人值守生產工作。
連線前需要準備的項目
- AccessKey ID 與 AccessKey Secret——在阿里雲主控台中建立一個限定 OSS 權限的 RAM 使用者,再於該使用者底下產生一組金鑰,而不是使用帳號的根金鑰。
- OSS 端點——該儲存桶所在區域對應的端點,例如
oss-cn-hangzhou.aliyuncs.com或oss-us-west-1.aliyuncs.com,可在儲存桶的 Overview 頁面上查看。 - 儲存桶名稱——要掛載的儲存桶確切名稱。
逐步操作:在 Ubuntu 上連線阿里雲
- 開啟 NetDrive 的 Drive Manager,並點選 + Add Drive。
- 從連線類型清單中選擇 Alibaba Cloud。
- 輸入 AccessKey ID 與 Secret、OSS 端點,以及儲存桶名稱。
- 設定掛載點——例如像
/mnt/oss-checkpoints這樣的路徑,或任何你有寫入權限的空目錄。 - 點選 Connect。 NetDrive 會完成驗證,並將儲存桶掛載到該路徑。
在依賴掛載之前先驗證
不要只信任圖形介面,改從終端機確認掛載是否真的成功:
# Confirm the mount is listed
mount | grep oss
# Or just try listing it
ls /mnt/oss-checkpoints

如果一開始列出的內容是空的,先耐心等一下——物件數量龐大的儲存桶,填入根目錄內容可能需要幾秒鐘。如果之後仍然是空的,請先檢查 AccessKey 金鑰對與端點是否正確;區域端點設錯,是 OSS 連線第一次驗證失敗最常見的原因。
對於寫入頻繁的工作——例如執行完後要把一批處理過的輸出物件推回儲存桶——NetDrive 會在背景將傳輸排入佇列,而不會阻塞觸發該動作的程序。

在 Linux 版本上需要留意的事項
- 獨立的發布節奏——Linux 驅動元件有自己的發布排程,因此 Windows 或 macOS 上的修正不會自動在同一週內送達 Linux。
- 沒有
apt整合——安裝與更新都透過 GitHub 發行版進行,而不是 Ubuntu 預設的套件管理員。 - Windows 與 macOS 才是經過強化的目標平台——NetDrive 官方指引將這兩者視為可用於生產環境,Linux 則標示為實驗性。在把無人值守的生產工作交給 Linux 上的 OSS 掛載之前,請務必先在自己的硬體上充分測試。
結語
在 Ubuntu 上掛載阿里雲 OSS,讓 Linux 主機獲得與 NetDrive 在 Windows、macOS 上相同的磁碟機式存取方式,只是安裝程式放在 GitHub 而不是 apt 上。若想在測試更充分的平台上使用同一服務商,可參考 Mount Alibaba Cloud on Windows with NetDrive 或 Mount Alibaba Cloud on macOS with NetDrive。若想了解更完整的 Linux 概況,可參考 NetDrive on Ubuntu Linux。
— Alex, NetDrive