在 Linux 掛載騰訊雲 COS — NetDrive 實驗性 Ubuntu 版本
使用 NetDrive 實驗性 Linux 版本,在原生 Ubuntu 掛載點掛載騰訊雲 COS 儲存桶。含 SecretId 設定、端點與驗證步驟。
某短影音平台的轉碼流程運行在一批 Ubuntu 工作節點上,這些節點需要直接讀取騰訊雲物件儲存(COS)中的原始上傳檔案——不需要在每個工作腳本裡都接上 SDK,只要一個 ffmpeg 工作可以開啟的路徑即可。當佇列每天要處理數千支影片時,每次工作前先把來源檔案複製下來會浪費磁碟空間與時間。NetDrive 的 Linux 版本可以把一個 COS 儲存桶掛載到一般的 Ubuntu 掛載點上,讓工作節點的檔案讀取能直接抵達儲存桶,這與 NetDrive 在 Windows 和 macOS 上以磁碟機代號提供給使用者的體驗相同。

在 Linux 掛載騰訊雲 COS
NetDrive 讓 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 與 macOS 上顯示為原生磁碟機 — 不需同步,也不需完整下載。
- COS 儲存桶會顯示為一般的 Ubuntu 掛載點
- 檔案依需求串流——工作開始前無需下載整個儲存桶
- 可與 S3、阿里雲及其他 20 多個服務供應商在同一台機器上並行運作
免費試用。提供終身與訂閱方案。
NetDrive Linux 版本上的騰訊雲
NetDrive 在 3.17.799 版(2022 年 11 月)中加入了騰訊雲支援,同一版本也加入了阿里雲支援。在 Windows 和 macOS 上,這項支援被視為正式版等級;而在 Linux 上,它帶有實驗性標籤,這個標籤是 NetDrive 套用在整個 Linux 版本上的,而非針對特定服務供應商。目前所有桌面平台上的 NetDrive 最新版本是 3.19.7。
NetDrive for Linux 並非透過 apt 或發行版的套件管理器發布——而是以 GitHub 版本發佈的形式提供,位於 github.com/NetDrive/installer,最低支援版本為 Ubuntu 16.04。
在 Ubuntu 上安裝 NetDrive
- 前往 github.com/NetDrive/installer,下載符合你 Ubuntu 版本的發行版。
- 依照附帶的版本說明安裝 NetDrive 掛載前所需的驅動程式元件——過程中可能會要求輸入
sudo。 - 安裝 NetDrive 套件。
- 從終端機或桌面環境的應用程式選單啟動 NetDrive。
Linux 版本有自己獨立的發布排程,與 Windows 和 macOS 的更新分開。本週為某平台修復的問題,不保證會在同一週內到達 Linux 版本——如果無人值守的工作節點依賴 NetDrive 的特定行為,這點值得留意。
準備騰訊雲 COS 憑證
在開啟 NetDrive 之前,先從騰訊雲控制台收集以下資訊:
- SecretId 與 SecretKey — 來自 CAM → API Keys(
console.cloud.tencent.com/cam/capi)。 - 儲存桶名稱 — 顯示為
<BucketName>-<AppId>,例如raw-uploads-1250000001。 - 地區與端點 — 例如
ap-guangzhou,對應的端點為cos.ap-guangzhou.myqcloud.com。
逐步操作:在 Ubuntu 上連接騰訊雲
- 開啟 NetDrive 的 Drive Manager,然後點選 + Add Drive。
- 從連線類型清單中選擇 Tencent Cloud。
- 輸入 SecretId 和 SecretKey、端點(
cos.<region>.myqcloud.com),以及包含 AppId 後綴的完整儲存桶名稱。 - 設定掛載點 — 例如
/mnt/cos-uploads這樣的路徑,或你的使用者帳號可寫入的任何空目錄。 - 點選 Connect。NetDrive 會對騰訊雲 COS 進行驗證,並將儲存桶掛載到該路徑。

在依賴掛載結果前先驗證
不要只靠檔案管理器判斷,尤其在實驗性版本上,最好從終端機確認掛載狀態:
# Confirm the mount is listed
mount | grep cos
# Or just try listing it
ls /mnt/cos-uploads

點選 Connect 後掛載點仍是空的 — 檢查該目錄是否存在,並確認運行 NetDrive 的使用者對其具有寫入權限。在 Linux 上,無法寫入或不存在的掛載點是靜默失敗最常見的原因。
首次嘗試驗證失敗 — 再次確認儲存桶名稱是否包含 AppId 後綴(應為 raw-uploads-1250000001,而非僅 raw-uploads),並確認端點所指的地區與控制台中儲存桶的實際地區一致。即使 SecretId 和 SecretKey 正確,地區端點不匹配仍是連線遭拒最常見的原因。
物件數量龐大的儲存桶第一次列出時較慢 — Linux 版本以與 Windows、macOS 相同的方式串流目錄清單,因此擁有數萬個物件的儲存桶在第一次瀏覽時需要一些時間才能完成載入。
寫入密集型工作的背景上傳
對於每次工作後都要把處理完的輸出寫回儲存桶的轉碼流程,NetDrive 會把這些寫入操作排入背景佇列,而不會阻塞觸發它們的處理程序:

這對於需要在交出輸出檔案後立即接著處理佇列中下一個項目的工作腳本來說相當重要,無須等待上傳完成才能繼續。
在 Linux 版本上需要留意的事項
- 獨立的發布節奏 — Linux 驅動程式有自己的發布排程,獨立於 Windows 和 macOS 之外。
- 沒有套件管理器整合 — 安裝與更新都透過 GitHub 版本發佈進行,而非
apt。 - Windows 與 macOS 仍是經過充分驗證的目標平台 — 鑑於實驗性標籤,若要在 Linux 上運行無人值守的正式生產工作節點群,應先在自己的硬體上充分測試。
結語
在 Ubuntu 上掛載騰訊雲 COS,讓 Linux 工作節點群能獲得與 NetDrive 在 Windows 和 macOS 上相同的磁碟機式存取體驗,只是安裝方式改為透過 GitHub 發佈而非 apt。若想了解同一服務供應商在測試更充分的平台上的表現,請參閱 在 Windows 上使用 NetDrive 掛載騰訊雲;若想了解更廣泛的 Linux 概況,請參閱 NetDrive on Ubuntu Linux;若想了解同一 Linux 版本上另一個地區性服務供應商,請參閱 在 Linux 上使用 NetDrive 掛載阿里雲。
— Robin, NetDrive