Cloud Storage FUSE 指令列介面 (CLI) 或 gcsfuse CLI 可讓您將 Cloud Storage bucket 掛接為本機電腦上的檔案系統。本文說明可用來與 Cloud Storage FUSE 互動的 gcsfuse 指令選項。
如果您使用 Cloud Storage FUSE CSI 驅動程式,將 bucket 掛接至 Google Kubernetes Engine 中的本機檔案系統,請參閱「Cloud Storage FUSE CSI 驅動程式的掛接選項」。
gcsfuse CLI 指令結構
以下範例顯示 gcsfuse 指令的結構,包括必要指令和選用的 gcsfuse 選項。
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
更改下列內容:
GLOBAL_OPTIONS是gcsfuse選項,可控制掛接設定和 Cloud Storage FUSE 行為。BUCKET_NAME是要掛接的值區名稱。例如,my-mount-bucket。選用。請勿在這個指令中加入 bucket 名稱,以便執行動態掛接。MOUNT_POINT是要掛接 bucket 的本機目錄。例如:/path/to/mount/point。
gcsfuse CLI 選項
gcsfuse選項 |
說明 | 有效值 | 預設值 |
|---|---|---|---|
|
停用要求驗證。如果您使用的自訂端點不支援驗證,請設定這個選項。如果您搭配公開 bucket 使用 Cloud Storage FUSE,也應設定這個選項。 | 布林值:true、false。 |
false |
|
掛接點的應用程式名稱。 | 字串值,例如:my-bucket-mount。 |
"" |
|
指定存取掛接 bucket 時,要用於計費的專案。如要掛接已啟用要求者付費功能的值區,通常需要這個選項。 | 代表專案 ID 的字串值。 | "" |
|
啟用檔案快取,並指定儲存檔案快取資料的目錄。 |
路徑,例如:/tmp/gcsfuse-cache-path。如果值為空白,表示這個選項已停用。系統預設會停用這個 gcsfuse 選項。 |
"" |
|
指定與 Cloud Storage 後端通訊時使用的通訊協定。 |
|
http1 |
|
以指定間隔將指標匯出至 Cloud Monitoring。 |
代表值的整數 (以秒為單位),例如:10 (10 秒)。0 指定不匯出。 |
0 |
|
指定設定檔的路徑,用於設定 Cloud Storage FUSE 行為。 | 路徑,例如:/etc/gcsfuse.yaml。 |
"" |
|
指定擷取資料的替代自訂端點。
自訂端點必須支援與 Cloud Storage gRPC 端點 storage.googleapis.com:443 或 Cloud Storage JSON 端點 https://storage.googleapis.com/storage/v1 相同的資源和作業。如未指定自訂端點,Cloud Storage FUSE 會使用全域 Cloud Storage JSON 端點。如果您指定的自訂端點不支援驗證,請將 --anonymous-access gcsfuse 選項設為 true,略過驗證。 |
端點,例如:storage.googleapis.com:443。 |
"" |
|
啟用 FUSE 相關偵錯輸出。這個選項已由 --log-severity gcsfuse 選項取代。如要啟用偵錯輸出,請將 --log-severity gcsfuse 選項設為 trace,其中包含追蹤、偵錯、資訊、警告和錯誤記錄。 |
布林值:true、false。 |
false |
|
列印 Cloud Storage 要求和時間資訊。這個 gcsfuse 選項已由 --log-severity gcsfuse 選項取代。如要啟用偵錯輸出,請將 --log-severity gcsfuse 選項設為 trace,其中包含追蹤、偵錯、資訊、警告和錯誤記錄。 |
布林值:true、false。 |
false |
|
偵測到內部不變量違規時,結束程式。 | 布林值:true、false。 |
false |
|
在 mutex 保留時間過長時,列印偵錯訊息。如果指定這個 gcsfuse 選項,記錄的嚴重性等級會自動設為 trace,包括追蹤、偵錯、資訊、警告和錯誤記錄。 |
布林值:true、false。 |
false |
|
目錄的權限位元,以八進位表示。 | 字串值,代表介於 "000" 和 "777" (含) 之間的八進位整數,例如:"755"。 |
755 |
|
指定將 Cloud Storage 物件的部分內容非同步預先擷取至記憶體內緩衝區,以便後續讀取作業從緩衝區提供,而不需網路呼叫。 | 布林值:true、false |
false |
|
如果 Cloud Storage 中找不到檔案,則建立類型為 NonexistentType 的類型快取項目。如果檔案是在 Cloud Storage 中建立,但檔案的 NonexistentType 項目已快取,則 Cloud Storage FUSE 無法要求該檔案,直到 NonexistentType 項目從類型快取中移除為止。 |
布林值:true、false。 |
false |
|
控制寫入路徑流程,讓資料在寫入時直接上傳至 Cloud Storage,而不是在本機完整暫存寫入,並在 close() 或 fsync() 時上傳。如要進一步瞭解串流寫入,請參閱 Cloud Storage FUSE GitHub 說明文件中的 Cloud Storage FUSE 語意。 |
布林值:true、false。 |
true |
|
指定檔案快取可使用的 MiB 大小上限,並限制檔案快取在掛接目錄中可使用的總容量。 |
|
-1 |
|
決定是否要在從非零偏移量完成第一次讀取時,以非同步方式下載完整物件,並儲存在 Cloud Storage FUSE 快取目錄中。如果您打算執行多項隨機讀取或部分讀取作業,請將這個 gcsfuse 選項設為 true。 |
布林值:true、false。 |
false |
|
指定每個 goroutine 將物件下載至檔案快取時,向 Cloud Storage 發出的每個讀取要求大小 (以 MiB 為單位)。 | 整數 | 200 |
|
將檔案快取目錄做為預先擷取緩衝區,並使用多個 worker 同時下載檔案的多個部分,加快大型檔案的讀取速度。 啟用檔案快取功能時,系統會自動啟用平行下載功能。 如要進一步瞭解檔案快取,請參閱「Cloud Storage FUSE 中的檔案快取」。 如要進一步瞭解平行下載,以及如何設定支援屬性,請參閱「平行下載」。 |
布林值:true、false。 |
true |
|
規則運算式,指定要從快取中排除的檔案。
如果檔案符合這個規則運算式,即使也符合 --file-cache-include-regex,也不會快取。規則運算式會與 bucket_name/object_key 格式的檔案路徑進行比對。詳情請參閱「使用規則運算式控制檔案層級的可快取性」。 |
代表規則運算式的字串值。 | "" |
|
指定要納入快取的規則運算式。如果使用這個選項,系統只會快取符合這個規則運算式的檔案。規則運算式會與 bucket_name/object_key 格式的檔案路徑進行比對。詳情請參閱「使用規則運算式控制檔案層級的可快取性」。 |
代表規則運算式的字串值。 | "" |
|
在所有檔案下載工作中,任何時間可產生的 goroutine 數量上限。 |
|
機器 CPU 核心數量的兩倍或 16,以較高者為準。 |
|
每個檔案的並行下載要求數量。 | 整數 | 16 |
|
以八進位制指定檔案的權限位元。 | 字串值,代表介於 "000" 和 "777" (含) 之間的八進位整數,例如:"644"。 |
644 |
|
在前景執行 gcsfuse 指令。 |
布林值:true、false。 |
false |
|
指定所有 inode 的群組 ID (GID) 擁有者。 |
|
-1 |
|
顯示 Cloud Storage FUSE 的說明。 | 無 | 無 |
|
顯示已安裝的 Cloud Storage FUSE 版本。 | 無 | 無 |
|
指定 Cloud Storage FUSE HTTP 用戶端在逾時前,可等待伺服器回應的時間。 | 時間長度,例如:1h10m10s 代表 1 小時 10 分 10 秒。0s 表示沒有逾時。 |
0s |
|
指示 Cloud Storage FUSE 忽略系統中斷信號,例如 Control+C 觸發的 SIGINT。這可防止信號終止執行中的作業。 |
布林值:true、false。 |
true |
|
隱含包含資料夾和代管資料夾。詳情請參閱 Cloud Storage FUSE GitHub 說明文件中的「檔案和目錄」。 | 布林值:true、false。 |
false |
|
啟用清單快取,並定義快取清單項目的存留時間 (TTL),以秒為單位。清單快取會保留在頁面快取的記憶體中,由核心根據可用記憶體控制。 |
|
0 |
|
指定憑證 JSON 金鑰檔案的絕對路徑,用於驗證傳送至 Cloud Storage 的要求。根據預設,Cloud Storage FUSE 會使用應用程式預設憑證驗證要求。 | 路徑,例如:/home/example_user/gcloud-key.json。 |
如未設定這個選項,系統會使用應用程式預設憑證。 |
|
指定 Cloud Storage FUSE 從 Cloud Storage 讀取資料的頻寬限制,以 30 秒為單位測量。 | 浮點數。-1 表示不設限。 |
-1 |
|
指定每秒執行的作業數量上限,以 30 秒為單位計算。 | 浮點數。-1 表示不設限。 |
-1 |
|
指定用於儲存記錄的檔案,這些記錄可由 Fluentd 剖析。 | 路徑,例如:/tmp/user-example-bucket-gcsfuse-logs.txt。 |
Cloud Storage FUSE 在前景執行時為 stdout,在背景執行時則為 syslog |
|
指定記錄檔的格式。 |
|
json |
|
要保留的輪替記錄檔數量上限,不含寫入記錄檔的有效檔案。 |
|
10 |
|
指定是否使用 gzip 壓縮輪替的記錄檔。 |
布林值:true、false。 |
true |
|
記錄檔在輪替前可達到的最大大小 (以 MB 為單位)。 | 整數。最小值為 1。 |
512 |
|
Cloud Storage FUSE 產生記錄的嚴重性等級。嚴重性等級由低到高排序。例如,指定 |
|
info |
|
指定每部伺服器允許的 TCP 連線數量上限。
--client-protocol 設為 http1 時,這項設定就會生效。 |
介於 0 和 2147483647 之間的整數。0 指定 TCP 連線數量沒有限制。 |
0 |
|
指定每個伺服器允許的閒置連線數量上限。
--client-protocol 設為 http1 時,這項設定就會生效。 |
介於 0 和 2147483647 之間的整數。0 指定閒置連線數量沒有限制。 |
0 |
|
指定作業失敗時的重試次數上限,避免無限重試迴圈。 |
|
0 |
|
指定 Cloud Storage FUSE 在指數輪詢重試迴圈中,可休眠的最長時間。一旦輪詢持續時間超過指定的時間長度上限,重試作業就會繼續執行,直到達到指定的時間長度上限。 | 時間長度,例如:1h5m50s (1 小時 5 分 50 秒) 或 60s (60 秒)。 |
30s |
|
定義負面統計資料快取項目的存留時間 (TTL,以秒為單位),用於儲存快取中不存在檔案的結果。 |
|
5 |
|
定義快取中繼資料項目的存留時間 (TTL),以秒為單位。 |
|
60 |
|
指定其他系統專屬掛接選項。Cloud Storage FUSE 支援 FUSE 中的大多數一般掛接選項 (例如 suid),且可與 -o 選項一併傳遞。 |
FUSE 中的掛接選項,例如:
|
"" |
|
只掛接 bucket 中的特定目錄。 | 路徑,例如:/etc/gcsfuse.yaml。 |
"" |
|
套用預先定義且經過最佳化的 Cloud Storage FUSE 設定,包括快取、執行緒和緩衝區空間,協助您針對特定工作負載類型 (例如訓練、提供和檢查點) 達到高效能。如要進一步瞭解各個預先定義的設定 (依工作負載類型區分),請參閱「AI/機器學習工作負載的設定檔設定」。 |
|
"" |
|
在指定的通訊埠和 |
代表要指定通訊埠的整數。 | 0 |
|
指定所有檔案處理中,緩衝讀取可用的區塊數量上限。 |
|
40 |
|
允許重新命名子系數量少於指定限制的目錄。 | 介於 0 和 2147483647 之間的整數。 |
0 |
|
指定連續重試之間指數輪詢的乘數。 | 浮點數。 | 2 |
|
指定是否重複使用從 --token-url 取得的權杖。 |
布林值:true、false。 |
true |
|
指定要從 Cloud Storage 下載的資料區塊大小,以 MB 為單位。 | 介於 1 和 1024 之間的整數。 |
200 |
|
指定統計資料快取可保留的項目數量。這個 gcsfuse 選項已由 --stat-cache-max-size-mb gcsfuse 選項取代。 |
整數 | 4096 |
|
統計資料快取可使用的記憶體大小上限 (以 MiB 為單位)。狀態快取一律會完整保留在記憶體中。 |
|
34 |
|
指定 StatObject 結果和 inode 屬性的快取時間長度。這個選項已由 --metadata-cache-ttl-secs gcsfuse 選項取代。 |
時間長度,例如:20s (20 秒)。 |
60s |
|
指定暫存目錄的路徑,寫入作業會先暫存在該目錄,再上傳至 Cloud Storage。 | 路徑,例如:/mnt/ssd/example-user-gcsfuse-temp-dir。 |
|
|
指定在缺少 --key-file 時,用於取得存取權杖的網址。 |
網址。 | "" |
|
指定名稱與目錄 inode 中檔案或目錄之間的對應關係快取時間長度,以秒為單位。這個 gcsfuse 選項已由 --metadata-cache-ttl-secs gcsfuse 選項取代。 |
時間長度 (秒),例如:20s (20 秒)。 |
60s |
|
類型快取可使用的每個目錄大小上限 (以 MiB 為單位)。類型快取一律會完整保留在記憶體中。 |
|
4 |
|
啟用這項功能後,如果快取失敗,系統會在背景預先擷取目錄中物件的中繼資料。這個旗標會批次更新中繼資料快取,大幅縮短後續查詢目錄中檔案的延遲時間。 | 布林值:true、false。 |
false |
|
指定每個目錄預先擷取的中繼資料項目數量上限。如果指定的值超過 5,000 個中繼資料項目,系統會連續多次呼叫 Cloud Storage Objects: list,因為每次呼叫最多只能傳回 5,000 個結果。 |
介於 -1 和 2147483647 之間的整數。設為 -1 即可預先擷取所有項目。 |
5000 |
|
在所有目錄中,可同時執行中繼資料預先擷取作業的背景 worker 數量上限。 | 介於 -1 和 2147483647 之間的整數。如不限制 worker 數量,請設為 -1。 |
10 |
|
指定所有 inode 的使用者 ID (UID) 擁有者。 |
|
-1 |
|
指定所有檔案中可用於串流寫入的資料區塊數量上限。根據預設,每個檔案會使用一個 32 MiB 的資料區塊。 |
|
|