Avamar:如何从 Avamar 网格中安全删除 Data Domain 系统。
Summary: 本文提供了从 Avamar 网格中删除 Data Domain 系统的步骤。
Instructions
本文提供了从 Avamar 网格中删除 Data Domain 系统的步骤。
- 在本文中,对“Avamar Utility Node”的任何引用都是指多节点环境中的 Utility Node、单节点物理环境中的单个节点或虚拟环境中的 AVE。
- 管理控制台服务器 (MCS) UI 是指 Java Avamar Administrator UI。Avamar 用户界面 (AUI) 是指 Web 界面
(https://<avamar-grid>/aui)
avmaint config --ava |grep "immutable\|governancemode"
immutablebackups="false"
periodimmutablebackups="false"
governancemode="false"
-
此 Avamar 存储在 Data Domain 上的所有备份都应在删除过程之前删除。
-
删除所有备份后,建议运行完整的维护周期(手动或计划)。
-
完整的维护周期包括垃圾收集 (GC)、检查点 (CP)、检查点验证
(hfscheck)、检查点和删除旧检查点 (RMCP)。
-
在继续最终删除 Data Domain 系统之前,确保删除 Data Domain 上的所有备份数据和 Avamar 上的元数据。
本文旨在解决两种情形:
情况 1:非正常删除:该数据域系统不再活跃,或者无法从 Avamar 进行访问。
- Data Domain 系统已关闭。
- Data Domain 在从 Avamar 中移除之前断开了与网络的连接。
- Data Domain 上的文件系统在从 Avamar 中删除 Data Domain 之前被销毁或重新初始化(换句话说,Data Domain 上的 Avamar mtree 不再存在)
情况 2:清理拆卸:Data Domain 系统处于活动状态,可从 Avamar 访问。与存储在 Avamar 上的元数据对应的所有备份数据仍可访问。
测试此情况的最简单方法是从 Avamar Utility Node 运行“ ddrmaint cplist”命令。如果该命令能够返回结果,则表示 Avamar 可以连接到 Data Domain,能够读取 Data Domain 上的 Avamar mtree(存储单元)并列出检查点。
示例:
ddrmaint cplist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<checkpointlist
cmd="cplist"
lsu="avamar-1643691625"
count="3">
<ddrservers count="1">
<ddrserver
name="dd01.company.com"
index="1"
ddrcreatetime="1685672902"/>
</ddrservers>
<checkpoint
tag="cp.20240724220026"
mtime="1721858446"
isvalid="true"
validcheck="true"/>
<checkpoint
tag="cp.20240801021435"
mtime="1722478550"
isvalid="true"
validcheck="false"/>
<checkpoint
tag="cp.20240801045429"
mtime="1722488144"
isvalid="true"
validcheck="false"/>
</checkpointlist>
场景 1 和场景 2 常见步骤:
正常和非正常删除都应遵循以下常见步骤:
1.以“管理员”身份登录到 Avamar 实用程序节点。
2.找到要删除的 Data Domain 的 Data Domain 主机名和索引。
(DDR 索引是表示连接到 Avamar 的 Data Domain 系统数量的数值。)
在 Avamar Utility Node 上以 admin 身份运行以下命令,可以找到索引:
ddrmaint read-ddr-info
输出示例:
<ddrconfig client-map-default="true" cloud_enabled="false" cloud_unit_name="" dd-cert-chain="" ddos-version="7.13.0.20-1082704" ddrcreatetime="1685672902" ddrid="A42AF86128712C2361D8E072BA5E20E745C5F8A5" gsan-backup-target-default="true" hostname="dd01.company.com" index="1" instant-access-limit="32" ipv4-hostname="dd01.company.com" ipv6-hostname="" max-streams="50" max-streams-for-cp-backup="2" modelno="DD VE" mtree_name="/data/col1/avamar-1234567890" password="Onlh2XP9xEpvI2exqGQwqA==" policy_id="%2Fdata%2Fcol1%2Favamar-1643691625%3AECS_Unit1" serialno="xxxxxxxxxxxxxxx" token="AQAjwjOLe0cAcXbsTvn4AYhPc274/LNOErIAjGbfELzhoQ==" username="ddboost">
...
<ddrconfig client-map-default="false" cloud_enabled="false" cloud_unit_name="" dd-cert-chain="" ddos-version="6.2.1.80-692201" ddrcreatetime="1722482083" ddrid="3EBBA48A04A3DE3D2CAC662CF32E5DDBD0E68C58" gsan-backup-target-default="false" hostname="dd02.company.com" index="2" instant-access-limit="32" ipv4-hostname="dd02.company.com" ipv6-hostname="" max-streams="50" max-streams-for-cp-backup="0" modelno="DD VE Version 4.0" mtree_name="/data/col1/avamar-1234567890" password="Si+8QUMErXcQuq99uQ+IpQ==" policy_id="" serialno="xxxxxxxxxxxxxxx" token="AQA51kB/zWJVUc2Hso5NqQVla+XC71ucYATwtbP4Rq1f8A==" username="ddboost">
在此示例输出中,连接了两个 Data Domain。
-
Data-Domain-hostname: dd01.company.com
-
ddr-index-value:1.
3.检查哪些数据集(如果有)选择了 Data Domain:
执行此操作的最简单方法是从 CLI 运行命令,以确定必须编辑哪些数据集。所选 UI(AUI 或 MCS)随后可用于更新数据集。
对于仅连接一个 Data 域的 Avamar 网格,请使用以下命令:
psql -p 5555 mcdb -c "select dataset_name,plugin_name,domain from v_ds_commands where command_name='ddr-index' and value NOT IN ('0') order by dataset_name asc;"
示例:
psql -p 5555 mcdb -c "select dataset_name,plugin_name,domain from v_ds_commands where command_name='ddr-index' and value NOT IN ('0') order by dataset_name asc;"
dataset_name | plugin_name | domain
-----------------+-------------------------+--------
Default Dataset | Linux Fast Incrementals | /
Default Dataset | VMware vCloud vApp | /
Default Dataset | Windows File System | /
dd01_dst | Windows File System | /clients
(4 rows)
-- 或者 --
对于连接了多个 Data Domain 系统的 Avamar 网格,请运行以下命令:
psql -p 5555 mcdb -c "select dataset_name,plugin_name,domain from v_ds_commands where command_name='ddr-index' and value='<ddr-index-value>' order by dataset_name asc;"
其中 <ddr-index-value> 是上述步骤 2 中记录的索引(在我们的示例输出中,此值为 1)
示例:
psql -p 5555 mcdb -c "select dataset_name,plugin_name,domain from v_ds_commands where command_name='ddr-index' and value='1' order by dataset_name asc;"
dataset_name | plugin_name | domain
-----------------+-------------------------+--------
Default Dataset | Linux Fast Incrementals | /
Default Dataset | VMware vCloud vApp | /
Default Dataset | Windows File System | /
dd01_dst | Windows File System | /clients
(4 rows)
没有报告数据集,请转至步骤 6,否则从步骤 4 继续。
4.登录 Avamar UI(AUI 或 MCS)并从列出的每个数据集中删除 Data Domain:
Avamar Administrator — AUI:
a. 从“管理”标题中,选择“Setting”。
b. 单击“Dataset”。
c. 对于每个数据集:
i. 选择所需的数据集,然后单击“edit”。
ii.从步骤 3 的输出中依次选择列出的每个插件。
在“Default Dataset”的示例输出中,这将是“Linux Fast Incrementals”、“VMware vCloud vApp”和“Windows File System”。
iii.清除“在 Data Domain 系统上存储备份”,或者在连接了多个 Data Domain 的情况下,替换 Data Domain 名称(如果适用)。
iv.单击“Submit”。
v. 对所有列出的插件重复上述步骤
-- 或者 --
Avamar Administrator — MCS:
a. 转至 Tools 菜单。
b. 选择“Manage Datasets”。
c. 对于每个数据集:
i. 选择所需的数据集,然后单击“edit”。
ii.转至“options”选项卡。
iii.从默认数据集中选择步骤 3 的输出中列出的每个插件程序,例如“Linux Fast Incrementals”、“VMware vCloud vApp”和“Windows File System”。
iv.清除“在 Data Domain 上存储备份”选项,或者如果连接了多个 Data Domain 系统,请替换 Data Domain 名称(如果适用)。
v. 单击“OK”。
vi.对每个所需的数据集重复此操作
5.完成后,重新运行之前在步骤 2b 中运行的相同命令。不应列出任何数据集:
示例:
psql -p 5555 mcdb -c "select dataset_name,plugin_name,domain from v_ds_commands where command_name='ddr-index' and value='1' order by dataset_name asc;"
-- 或者 --
psql -p 5555 mcdb -c "select dataset_name,plugin_name,domain from v_ds_commands where command_name='ddr-index' and value='<ddr-index-value>' order by dataset_name asc;"
任一命令的预期输出相同:
dataset_name | plugin_name | domain
--------------+-------------+--------
(0 rows)
6.连接了多个 Data Domain 并且 Avamar 是复制源,请确保要删除的 DD 未设置为默认复制存储系统:
登录 Avamar UI(AUI 或 MCS)
Avamar Administrator — AUI:
a. 从“Administration”标题中,选择“System”。
b. 单击 Data Domain。
c. 选择要删除的 Data Domain。
d. 如果“Default Replication Storage System”值为“yes”,则转至步骤 e,否则转至步骤 7。

e. 单击“cacel”。
f. 在剩余的 Data Domain(未删除)中,选择成为默认复制存储系统的备用项。
g. 单击“edit”。
h. 输入 ddboost 账户密码,然后再次输入该密码。
选择“Use system as default replication storage”
j.依次选择“validate”、“next”、“next”、“finish”。这可能需要一些时间才能更新。
-- 或者 --
Avamar Administrator — MCS:
a. 从主控制面板中选择“Server”。
b. 选择“Server Management”选项卡。
c. 如果仅看到“Bytes Protected Summary”窗口,请单击分隔线并展开窗口,直至看到“Server”(Avamar 和 Data Domain):

d. 突出显示要删除的 Data Domain。
e. 如果在“Node Information”窗口中,“Default Replication Storage System”为“Yes”,请转至步骤 f,否则转至步骤 7。

f. 在剩余的 Data Domain(未删除)中,选择成为默认复制存储系统的备用项。
g. 从“Actions”菜单中,选择“Edit Data Domain system”
h. 选中“Use system as default replication storage”复选框,然后单击“OK”。
i. 单击“Yes”以确认更改默认的复制存储映射。这可能需要一些时间才能更新。
-
对于非正常删除(场景 1),请转至步骤 8
-
要干净拆卸(场景 2),请转至步骤 11
情况 1:特定于非正常删除的步骤
-
在从 Avamar 中删除之前已关闭 Data Domain。
-
在从 Avamar 中删除 Data Domain 之前,断开了它与网络的连接。
-
在从 Avamar 中删除之前,Data Domain 上的文件系统已重新初始化(换句话说,Data Domain 系统上不再存在 Avamar mtree)。
-
Data Domain 上的文件系统已销毁或损坏
8.运行以下命令:
mccli dd delete --name=<Data-Domain-hostname> --force
其中 <Data-Domain-hostname> 是从步骤 2 中获得的名称(示例输出中的 dd01.company.com)
示例:
mccli dd delete --name=dd01.company.com --force
0,30936,Deleted Data Domain system.
Attribute Value
------------------------- -------------------------------------------------------------------
ipv6Hostname
ipv4Hostname dd01.company.com
0,30936,Deleted Data Domain system.
Attribute Value
------------------------- -------------------------------------------------------------------
replication-storage-check Data Domain system is the only default replication storage system.
ipv6Hostname
force-delete Force delete option was in use for the Data Domain system deletion.
ipv4Hostname dd01.company.com
遇到任何其他错误,请停止并创建服务请求。创建服务请求时,应包括本文以及任何错误。
9.删除对 Data Domain 上存储的备份的任何参考:
对存储在无法访问的 Data Domain 上的备份的任何参考都必须删除。虽然 Data Domain 和备份数据无法访问,但元数据仍存在于 Avamar 上。
脚本 remove_ddr_backups 可用于检测和显示引用 Data Domain 的备份,并且位于 Avamar Utility Node 上的 /usr/local/avamar/bin 目录。
a. 在非破坏性模式下运行该脚本:
remove_ddr_backups <ddr-index-value>
其中 <ddr-index-value> 步骤 2 中记录 Data Domain 的索引(在示例输出中,这是 1)
示例:
remove_ddr_backups 1
Running in non-destructive mode. No data will be destroyed.
To run in destructive mode add the command line parameter '--delete-backups'.
Total Data Domain backups 5422.
Total Avamar backups 10296.
Total backups 15718.
Matched 2232 out of 5422 total Data Domain backups with ddrindex 1.
Total Data Domain backups to be deleted 8014.
Backup counts for each ddr index before any backup deletions:
ddrindex 001: 2232
ddrindex 002: 3190
remove_ddr_backups completed successfully in non-destructive mode.
输出所述,上述命令在“无损”模式下运行,不会删除任何备份。
该输出显示,在 ddrindex 1 上存储了 2232 个备份。
b. 通过添加“--delete-backups”标志来删除无法访问的 Data Domain 上引用的备份:
remove_ddr_backups <ddr-index-value> --delete-backups
其中 <ddr-index-value> 步骤 2 中记录的 Data Domain 的索引(在我们的示例输出中,这是 1)
示例:
remove_ddr_backups 1 --delete-backups
remove_ddr_backups will irrevocably destroy backup data on server 'dd01.company.com'.
Type 'yes' to permanently remove backup data on this server:
c. 再次确认这是正确的 Data Domain,因为此过程 不可逆。
d. 键入 yes
预期的输出:
1 Request succeeded
0 ERROR! Exit code 116: Cannot delete client's last backup remove_ddr_backups:
Error: remove_ddr_backups:
Error: Failed to execute 'avmgr delb --path=/MC_RETIRED/test_client_A2014.01.23.16.18.41 --date=0x1CEF631A5EDEA52', result code '29696', error string 'Bad file descriptor'
Error: Failed to execute 'avmgr delb --path=/clients/test_client_B --date=0x1CEF631A5EDEB922', result code '29696', error string 'Bad file descriptor'
有关如何手动删除锁定备份的说明,请参阅“其他信息”部分。
删除任何锁定的备份后,重复步骤 9b-9d 以删除 Data Domain。
10.从步骤 14 继续。
情况 2:为确保干净拆卸,需遵循以下特定步骤
11.对存储在 Data Domain 上的要删除的任何备份都必须删除:
脚本 remove_ddr_backups 可用于检测和显示引用 Data Domain 的备份,并且位于 Avamar Utility Node 上的 /usr/local/avamar/bin Avamar Utility Node 上的目录。
a. 在非破坏性模式下运行该脚本:
remove_ddr_backups <ddr-index-value>
其中 <ddr-index-value> 步骤 2 中记录的 Data Domain 的索引(在我们的示例输出中,这是 1)
示例:
remove_ddr_backups 1
Running in non-destructive mode. No data will be destroyed.
To run in destructive mode add the command line parameter '--delete-backups'.
Total Data Domain backups 5422.
Total Avamar backups 10296.
Total backups 15718.
Matched 2232 out of 5422 total Data Domain backups with ddrindex 1.
Total Data Domain backups to be deleted 8014.
Backup counts for each ddr index before any backup deletions:
ddrindex 001: 2232
ddrindex 002: 3190
remove_ddr_backups completed successfully in non-destructive mode.
输出所述,上述命令在“无损”模式下运行,不会删除任何备份。
该输出显示,在 ddrindex 1 上存储了 2232 个备份。
b. 通过添加“--delete-backups”标志来删除无法访问的 Data Domain 上引用的备份:
remove_ddr_backups <ddr-index-value> --delete-backups
其中 <ddr-index-value> 步骤 2 中记录的 Data Domain 的索引(在我们的示例输出中,这是 1)
示例:
remove_ddr_backups 1 --delete-backups
remove_ddr_backups will irrevocably destroy backup data on server 'dd01.company.com'.
Type 'yes' to permanently remove backup data on this server:
c. 再次确认这是正确的 Data Domain,因为此过程 不可逆。
d. 键入 yes
预期的输出:
1 Request succeeded
0 ERROR! Exit code 116: Cannot delete client's last backup remove_ddr_backups:
Error: remove_ddr_backups:
Error: Failed to execute 'avmgr delb --path=/MC_RETIRED/test_client_A2014.01.23.16.18.41 --date=0x1CEF631A5EDEA52', result code '29696', error string 'Bad file descriptor'
Error: Failed to execute 'avmgr delb --path=/clients/test_client_B --date=0x1CEF631A5EDEB922', result code '29696', error string 'Bad file descriptor'
有关如何手动删除锁定备份的说明,请参阅“其他信息”部分。
删除锁定的备份后,重复步骤 11b-11d 以删除 Data Domain。
12.删除客户端备份后,需要从 Avamar 网格中删除与任何 Data Domain 备份关联的所有检查点:
a. 检查最后一个检查点的完成时间:
status.dpn |grep "Last checkpoint"
b. 执行 MCS 刷新:
mcserver.sh --flush
示例:
mcserver.sh --flush
=== BEGIN === check.mcs (preflush)
check.mcs passed
=== PASS === check.mcs PASSED OVERALL (preflush)
Flushing Administrator Server...
Administrator Server flushed.
c. 创建一个新的检查点:
avmaint checkpoint --ava --wait
在检查点完成之前,提示不会返回。
d. 检查最后一个检查点:
status.dpn |grep "Last checkpoint"
验证这是否不同于 12a 的输出
e. 验证检查点:
avmaint hfscheck --full --keep --ava
f. 监控 hfscheck 完成。
g. hfscheck 成功完成后,请执行另一个检查点:
avmaint checkpoint --ava --wait
同样,在检查点完成之前,不会返回到提示符。
h. 删除任何旧的检查点:
avmaint rmcp --full --ava
13.使用 CLI 或 UI 从 Avamar 中删除 Data Domain:
CLI
mccli dd delete --name=<Data-Domain-hostname>
其中 <Data-Domain-hostname> 是从步骤 2 中获得的名称(示例输出中的 dd01.company.com)
示例:
mccli dd delete --name=dd01.company.com
0,30936,Deleted Data Domain system.
Attribute Value
------------------------- -------------------------------------------------------------------
ipv6Hostname
ipv4Hostname dd01.company.com
该命令可能需要一些时间才能返回到提示符。让该命令在不中断的情况下完成。
-- 或者 --
Avamar Administrator — AUI:
a. 从“Administration”标题中,选择“System”。
b. 单击 Data Domain。
c. 选择要删除的 Data Domain。
d. 单击“Delete”。
e. 查看确认,以确保其中包含要删除的 Data Domain 的名称。
f. 单击“Yes”以确认删除 Data Domain。这可能需要一些时间才能更新。
g. Data Domain 应不再存在。
-- 或者 --
Avamar Administrator — MCS:
a. 从主控制面板中选择“Server”。
b. 选择“Server Management”选项卡。
c. 如果仅看到“Bytes Protected Summary”窗口,请单击分隔线并展开窗口,直至看到“Server”(Avamar 和 Data Domain):

d. 选择要删除的 Data Domain。
e. 从“Actions”菜单中,选择“Delete Data Domain system”
f. 查看确认,确保其中包含要删除的 Data Domain 的名称。
g. 单击“Yes”以确认删除 Data Domain。这可能需要一些时间才能更新。
h. Data Domain 应不再存在。
14.手动维护周期(即使在步骤 12 中执行了此操作):
a. 检查最后一个检查点的完成时间:
status.dpn |grep "Last checkpoint"
b. 执行 MCS 刷新:
mcserver.sh --flush
示例:
mcserver.sh --flush
=== BEGIN === check.mcs (preflush)
check.mcs passed
=== PASS === check.mcs PASSED OVERALL (preflush)
Flushing Administrator Server...
Administrator Server flushed.
c. 创建一个新的检查点:
avmaint checkpoint --ava --wait
在检查点完成之前,提示不会返回。
d. 检查最后一个检查点:
status.dpn |grep "Last checkpoint"
验证这是否不同与 14a 的输出。
e. 验证检查点:
avmaint hfscheck --full --keep --ava
f. 监控 hfscheck 完成。
g. 在 hfscheck 成功完成后,请执行另一个检查点:
avmaint checkpoint --ava --wait
同样,在检查点完成之前,不会返回到提示符。
h. 删除任何旧的检查点:
avmaint rmcp --full --ava
15.使用 Avamar:如何将 Avamar Server 设置为已知受控状态作为指南,将网格恢复到生产状态。
Additional Information
如何手动删除锁定的备份:
锁定备份的手动备份删除可以使用 UI (MCS 或 AUI) 或 CLI 完成。
1.获取 remove_ddr_backups 并请记下无法删除备份的所有路径。
0 ERROR! Exit code 116: Cannot delete client's last backup remove_ddr_backups:
Error: remove_ddr_backups:
Error: Failed to execute 'avmgr delb --path=/MC_RETIRED/test_client_A2014.01.23.16.18.41 --date=0x1CEF631A5EDEA52', result code '29696', error string 'Bad file descriptor'
Error: Failed to execute 'avmgr delb --path=/clients/test_client_B --date=0x1CEF631A5EDEB922', result code '29696', error string 'Bad file descriptor'
在该示例输出中,它们是 /MC_RETIRED/test_client_A2014.01.23.16.18.41 和 /clients/test_client_B。
2.使用首选方法删除每个客户端的锁定备份:
CLI:
使用 getb 命令检索备份信息:
avmgr getb --format=xml --incpartials --path=<full-path-to-client> |grep -i <date>
<full-path-to-client> 是示例输出中的客户端名称,<date> 是 date 字段中的十六进制值。
例子和示例输出:
avmgr getb --format=xml --incpartials --path=/MC_RETIRED/test_client_A2014.01.23.16.18.41 | grep -i 0x1CEF631A5EDEA52
<backuplistrec flags="20185089" labelnum="165" label="Production 2300-Virtual Servers - Production-138" created="1386739633" roothash="d244f1dd698949e71022b9c975e311913236dc87" totalbytes="25585092608.00" ispresentbytes="0.00" pidnum="3016" percentnew="0" expires="1389157200" created_prectime="0x1cef631a5edea52" partial="0" retentiontype="daily,weekly" backuptype="Full" ddrindex="1" locked="1"/>
b. 使用 delb 命令删除备份:
avmgr delb --path=<full-path-to-client> --date=<date> --risklosingallbackups
例子和示例输出:
avmgr delb --path=/MC_RETIRED/test_client_backup_A2014.01.23.16.18.41 --date=0x1CEF631A5EDEA52 --risklosingallbackups
1 Request succeeded
c. 重新运行 getb 命令,以验证备份是否已被删除:
avmgr getb --format=xml --incpartials --path=<full-path-to-client> |grep -i <date>
示例:
avmgr getb --format=xml --incpartials --path=/MC_RETIRED/test_client_A2014.01.23.16.18.41 | grep -i 0x1CEF631A5EDEA52
d. 对“remove_ddr_backups”输出中列出的每个客户端重复上述步骤。
-- 或者 --
在 Avamar Administrator — AUI 中:
a. 选择“Administration”标题,然后选择“Asset Management”。
b. 浏览树并找到列表中的第一个客户端。
c. 单击“View more”以查看与该客户端关联的备份。
d. 选择要删除的备份。
e. 单击 Delete。
g. 出现提示时确认。
h. 对“remove_ddr_backups”输出中列出的每个客户端重复上述步骤。
-- 或者 --
在 Avamar Administrator — MCS 中:
a. 选择“Backup and Restore”。
b. 浏览树并找到列表中的第一个客户端。
c. 确保选择了“manage”,并选择“By Retention”下的所有内容:
d. 单击“Retrieve”。
e. 备份返回后,右键单击该备份。
f. 选择“Delete Backup”
g. 出现提示时确认。
h. 对您的“remove_ddr_backups”输出中列出的每个客户端重复上述步骤。