View a markdown version of this page

服務受管機群的持久性儲存 - AWS 截止日期雲端

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

服務受管機群的持久性儲存

AWS Deadline Cloud (Deadline Cloud) 持久性儲存為服務受管機群 (SMF) 工作者提供與根開機磁碟區分開的專用 Amazon Elastic Block Store (Amazon EBS) gp3 磁碟區。這些磁碟區會保留工作者生命週期事件的資料。透過持久性儲存,在例行維護或擴展操作期間更換工作者時,Conda 套件安裝、應用程式快取和資產檔案仍然可用。

持久性儲存的運作方式

當您在服務受管機群上啟用持久性儲存時,截止日期雲端會自動管理工作者的 Amazon EBS 磁碟區的生命週期:

  1. 當工作者啟動時,Deadline Cloud 會在相同的可用區域中建立或重複使用可用的 Amazon EBS 磁碟區,並將磁碟區連接至工作者。

  2. 截止日期 雲端會格式化磁碟區 (如果是新的),並將其掛載到您在機群組態中指定的路徑。

  3. 當工作者終止或替換時,截止日期雲端會分離磁碟區,並供同一機群和可用區域中的未來工作者重複使用。

由於磁碟區會在相同的機群和可用區域內重複使用,因此後續工作者會受益於先前寫入磁碟區的資料。磁碟區提供專用頻寬和 IOPS,工作者之間沒有爭用。

注意

持久性儲存僅適用於服務受管機群。對於客戶管理的機群,您可以管理自己的儲存基礎設施。

持久性儲存的優勢

持久性儲存可為服務受管機群工作負載提供下列優點:

  • 更快速的任務啟動 – Conda 套件安裝、編譯著色器和處理過的資產會在整個工作者替換過程中持續存在,消除重複的下載和安裝。

  • 專用效能 - 每個工作者都會使用專用 IOPS 和輸送量接收自己的 Amazon EBS 磁碟區,以避免共用網路儲存時發生爭用。

  • 自動管理 – Deadline Cloud 處理磁碟區建立、連接、格式化、掛載和清除,而不需要手動介入。

  • 執行期整合 – Conda 佇列環境和虛擬檔案系統 (VFS) 不可變快取等支援的執行期取用者會在可用時自動使用持久性儲存,而不需要變更任務組態。

  • 成本控制 – 設定time-to-live(TTL) 以自動清除未使用的磁碟區,並降低閒置期間的儲存成本。

何時使用持久性儲存

在下列情況下,請考慮為您的服務受管機群啟用持久性儲存:

  • 您的任務使用需要大量下載和安裝時間的 conda 套件。

  • 您的渲染工作負載會編譯著色器或程序資產,以便在後續渲染之間重複使用。

  • 您使用 Perforce 或其他版本控制系統,其中工作區同步狀態會減少後續更新的資料傳輸。

  • 您的任務使用虛擬檔案系統 (VFS),並受益於持久性不可變資產快取。

  • 您想要專用儲存效能,而不需要管理共用網路檔案系統的操作額外負荷。

  • 您可以透過主機組態指令碼在工作者上安裝自訂轉譯器或其他軟體,並希望這些安裝快取至持久性磁碟區。

設定機群的持久性儲存

您可以在建立新的服務受管機群或更新現有機群時設定持久性儲存。

設定持久性儲存 (主控台)

開始之前,您必須擁有至少具有一個服務受管機群的現有陣列,或準備好建立新的機群。

