本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
服務受管機群的持久性儲存
AWS Deadline Cloud (Deadline Cloud) 持久性儲存會將專用 Amazon Elastic Block Store (Amazon EBS) gp3 磁碟區連接至服務受管機群工作者。這些磁碟區會保留資料,例如跨工作者生命週期事件的 conda 套件安裝、應用程式快取和版本控制工作區。如需概念性概觀,請參閱AWS 《截止日期雲端使用者指南》中的服務受管機群的持久性儲存。
機群組態
若要啟用持久性儲存,當您呼叫 CreateFleet或 serviceManagedEc2FleetConfiguration時,請在 中包含 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-idfarm-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 } } }'
更新持久性儲存組態
下列 AWS CLI 範例會將持久性儲存新增至現有機群:
aws deadline update-fleet \ --farm-idfarm-0123456789abcdef0\ --fleet-idfleet-0123456789abcdef0\ --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 } } }'
若要停用持久性儲存,請在 UpdateFleet 呼叫中省略機群組態中的persistentVolumeConfiguration物件。Deadline Cloud 會在現有磁碟區不再連接至工作者時自動清除這些磁碟區。
磁碟區管理操作
您可以使用下列操作來管理持久性磁碟區:
GetVolume
擷取特定持久性磁碟區的詳細資訊。
請求
aws deadline get-volume \ --farm-idfarm-0123456789abcdef0\ --fleet-idfleet-0123456789abcdef0\ --volume-idvolume-0123456789abcdef0
回應
{ "volumeId": "volume-0123456789abcdef0", "fleetId": "fleet-0123456789abcdef0", "farmId": "farm-0123456789abcdef0", "state": "AVAILABLE", "volumeType": "gp3", "sizeGiB": 2048, "iops": 16000, "throughputMiB": 500, "availabilityZone": "us-west-2a", "attachedWorkerId": null, "createdAt": "2024-01-15T10:30:00Z", "lastAttachedAt": "2024-11-15T14:22:00Z", "ttl": "2024-11-22T14:22:00Z" }
state 欄位指出目前的磁碟區狀態。可能值為:
-
AVAILABLE– 磁碟區已分離並準備好連接。 -
IN_USE– 磁碟區目前連接到工作者。 -
PENDING_CREATION– 正在建立磁碟區。 -
PENDING_ATTACHMENT– 磁碟區預留給連接到工作者。 -
PENDING_DELETION– 磁碟區會標記為刪除。
環境變數
成功掛載持久性儲存時,Deadline Cloud 會在工作者上設定下列環境變數:
DEADLINE_PERSISTENT_MOUNT=/mnt/persistent
環境變數的值是您在機群組態中指定的掛載路徑。此環境變數適用於在工作者上執行的所有任務程序,包括主機組態指令碼和任務範本動作。
存在環境變數時,下列執行時間取用者會自動使用持久性儲存:
-
Conda 佇列環境 – 將套件安裝存放在持久性磁碟區上。
-
VFS 不可變快取 – 將資產快取存放在持久性磁碟區上。
您可以在 Open Job Description 任務範本中參考 環境變數,以將自訂資料存放在持久性磁碟區上。下列範例顯示將輸出寫入持久性儲存體的步驟:
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
組態變更行為
下表說明組態變更如何影響現有的持久性磁碟區:
| 變更 | Behavior (行為) |
|---|---|
| 增加 IOPS 或輸送量 | 截止日期 雲端會在下一個磁碟區連接之前套用變更。 |
| 減少 IOPS 或輸送量 | 截止日期 雲端會在下一個磁碟區連接之前套用變更。 |
| 增加磁碟區大小 | Deadline Cloud 會在下一個連接之前擴大磁碟區,並在工作者啟動期間自動擴展檔案系統。 |
| 減少磁碟區大小 | 不支援。Amazon EBS 磁碟區無法縮減大小。 |
| 變更掛載路徑 | 僅適用於新工作者。現有的工作者會保留其目前的掛載路徑。 |
| 移除持久性儲存 | Deadline Cloud 會將現有磁碟區標記為刪除,並在不再連接至工作者時將其清除。 |