创建存储分段生命周期管理规则
从ONTAP 9.13.1开始、您可以创建生命周期管理规则来管理S3存储分段中的对象生命周期。您可以为存储分段中的特定对象定义删除规则、并通过这些规则使这些存储分段对象失效。这样、您就可以满足保留要求并高效管理整体S3对象存储。
如果为存储分段对象启用了对象锁定、则不会对锁定的对象应用对象到期的生命周期管理规则。有关对象锁定的信息、请参见 "创建存储分段"。 |
-
包含 S3 服务器和存储分段且已启用 S3 的 SVM 必须已存在。请参见 "为 S3 创建 SVM" 有关详细信息 …
-
请注意、MetroCluster配置不支持存储分段生命周期管理规则。
创建生命周期管理规则时、可以将以下删除操作应用于存储分段对象:
-
删除当前版本-此操作将使规则标识的对象过期。如果在此存储分段上启用了版本控制、则S3会使所有过期对象不可用。如果未启用版本控制、则此规则将永久删除对象。CLI操作为
Expiration
。 -
删除非当前版本-此操作指定S3何时可以永久删除非当前对象。CLI操作为
NoncurrentVersionExpiration
。 -
删除已过期的删除标记-此操作将删除已过期的对象删除标记。 在启用了版本控制的分段中、带有删除标记的对象将成为这些对象的当前版本。不会删除这些对象、也无法对其执行任何操作。如果没有与这些对象关联的当前版本、则这些对象将过期。CLI操作为
Expiration
。 -
删除未完成的多部分上传-此操作设置允许多部分上传保持进行中的最长时间(天)。之后、它们将被删除。CLI操作为
AbortIncompleteMultipartUpload
。
您遵循的操作步骤取决于您使用的接口。对于ONTAP 9.13、1、您需要使用命令行界面。从ONTAP 9.14.1开始、您还可以使用System Manager。
使用命令行界面管理生命周期管理规则
从ONTAP 9.13.1开始、您可以使用ONTAP命令行界面创建生命周期管理规则、使S3存储分段中的对象过期。
对于命令行界面、您需要在创建存储分段生命周期管理规则时为每种到期操作类型定义所需的字段。这些字段可在初始创建后进行修改。下表显示了每种操作类型的唯一字段。
操作类型 |
唯一字段 |
非当前版本到期 |
|
到期日期 |
|
AbortIncompleteMultipartUpload |
|
为了使存储分段生命周期管理规则仅应用于特定的对象子集、管理员必须在创建规则时设置每个筛选器。如果在创建规则时未设置这些筛选器、则该规则将应用于存储分段中的所有对象。
在首次创建后、可以修改以下项的所有筛选器、但_除外_:+
-
-prefix
-
-tags
-
-obj-size-greater-than
-
-obj-size-less-than
-
使用
vserver object-store-server bucket lifecycle-management-rule create
命令、其中包含您的到期操作类型所需的字段、用于创建存储分段生命周期管理规则。
以下命令将创建NonCurrentVersion Expiration分段生命周期管理规则:
vserver object-store-server bucket lifecycle-management-rule create -vserver <svm_name> -bucket <bucket_name> -rule-id <rule_name> -action NonCurrentVersionExpiration -index <lifecycle_rule_index_integer> -is-enabled {true|false} -prefix <object_name> -tags <text> -obj-size-greater-than {<integer>[KB|MB|GB|TB|PB]} -obj-size-less-than {<integer>[KB|MB|GB|TB|PB]} -new-non-curr-versions <integer> -non-curr-days <integer>
以下命令将创建到期分段生命周期管理规则:
vserver object-store-server bucket lifecycle-management-rule create -vserver <svm_name> -bucket <bucket_name> -rule-id <rule_name> -action Expiration -index <lifecycle_rule_index_integer> -is-enabled {true|false} -prefix <object_name> -tags <text> -obj-size-greater-than {<integer>[KB|MB|GB|TB|PB]} -obj-size-less-than {<integer>[KB|MB|GB|TB|PB]} -obj-age-days <integer> -obj-exp-date <"MM/DD/YYYY HH:MM:SS"> -expired-obj-del-marker {true|false}
以下命令将创建AbortIncompleteMultipartUpload分段生命周期管理规则:
vserver object-store-server bucket lifecycle-management-rule create -vserver <svm_name> -bucket <bucket_name> -rule-id <rule_name> -action AbortIncompleteMultipartUpload -index <lifecycle_rule_index_integer> -is-enabled {true|false} -prefix <object_name> -tags <text> -obj-size-greater-than {<integer>[KB|MB|GB|TB|PB]} -obj-size-less-than {<integer>[KB|MB|GB|TB|PB]} -after-initiation-days <integer>
使用System Manager管理生命周期管理规则
从ONTAP 9.14.1开始、您可以使用System Manager使S3对象过期。您可以为S3对象添加、编辑和删除生命周期管理规则。此外、您还可以导入为一个存储分段创建的生命周期规则、并将其用于另一个存储分段中的对象。您可以禁用活动规则、并在稍后启用它。
添加生命周期管理规则
-
单击*存储>存储分段*。
-
选择要指定到期规则的存储分段。
-
单击 图标并选择*管理生命周期规则*。
-
单击*添加>生命周期规则*。
-
在添加生命周期规则页面上、添加规则的名称。
-
定义规则的范围,是要将其应用于存储分段中的所有对象还是特定对象。如果要指定对象、请至少添加以下筛选条件之一:
-
前缀:指定规则应应用到的对象密钥名称的前缀。通常、它是对象的路径或文件夹。您可以为每个规则输入一个前缀。除非提供有效的前缀、否则规则适用场景存储分段中的所有对象。
-
标记:为规则应应用到的对象最多指定三个键和值对(标记)。只能使用有效的密钥进行筛选。该值是可选的。但是、如果要添加值、请确保仅为相应的密钥添加有效值。
-
大小:可以限制对象大小的最小值和最大值之间的范围。您可以输入其中一个值、也可以同时输入这两个值。默认单位为Mib。
-
-
指定操作:
-
使对象的当前版本过期:设置一条规则,使所有当前对象在自创建之日起的特定天数后或特定日期永久不可用。如果选择了*删除过期对象删除标记*选项,则此选项不可用。
-
永久删除非当前版本:指定版本在多少天后变为非当前版本、之后可以删除的天数以及要保留的版本数。
-
删除过期对象删除标记:选择此操作可删除具有过期删除标记的对象,即删除没有关联当前对象的标记。
如果选择了*使当前对象版本过期*选项,则此选项将不可用,此选项会在保留期限过后自动删除所有对象。当使用对象标记进行筛选时、此选项也将不可用。 -
删除不完整的多部分上传:设置删除不完整的多部分上传之前的天数。如果正在进行的多部分上传在指定保留期限内失败、您可以删除未完成的多部分上传。使用对象标记进行筛选时、此选项将不可用。
-
单击 * 保存 * 。
-
导入生命周期规则
-
单击*存储>存储分段*。
-
选择要导入到期规则的存储分段。
-
单击 图标并选择*管理生命周期规则*。
-
单击*添加>导入规则*。
-
选择要从中导入规则的存储分段。此时将显示为选定存储分段定义的生命周期管理规则。
-
选择要导入的规则。您可以选择一次选择一个规则、第一个规则为默认选择。
-
单击 * 导入 * 。
编辑、删除或禁用规则
您只能编辑与规则关联的生命周期管理操作。如果使用对象标记筛选规则,则*删除过期对象删除标记*和*删除未完成的多部分上传*选项不可用。
删除规则后、该规则将不再应用于先前关联的对象。
-
单击*存储>存储分段*。
-
选择要编辑、删除或禁用生命周期管理规则的存储分段。
-
单击 图标并选择*管理生命周期规则*。
-
选择所需规则。您可以一次编辑和禁用一个规则。您可以一次删除多个规则。
-
选择*编辑*、删除*或*禁用,然后完成操作步骤。