設定機群的持久性儲存
  1. 登入 AWS 管理主控台並開啟截止日期雲端主控台

  2. 在導覽窗格中,選擇陣列,然後選取您的陣列。

  3. 選擇機群索引標籤,然後選擇建立機群,或選擇現有的服務受管機群,然後選擇編輯

  4. 儲存功能下,針對儲存模式選擇持久性儲存

  5. 設定開機磁碟區的根儲存體設定 (大小、IOPS 和輸送量)。

  6. 持久性儲存下,設定下列設定:

    • 大小 – 持久性磁碟區的大小。有效範圍為 1–65,536 GiB。驗證預設大小是否適合您的轉譯工作負載,並考慮為使用較大資產或快取的工作流程增加磁碟區大小。

    • 掛載路徑 – 磁碟區掛載在工作者上的絕對路徑 (例如,/mnt/persistent適用於 Linux)。對於Windows工作者,請指定磁碟機代號,例如 D:

    • 輸送量 – 磁碟區的佈建輸送量。有效範圍為 125–2,000 MiB/s。

    • 最大閒置時間 – 可用磁碟區在刪除之前可以閒置多久。從下拉式清單中選取值 (例如 12 小時)。

    • IOPS – 磁碟區的佈建 IOPS。有效範圍為 3,000–80,000 IOPS。IOPS 的輸送量必須至少為 4 倍。

  7. 完成剩餘的機群組態步驟,然後選擇建立機群儲存變更

設定持久性儲存 (AWS CLI)

若要使用 AWS Command Line Interface (AWS CLI) 設定持久性儲存,當您呼叫 CreateFleetserviceManagedEc2FleetConfiguration時,請在 中包含 persistentVolumeConfiguration 物件UpdateFleet

persistentVolumeConfiguration 物件接受下列參數。如需有效範圍和預設值,請參閱《截止日期雲端 API 參考》中的 CreateFleet

參數 Type 必要 說明
sizeGiB Integer 持久性磁碟區的大小,以 GiB 為單位。
iops Integer gp3 磁碟區的佈建 IOPS。
throughputMiB Integer gp3 磁碟區的佈建輸送量,以 MiB/s 為單位。
mountPath String 工作者上的掛載位置。針對 Linux,指定絕對路徑 (例如 /mnt/persistent)。針對 Windows,指定磁碟機代號 (例如 D:)。
lastUsedTtlHours Integer 磁碟區上次使用之後自動清除之前的小時數。

下列 AWS CLI 範例會建立啟用持久性儲存的服務受管機群:

aws deadline create-fleet \ --farm-id farm-0123456789abcdef0 \ --display-name "Rendering Fleet" \ --max-worker-count 20 \ --configuration '{ "serviceManagedEc2FleetConfiguration": { "instanceCapabilities": { "vCpuCount": {"min": 4, "max": 16}, "memoryMiB": {"min": 16384, "max": 65536}, "osFamily": "LINUX", "rootEbsVolume": {"sizeGiB": 250} }, "instanceMarketOptions": {"type": "spot"}, "persistentVolumeConfiguration": { "sizeGiB": 2048, "iops": 16000, "throughputMiB": 500, "mountPath": "/mnt/persistent", "lastUsedTtlHours": 168 } } }'

若要將持久性儲存新增至現有機群,請在 update-fleet 呼叫中包含相同的persistentVolumeConfiguration物件。若要停用持久性儲存,請在 UpdateFleet 呼叫中省略機群組態中的persistentVolumeConfiguration物件。Deadline Cloud 會在現有磁碟區不再連接至工作者時自動清除這些磁碟區。

執行期整合

當持久性儲存成功掛載在工作者上時,Deadline Cloud 會將DEADLINE_PERSISTENT_MOUNT環境變數設定為設定的掛載路徑。此環境變數適用於在工作者上執行的所有任務程序,包括主機組態指令碼和任務範本動作。存在環境變數時,下列執行時間取用者會自動使用持久性儲存:

  • Conda 佇列環境 – 套件安裝存放在持久性磁碟區中,因此後續工作者會重複使用先前安裝的套件,而不是再次下載和安裝套件。

  • 虛擬檔案系統 (VFS) 不可變快取 – VFS 將其不可變資產快取存放在持久性磁碟區上,因此先前下載的資產可在不從 Amazon Simple Storage Service (Amazon S3) 重新下載的情況下使用。

您也可以在自己的 Open Job Description 任務範本和指令碼中參考 DEADLINE_PERSISTENT_MOUNT 環境變數,以存放應在整個工作者生命週期事件中保留的資料。下列範例顯示將輸出寫入持久性儲存體的步驟:

