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。
阿拉伯数字。达到限制后如何阻止写入访问:
------------------------------------------------------------------------------
将参数更改为 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)