什么是保留锁定?
保留锁定是在 Data Domain Restorer (DDR) 上使用的一项功能,可防止在预定的时间段内修改或删除某些文件集。也就是说,保留锁定的文件在保留期到期之前是只读的。
保留锁定的不同版本是什么?
保留锁定可用于两种不同的功能:
保留锁定支持哪些数据访问协议?
保留锁合规性模式符合法规标准:
保留锁定合规性模式满足的法规标准列表包括:
有关认证信息的完整详细信息,请联系您的签约支持提供商。
如何启用保留锁定治理?
# mtree retention-lock enable mode governance mtree [mtree]
如何启用保留锁定合规性?
(ADMIN USER) # user add [username] role security
(SECURITY USER): # authorization policy set security-officer enabled
(ADMIN USER) # system retention-lock compliance configure
(ADMIN USER) # system retention-lock compliance enable
(ADMIN USER) # mtree retention-lock enable mode compliance mtree [mtree]
如何确定哪些 MTree 已启用保留锁定?
启用了保留锁定的 MTree 在 mtree list
例如:
sysadmin@ddxxxx# mtree list Name Pre-Comp (GiB) Status Tenant-Unit --------------------------------- -------------- ------- ----------- ... /data/col1/rich-retention-lock 0.0 RW/RLGE - /data/col1/rl_test 0.0 RW/RLGD - /data/col1/rl_test_comp 0.0 RW/RLCE - /data/col1/test 3.1 RW/RLGE - ... --------------------------------- -------------- ------- ----------- ... RLGE : Retention-Lock Governance Enabled RLGD : Retention-Lock Governance Disabled RLCE : Retention-Lock Compliance Enabled
是否可以将启用了保留锁定治理的 MTree 转换为保留锁定合规性?
如《DDOS 管理指南》中所述,这是不可能的。
是否可以将启用了保留锁定合规性的 MTree 转换为保留锁定治理?
如《DDOS 管理指南》中所述,这是不可能的。
如何设置文件保留期或锁定期?
针对 MTree 启用保留锁定后,必须设置最短和最长保留期。这些保留期规定了 MTree 中的文件可以锁定的最短和最长时间。例如:
# mtree retention-lock set min-retention-period [period] mtree [mtree]
# mtree retention-lock set max-retention-period [period] mtree [mtree]
可以按如下所示使用各种单位提供保留期:
如何显示现有保留期?
这可以使用以下两个命令来完成:
# mtree retention-lock show min-retention-period mtree [mtree] # mtree retention-lock show max-retention-period mtree [mtree]
例如:
sysadmin@dd630# mtree retention-lock show min-retention-period mtree /data/col1/rl_test
Retention-lock min-retention-period of mtree /data/col1/rl_test is: 720 minutes.
sysadmin@dd630# mtree retention-lock show max-retention-period mtree /data/col1/rl_test
Retention-lock max-retention-period of mtree /data/col1/rl_test is: 30 days.
启用了保留锁定的 MTree 中的文件是如何锁定的?
可以使用“touch”命令从 NFS 或 CIFS 客户端更改文件的 atime:
# touch -a -t [expiry time] [file to be locked]
例如,要将 /data/col1/rl_test/testfile 的 atime 设置为 07:05 on 8 June:
# touch -a -t 06080705 /data/col1/rl_test/testfile
从当前时间到未来 atime 的时间段必须在 MTree 的最短和最长保留期范围内。否则,在修改文件 atime 时会生成错误:
# touch -a -t 08080705 /data/col1/rl_test/testfile
touch: setting times of `/data/col1/rl_test/testfile': Permission denied
Data Domain 文件系统 (DDFS) 日志文件中还会显示相应的消息:
06/07 13:44:57.197 (tid 0x2b28ee5258c0): Attempt to set atime of /data/col1/rl_test/testfile to larger than maximum retention period of mtree.
默认情况下,CIFS (Windows) 客户端不包含 touch 命令或实用程序,但可从各种第三方网站免费下载多个此类实用程序。
哪些备份应用程序支持在将文件写入 DDR 后自动保留锁定文件?
Data Domain Retention Lock 与基于 NAS 的行业标准一次写入多次读取 (WORM) 协议兼容。Symantec Enterprise Vault、SourceOne、Cloud Tiering Appliance 或 DiskXtender 等归档应用程序符合集成要求。
对于 Dell NetWorker,支持治理和合规性模式。
从 2024 年 6 月起,作为 Avamar“不可变备份”功能的一部分,最近的 Avamar 版本支持 Data Domain Retention Lock 合规性和治理。有关详细信息,请参阅以下文章和 Avamar 文档:
Avamar 和 Data Domain:启用 Avamar 不可变备份和 Data Domain 合规性模式 Retention Lock
严格遵循启用 Avamar“不可变备份”功能的步骤至关重要。否则,最终可能会在 DD 中生成无法进一步写入的 Avamar MTree,或者出现操作问题而不得不进行长时间恢复。Avamar 不能使用 DD 自动保留锁定 (ARL),因此不得为 DD 上的任何 Avamar MTree 启用 ARL。
使用不原生支持 Data Domain Retention Lock 的其他备份应用程序的客户也可以开发自定义脚本,以使用 Data Domain Retention Lock 手动设置文件的保留期限。在这种情况下,请确保自定义脚本设置文件的 atime,以便在备份应用程序尝试删除文件之前将其解锁。否则,可能会导致备份应用程序尝试删除锁定的文件(失败);文件将无限期地保留在 DDR 上,占用磁盘空间。请参阅 Data Domain 管理指南。
自动保留锁定
对于本机不支持 Data Domain retention lock 功能的备份应用程序,客户使用该功能一直是一个问题。备份管理员必须配置脚本,才能为 MTree 新接收的文件设置保留锁定。该锁定必须设置,以便在备份到期(和被备份管理员删除)之前不久过期。
在启用该功能后,ARL 会对写入 MTree 的每个文件设置锁定,防止在配置的冷却期过后的给定时间段内更改或删除文件。这意味着,对于随着时间的推移必须重复更新某些文件的工作负载或备份应用程序,例如 VTL 池(VTL 磁带文件会被重复写入),或者对于将元数据信息与客户备份文件本身一起保存的备份应用程序(例如 NetWorker 或 Avamar),不得启用 ARL。在这些情况下启用 ARL 会在一段时间内锁定重要文件,当以后必须写入这些文件进行其他备份时,写入会失败,随后的任何备份也会失败。
为了帮助备份管理员减轻保留锁定子备份文件的负担,并使 DDOS 与其他供应商保持功能奇偶校验,从 DDOS 6.2.0.20 开始,推出了一项功能,可以从 CLI 中为配置了 Retention Lock 的每个 MTree 启用,以便自文件写入磁盘完成后,经过一些预先确定的时间,对接收的每个文件设置锁定(在给定的时间段内)。这样,管理员就不必再担心手动(或脚本化)设置保留锁定,而无需备份应用程序的配合,这种情况会自动发生。
在 DDOS 7.8 之前,无法在 DD Boost 逻辑存储单元 (LSU) 上使用自动保留锁定,尝试启用它将返回一个错误,指出该功能不受支持。
从 7.8 开始,DD Boost LSU 支持 ARL。
(在托管文件复制 (MFR) 的目标 DD 上使用的 ARL [如 NW 克隆] 应具有足够长的“automatic-lock-delay”,以确保在文件上设置锁定之前,备份集的克隆操作已完成。示例:属于备份集的小文件会快速完成复制,而较大的文件需要较长时间,然后在较大的文件完成复制时第一个文件被保留锁定,当 NW 尝试将备份集的所有文件移动到最终归档目录时会遇到错误。)
Data Domain VTL 不支持自动保留锁定。
在适用的版本上,在 mtree retention-lock
CLI,如下所示。也可以通过 UI 配置此功能,方法是在“Use”选项中选择“Automatic”而不是“Manual”:
# mtree retention-lock set
{min-retention-period | max-retention-period |
automatic-retention-period | automatic-lock-delay} <period>
mtree <mtree-path>
自动保留锁定功能会在预配置的冷却期到期后立即锁定文件 (automatic-lock-delay)。将文件写入启用了保留锁定的 MTree 后,如果值在为 MTree 设置的“min-retention-period”与“max-retention-period”值之间,锁定从设置时开始对于 "automatic-retention-period” 有效,锁定发生。
有关该功能的更多使用和一般详细信息,请参阅相应的 DDOS 管理指南。此功能不太适合以下情况:将同一 MTree 用作应具有不同时段的锁定设置的备份以及不应开头设置锁定的备份的目标。
可以或不能对锁定的文件执行哪些操作?
是否可以完全删除文件或文件集的保留锁定?
可以使用治理模式对 MTree 中的文件“恢复”(删除)保留锁定 — 这可通过以下命令完成:
# mtree retention-lock revert [path]
删除文件的保留锁定后,可以正常修改或删除它。如果对某个目录运行此命令,则该目录和所有子目录中的所有文件均删除其保留锁定。
无法使用合规性模式恢复 MTree 中文件的保留锁定 — 如果尝试这样做,则会显示相应的错误:
# mtree retention-lock revert /data/col1/rl_test_comp/testfile
This operation is not allowed. Mtree is in retention-lock compliance mode.
如果尝试修改或删除保留锁定文件,会发生什么情况?
任何修改或删除保留锁定文件的尝试都会导致相应的 permission denied
错误:
# echo " test2" >> /data/col1/rl_test/testfile
bash: testfile: Permission denied
# rm testfile
rm: remove write-protected regular file `testfile'? y
rm: cannot remove `testfile': Permission denied
DDFS 日志指示操作由于文件被保留锁定而失败:
06/07 07:06:59.756 (tid 0x2b5a77605d50): Atime of retention-lock file /data/col1/rl_test/testfile is not expired.
06/07 07:07:42.504 (tid 0x2b5a79111390): Atime of retention-lock file /data/col1/rl_test/testfile is not expired.
是否可以列出所有已保留锁定的文件?
是,可以使用 mtree retention-lock report generate retention-details
命令:
mtree retention-lock report generate retention-details
mtrees {<mtree-list> | all}
[format {text | tsv | csv}]
[output-file <file-name>]
Report detailed information of
retention-lock files.
例如,要列出所有锁定文件的详细信息,请 /data/col1/rl_test MTree
将执行以下操作:
sysadmin@ddxxxx# mtree retention-lock report generate retention-details mtrees /data/col1/jftest
Report generated on: Fri Jul 1 14:19:31 2016
Report for mtree: /data/col1/jftest
File Path Mode Size(Bytes) Expiration Date
/data/col1/jftest/file1 governance 10521456 Sat Jul 2 22:35:48 2016
/data/col1/jftest/testdir/file2 governance 10521680 Sat Jul 2 22:35:42 2016
/data/col1/jftest/file3 governance 10521820 Sun Jul 10 22:36:09 2016
Total files: 3
是否可以完全禁用 MTree 的保留锁定(启用后)?
是,对于使用治理模式的 MTree,这是使用 mtree retention-lock disable
命令:
# mtree retention-lock disable mtree [mtree] For example: sysadmin@xxxx# mtree retention-lock disable mtree /data/col1/rl_test Retention-lock feature is disabled (previously enabled) for mtree /data/col1/rl_test. Once disabled,MTree list
indicates that retention lock was used against the MTree but has since been disabled, that is: sysadmin@ddxxxx#mtree list
Name Pre-Comp (GiB) Status Tenant-Unit --------------------------------- -------------- ------- ----------- ... /data/col1/rl_test 0.0 RW/RLGD - ...
sysadmin@ddxxxx# mtree retention-lock revert /data/col1/rl_test/testfile **** Retention-lock feature is disabled (previously enabled) for mtree which contains the path /data/col1/rl_test/testfile.
sysadmin@ddxxxx# mtree retention-lock disable mtree /data/col1/rl_test_comp **** Operation is not allowed because the system is a retention-lock compliance system
# replication break mtree://[destination system]/data/col1/[mtree]
# replication add source mtree://[source system]/data/col1/[mtree] destination mtree://[destination system/data/col1/[mtree]
# mtree retention-lock enable mode compliance mtree [mtree]
# replication resync mtree://[destination system/data/col1/[mtree]
# user reset
# filesys destroy
# filesys archive unit del [archive unit name]
如果不使用 USB 驱动器和物理访问系统,技术支持无法将此类系统启动至单个用户模式进行恢复。
# mtree delete [mtree] # mtree retention-lock reset [min-retention-period period | max-retention-period period] mtree [mtree] # mtree retention-lock disable mtree [mtree] # mtree retention-lock revert但是,在 DDOS 7.3 及更高版本中,执行了一项资源调配,以便客户能够删除启用了 Retention Lock Compliance 的 MTree,前提是:
# cloud unit del <cloud unit name>
# filesys enable