steps: - name: ProcessAssets script: actions: onRun: command: bash args: - "-c" - | CACHE_DIR="${DEADLINE_PERSISTENT_MOUNT}/my-app-cache" mkdir -p "$CACHE_DIR" # Your processing logic here

管理持久性磁碟區

您可以使用截止日期雲端主控台、 AWS CLI或 API 來檢視和管理機群的持久性磁碟區。可使用下列操作:

  • 列出磁碟區 – 檢視與機群相關聯的所有持久性磁碟區,包括其狀態、大小和可用區域。

  • 取得磁碟區詳細資訊 – 擷取特定磁碟區的詳細資訊,包括其目前狀態、連接狀態和組態。

  • 刪除磁碟區 – 永久刪除不再需要的未連接持久性磁碟區。您無法刪除目前連接至工作者的磁碟區。

下列 AWS CLI 範例會擷取持久性磁碟區的詳細資訊:

aws deadline get-volume \ --farm-id farm-0123456789abcdef0 \ --fleet-id fleet-0123456789abcdef0 \ --volume-id volume-0123456789abcdef0

回應中的 state 欄位指出目前的磁碟區狀態。可能值為:

  • AVAILABLE – 磁碟區已分離並準備好連接。

  • IN_USE – 磁碟區目前連接到工作者。

  • PENDING_CREATION – 正在建立磁碟區。

  • PENDING_ATTACHMENT – 磁碟區預留給連接到工作者。

  • PENDING_DELETION – 磁碟區會標記為刪除。

更新持久性儲存組態

您可以更新現有機群上的持久性儲存組態。下表說明組態變更如何影響現有的持久性磁碟區:

變更 Behavior (行為)
增加或減少 IOPS 或輸送量 截止日期 雲端會在下一個磁碟區連接之前套用變更。
增加磁碟區大小 Deadline Cloud 會在下一個連接之前擴大磁碟區,並在工作者啟動期間自動擴展檔案系統。
減少磁碟區大小 不支援。Amazon EBS 磁碟區無法縮減大小。
變更掛載路徑 僅適用於新工作者。現有的工作者會保留其目前的掛載路徑。
移除持久性儲存 Deadline Cloud 會將現有磁碟區標記為刪除,並在不再連接至工作者時將其清除。
重要

組態變更不會影響現有的工作者。變更僅適用於更新後啟動的新工作者。

加密

持久性磁碟區會使用在陣列層級設定的加密設定。如果您為陣列設定了 customer-managed AWS Key Management Service (AWS KMS) 金鑰,持久性磁碟區會使用該金鑰加密。否則,持久性磁碟區會使用服務擁有的金鑰加密。

考量事項

使用持久性儲存體時,請記住下列考量事項:

  • 持久性磁碟區是快取最佳化,而不是持久的主要儲存。持久性磁碟區僅適用於您可以重新建立的資料,例如套件安裝、編譯著色器和資產快取。截止日期 雲端可以隨時取代磁碟區,而且您無法直接存取持久性磁碟區。

  • Deadline Cloud 會將工作者的主目錄設定為使用持久性磁碟區。將資料存放在主目錄 (例如 conda 套件和應用程式快取) 的軟體會自動受益於持久性。如果您的軟體寫入主目錄之外的路徑,您必須將其重新設定為使用持久性掛載路徑,否則這些檔案不會在工作者生命週期事件中保留。

  • 持久性磁碟區不會同時連接到多個工作者。每個磁碟區一次為一個工作者提供服務,但會在生命週期事件中由不同的工作者重複使用。

  • 磁碟區的範圍是特定的機群和可用區域。在一個可用區域中建立的磁碟區無法由不同可用區域中的工作者重複使用。

  • 不保證特定工作者會收到與先前相同的磁碟區。您可以指派相同機群和可用區域中的任何可用磁碟區。

  • 如果無法佈建持久性儲存 (例如,由於配額限制),任務會失敗。在沒有持久性儲存的情況下,工作者不會回到執行狀態。

  • 您需要根據作用中磁碟區的數量及其組態支付持久性儲存的費用。若要控制閒置期間的成本,請設定 TTL 或從機群中移除持久性儲存組態。