在 Azure Batch 中,每個工作都有一個工作目錄,其可建立檔案和目錄。 此工作目錄可用於儲存工作所執行的程式、其處理的數據,以及其執行的處理輸出。 工作的所有檔案和目錄都是由工作用戶所擁有。
Batch 服務會將節點上的文件系統部分公開為 根目錄。 此根目錄位於 VM 的暫存記憶體磁碟驅動器上,而不是直接位於 OS 磁碟驅動器上。
工作可以藉由參考 AZ_BATCH_NODE_ROOT_DIR 環境變數來存取根目錄。 如需使用環境變數的詳細資訊,請參閱 工作的環境設定。
根目錄結構
根目錄包含下列目錄結構:
應用程式:包含計算節點上所安裝之應用程式套件詳細數據的相關信息。 工作可以藉由參考
AZ_BATCH_APP_PACKAGE環境變數來存取此目錄。fsmounts:目錄包含任何掛接在計算節點上的文件系統。 工作可以藉由參考
AZ_BATCH_NODE_MOUNTS_DIR環境變數來存取此目錄。 如需詳細資訊,請參閱在 Batch 集區上掛接虛擬文件系統。共用:此目錄提供節點上 執行之所有 工作的讀取/寫入存取權。 節點上執行的任何工作都可以在此目錄中建立、讀取、更新和刪除檔案。 工作可以藉由參考
AZ_BATCH_NODE_SHARED_DIR環境變數來存取此目錄。startup:啟動工作會使用此目錄作為其工作目錄。 所有由啟動工作下載到節點的檔案都儲存在這裡。 開始工作可以建立、讀取、更新和刪除此目錄下的檔案。 工作可以藉由參考
AZ_BATCH_NODE_STARTUP_DIR環境變數來存取此目錄。volatile:此目錄適用於內部用途。 不保證此目錄中的任何檔案或目錄本身未來都會存在。
workitems:此目錄包含作業及其工作在計算節點上的目錄。
在 workitems 目錄中,會針對節點上執行的每個工作 建立 Tasks 目錄 。 參考環境變數即可存取
AZ_BATCH_TASK_DIR此目錄。在每個 Tasks 目錄中,Batch 服務會建立工作目錄 (
wd),其唯一路徑是由AZ_BATCH_TASK_WORKING_DIR環境變數指定。 此目錄提供任務的讀寫權限。 工作可以建立、讀取、更新和刪除此目錄下的檔案。 此目錄會根據為工作指定的 RetentionTime 條件約束來保留。stdout.txt和stderr.txt檔案會在任務執行期間保存到 Tasks 資料夾。
這很重要
從集區中移除節點時,會移除儲存在節點上的所有檔案。
Batch 根目錄位置
計算節點環境變數的值 AZ_BATCH_NODE_ROOT_DIR 將取決於 VM 大小和本機暫存磁碟是否存在。
| 本機有暫時性磁碟存在 | 作業系統類型 |
AZ_BATCH_NODE_ROOT_DIR 值 |
|---|---|---|
| 否 | Linux | /opt/batch/data |
| 是的 | Linux |
/mnt/batch 或 /mnt/resource/batch |
| 否 | 窗戶 | C:\batch\data |
| 是的 | 窗戶 | D:\batch |
這些環境變數值是實作詳細數據,不應視為不可變。 由於這些值隨時可能會變更,因此建議使用環境變數,而不是硬式編碼值。
後續步驟
- 瞭解 Azure Batch 中的 錯誤處理和偵測 。