ECS:如何對啟用了版本控制的儲存桶物件強制實施版本限制
Summary: 本知識文章說明如何更改和強制實施啟用了版本控制的存儲桶物件的版本限制。
Instructions
重要注意事項:
在進行任何變更之前,應注意以下幾點:
- 此功能適用於 ECS 3.7 或更新版本。
- 默認情況下,啟用了版本控制的存儲桶的版本限制為 50,000。
- 預設會針對在 ECS 3.7 或更高版本上安裝的新 ECS 啟用版本限制強制執行。
- 對於升級至 3.7 或更高版本的 ECS 系統,不會強制執行版本限制 (預設為停用)。除非客戶選擇手動啟用。
- 不建議將版本限制增加到 50,000 以上,我們僅建議將此限制降低到建議的 10K,這通常應在正常的應用要求範圍內。
- 過多的版本控制可能會導致 blobsvc 記憶體過高,並可能導致對生產產生重大影響的事件。因此,我們不建議將限制提高到 50,000 以上。
如有疑問,並需要任何協助或問題解答,請向 ECS 客戶服務開立案例。
1.如何變更啟用版本控制的容器的版本限制:
-----------------------------------------------------------------------------------------
| 儆 |
在尚未執行限制時減少限制是無害的。 在已強制執行限制時減小限制的風險會影響應用更新已接近限制的物件。因此,最好僅在未強制執行限制時才降低限制。 每當任何物件處於活動狀態,且分別達到警告或錯誤層級的 50% 和 80% 時,系統就會在 UI 中發出警示。 |
變更以下參數以變更限制:
com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold
驗證參數值(預設值為 50,000):
admin@ecsnode1:~> svc_param info -n com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold svc_param v1.2.4 (svc_tools v2.17.0) Started 2024-05-26 09:22:03 Param: com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold Description Maximum number of versions for an object Default value (active) 50000 Configured Value < Never modified > Modification reason None Last modified None
將參數限制更改為 10,000,例如:
admin@ecsnode1:~> svc_param set -n com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold -v 10000 -r "Changing the versions limit for versioning enabled buckets" svc_param v1.2.4 (svc_tools v2.17.0) Started 2024-05-26 09:35:13 Param value changed. Param: com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold Description Maximum number of versions for an object Default value 50000 Configured Value (active) 10000 Modification reason Changing the versions limit for versioning enabled buckets Last modified 2024-05-26 09:35:13 UTC (1716716113626)
以上僅更改通知限制,如果必須阻止寫入訪問,則必須遵循步驟2。
2.如何在達到限制後封鎖寫入存取:
------------------------------------------------------------------------------
將參數變更為 true 以強制實施版本控制限制,當存取 ECS 的用戶端嘗試為已達到閾值的物件建立更多版本時,會收到 403 錯誤。
| 儆 |
強制實施限制會阻止用戶端創建更多版本,僅針對已違反設置限制的物件。 這些用戶端會遇到 403 錯誤,直到其版本被刪除並傳回低於設定的限制。 應在更改發生之前通知客戶,以便他們確保更改不會影響他們。 應諮詢 ECS UI,以取得最近突破限制的任何物件的警示。 |
| 建議 |
如果您已在步驟 1 中降低限制。最好等待幾天,並監視UI上是否有任何超過版本限制的物件警報高峰。 在強制實施限制之前,請與這些物件的擁有者聯繫。建議擁有者必須減少受影響物件的版本計數,以避免在啟用強制執行時出現 403 錯誤。 |
com.emc.ecs.blobsvc.object.version.limit.enabled
驗證參數值:
admin@ecsnode1:~> svc_param info com.emc.ecs.blobsvc.object.version.limit.enabled svc_param v1.2.4 (svc_tools v2.17.0) Started 2024-05-26 09:26:07 Param: com.emc.ecs.blobsvc.object.version.limit.enabled Description Enable or disable max object version count enforcement Default value true Configured Value (active) false Modification reason CMF Changes for 3.7.0.4 Last modified 2023-07-13 07:53:12 UTC (1689234792375)
根據目前設定的限制,將參數變更為封鎖對物件的存取:
admin@ecsnode1:~> svc_param set -n com.emc.ecs.blobsvc.object.version.limit.enabled -v true -r "Enforce limit" svc_param v1.2.3 (svc_tools v2.16.0) Started 2024-05-26 09:04:43 Param value changed. Param: com.emc.ecs.blobsvc.object.version.limit.enabled Description Enable or disable max object version count enforcement Default value true Configured Value (active) true Modification reason Block access to objects Last modified 2024-05-26 09:04:44 UTC (1716714284396)