Skip to main content
NetApp Backup and Recovery
所有云提供商
  • Amazon Web Services
  • Google Cloud
  • Microsoft Azure
  • 所有云提供商
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

在暗站中恢复NetApp备份和恢复配置数据

贡献者 netapp-mwallis

在没有互联网访问的站点(称为_私有模式_)中使用NetApp Backup and Recovery 时, NetApp Backup and Recovery 配置数据将备份到存储备份的StorageGRID或ONTAP S3 存储桶中。如果控制台代理主机系统出现问题,您可以部署新的控制台代理并恢复关键的NetApp备份和恢复数据。

备注 此过程仅适用于ONTAP卷数据。

当您在 SaaS 环境中使用NetApp Backup and Recovery 时,其中控制台代理部署在云提供商处,或者在您自己的具有互联网访问权限的主机系统上,所有重要的NetApp Backup and Recovery 配置数据都会在云中备份和保护。如果您遇到控制台代理问题,只需创建一个新的控制台代理并添加您的系统,备份详细信息就会自动恢复。

备份的数据有两种类型:

  • NetApp备份和恢复数据库 - 包含所有卷、备份文件、备份策略和配置信息的列表。

  • 索引目录文件 - 包含用于搜索和恢复功能的详细索引,使您在查找要恢复的卷数据时搜索非常快速和有效。

这些数据每天午夜备份一次,每个文件最多保留 7 份副本。如果控制台代理正在管理多个本地ONTAP系统,则NetApp备份和恢复文件将位于首先激活的系统的存储桶中。

提示 NetApp备份和恢复数据库或索引目录文件中从未包含任何卷数据。

将NetApp备份和恢复数据还原到新的控制台代理

如果您的内部控制台代理发生灾难性故障,您将需要安装新的控制台代理,然后将NetApp备份和恢复数据还原到新的控制台代理。

您需要执行以下任务才能使NetApp备份和恢复系统恢复工作状态:

  • 安装新的控制台代理

  • 还原NetApp备份和恢复数据库

  • 恢复索引目录文件

  • 将所有本地ONTAP系统和StorageGRID系统重新发现到NetApp控制台 UI

一旦您确认系统恢复正常工作,我们建议您创建新的备份文件。

你需要什么

您需要从存储备份文件的StorageGRID或ONTAP S3 存储桶访问最新的数据库和索引备份:

  • NetApp备份和恢复 MySQL 数据库文件

    该文件位于存储桶中的以下位置 netapp-backup-<GUID>/mysql_backup/,它被命名为 CBS_DB_Backup_<day>_<month>_<year>.sql

  • 索引目录备份 zip 文件

    该文件位于存储桶中的以下位置 netapp-backup-<GUID>/catalog_backup/,它被命名为 Indexed_Catalog_DB_Backup_<db_name>_<day>_<month>_<year>.zip

在新的本地 Linux 主机上安装新的控制台代理

安装新的控制台代理时,请确保下载与原始控制台代理上安装的相同版本的软件。 NetApp备份和恢复数据库结构的定期更改可能会导致较新的软件版本与原始数据库备份不兼容。你可以 "恢复备份数据库后,将控制台代理软件升级到最新版本"

  1. "在新的本地 Linux 主机上安装控制台代理"

  2. 使用您刚刚创建的管理员用户凭据登录控制台。

还原NetApp备份和恢复数据库

  1. 将 MySQL 备份从备份位置复制到新的控制台代理主机。下面我们将使用示例文件名“CBS_DB_Backup_23_05_2023.sql”。

  2. 根据您使用的是 Docker 还是 Podman 容器,使用以下命令之一将备份复制到 MySQL docker 容器中:

    docker cp CBS_DB_Backup_23_05_2023.sql ds_mysql_1:/.
    podman cp CBS_DB_Backup_23_05_2023.sql ds_mysql_1:/.
  3. 根据您使用的是 Docker 还是 Podman 容器,使用以下命令之一进入 MySQL 容器 shell:

    docker exec -it ds_mysql_1 sh
    podman exec -it ds_mysql_1 sh
  4. 在容器shell中,部署“env”。

  5. 您将需要 MySQL DB 密码,因此请复制键“MYSQL_ROOT_PASSWORD”的值。

  6. 使用以下命令还原NetApp备份和恢复 MySQL DB:

    mysql -u root -p cloud_backup < CBS_DB_Backup_23_05_2023.sql
  7. 使用以下 SQL 命令验证NetApp Backup and Recovery MySQL DB 是否已正确恢复:

    mysql -u root -p cloud_backup

    输入密码。

    mysql> show tables;
    mysql> select * from volume;

    检查显示的卷是否与原始环境中存在的卷相同。

恢复索引目录文件

  1. 将 Indexed Catalog 备份 zip 文件(我们将使用示例文件名“Indexed_Catalog_DB_Backup_catalogdb1_23_05_2023.zip”)从备份位置复制到“/opt/application/netapp/cbs”文件夹中的新控制台代理主机。

  2. 使用以下命令解压缩“Indexed_Catalog_DB_Backup_catalogdb1_23_05_2023.zip”文件:

    unzip Indexed_Catalog_DB_Backup_catalogdb1_23_05_2023.zip -d catalogdb1
  3. 运行 ls 命令以确保已创建文件夹“catalogdb1”,其下有子文件夹“changes”和“snapshots”。

发现您的ONTAP集群和StorageGRID系统

  1. "探索所有本地ONTAP系统"在您之前的环境中可用。这包括您用作 S3 服务器的ONTAP系统。

  2. "发现您的StorageGRID系统"

设置StorageGRID环境详细信息

添加与您的ONTAP系统关联的StorageGRID系统的详细信息,因为它们是在原始控制台代理设置上使用 "NetApp控制台 API"

以下信息适用于从NetApp Console 3.9.xx 开始的私有模式安装。对于旧版本,请使用以下步骤: "DarkSite 云备份:MySQL 和索引目录备份和恢复"

您需要对将数据备份到StorageGRID 的每个系统执行这些步骤。

  1. 使用以下 oauth/token API 提取授权令牌。

    curl 'http://10.193.192.202/oauth/token' -X POST -H 'Accept: application/json' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/json' -d '{"username":"admin@netapp.com","password":"Netapp@123","grant_type":"password"}
    > '

    虽然 IP 地址、用户名和密码是自定义值,但帐户名不是。帐户名称始终为“account-DARKSITE1”。此外,用户名必须使用电子邮件格式的名称。

    此 API 将返回如下响应。您可以如下所示检索授权令牌。

    {"expires_in":21600,"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjJlMGFiZjRiIn0eyJzdWIiOiJvY2NtYXV0aHwxIiwiYXVkIjpbImh0dHBzOi8vYXBpLmNsb3VkLm5ldGFwcC5jb20iXSwiaHR0cDovL2Nsb3VkLm5ldGFwcC5jb20vZnVsbF9uYW1lIjoiYWRtaW4iLCJodHRwOi8vY2xvdWQubmV0YXBwLmNvbS9lbWFpbCI6ImFkbWluQG5ldGFwcC5jb20iLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIiwiaWF0IjoxNjcyNzM2MDIzLCJleHAiOjE2NzI3NTc2MjMsImlzcyI6Imh0dHA6Ly9vY2NtYXV0aDo4NDIwLyJ9CJtRpRDY23PokyLg1if67bmgnMcYxdCvBOY-ZUYWzhrWbbY_hqUH4T-114v_pNDsPyNDyWqHaKizThdjjHYHxm56vTz_Vdn4NqjaBDPwN9KAnC6Z88WA1cJ4WRQqj5ykODNDmrv5At_f9HHp0-xVMyHqywZ4nNFalMvAh4xESc5jfoKOZc-IOQdWm4F4LHpMzs4qFzCYthTuSKLYtqSTUrZB81-o-ipvrOqSo1iwIeHXZJJV-UsWun9daNgiYd_wX-4WWJViGEnDzzwOKfUoUoe1Fg3ch--7JFkFl-rrXDOjk1sUMumN3WHV9usp1PgBE5HAcJPrEBm0ValSZcUbiA"}
  2. 使用 tenancy/external/resource API 提取系统 ID 和 X-Agent-Id。

    curl -X GET http://10.193.192.202/tenancy/external/resource?account=account-DARKSITE1 -H 'accept: application/json' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjJlMGFiZjRiIn0eyJzdWIiOiJvY2NtYXV0aHwxIiwiYXVkIjpbImh0dHBzOi8vYXBpLmNsb3VkLm5ldGFwcC5jb20iXSwiaHR0cDovL2Nsb3VkLm5ldGFwcC5jb20vZnVsbF9uYW1lIjoiYWRtaW4iLCJodHRwOi8vY2xvdWQubmV0YXBwLmNvbS9lbWFpbCI6ImFkbWluQG5ldGFwcC5jb20iLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIiwiaWF0IjoxNjcyNzIyNzEzLCJleHAiOjE2NzI3NDQzMTMsImlzcyI6Imh0dHA6Ly9vY2NtYXV0aDo4NDIwLyJ9X_cQF8xttD0-S7sU2uph2cdu_kN-fLWpdJJX98HODwPpVUitLcxV28_sQhuopjWobozPelNISf7KvMqcoXc5kLDyX-yE0fH9gr4XgkdswjWcNvw2rRkFzjHpWrETgfqAMkZcAukV4DHuxogHWh6-DggB1NgPZT8A_szHinud5W0HJ9c4AaT0zC-sp81GaqMahPf0KcFVyjbBL4krOewgKHGFo_7ma_4mF39B1LCj7Vc2XvUd0wCaJvDMjwp19-KbZqmmBX9vDnYp7SSxC1hHJRDStcFgJLdJHtowweNH2829KsjEGBTTcBdO8SvIDtctNH_GAxwSgMT3zUfwaOimPw'

    此 API 将返回如下响应。“resourceIdentifier”下的值表示_WorkingEnvironment Id_,“agentId”下的值表示_x-agent-id_。

  3. 使用与系统关联的StorageGRID系统的详细信息更新NetApp备份和恢复数据库。确保输入StorageGRID的完全限定域名以及访问密钥和存储密钥,如下所示:

    curl -X POST 'http://10.193.192.202/account/account-DARKSITE1/providers/cloudmanager_cbs/api/v1/sg/credentials/working-environment/OnPremWorkingEnvironment-pMtZND0M' \
    > --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjJlMGFiZjRiIn0eyJzdWIiOiJvY2NtYXV0aHwxIiwiYXVkIjpbImh0dHBzOi8vYXBpLmNsb3VkLm5ldGFwcC5jb20iXSwiaHR0cDovL2Nsb3VkLm5ldGFwcC5jb20vZnVsbF9uYW1lIjoiYWRtaW4iLCJodHRwOi8vY2xvdWQubmV0YXBwLmNvbS9lbWFpbCI6ImFkbWluQG5ldGFwcC5jb20iLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIiwiaWF0IjoxNjcyNzIyNzEzLCJleHAiOjE2NzI3NDQzMTMsImlzcyI6Imh0dHA6Ly9vY2NtYXV0aDo4NDIwLyJ9X_cQF8xttD0-S7sU2uph2cdu_kN-fLWpdJJX98HODwPpVUitLcxV28_sQhuopjWobozPelNISf7KvMqcoXc5kLDyX-yE0fH9gr4XgkdswjWcNvw2rRkFzjHpWrETgfqAMkZcAukV4DHuxogHWh6-DggB1NgPZT8A_szHinud5W0HJ9c4AaT0zC-sp81GaqMahPf0KcFVyjbBL4krOewgKHGFo_7ma_4mF39B1LCj7Vc2XvUd0wCaJvDMjwp19-KbZqmmBX9vDnYp7SSxC1hHJRDStcFgJLdJHtowweNH2829KsjEGBTTcBdO8SvIDtctNH_GAxwSgMT3zUfwaOimPw' \
    > --header 'x-agent-id: vB_1xShPpBtUosjD7wfBlLIhqDgIPA0wclients' \
    > -d '
    > { "storage-server" : "sr630ip15.rtp.eng.netapp.com:10443", "access-key": "2ZMYOAVAS5E70MCNH9", "secret-password": "uk/6ikd4LjlXQOFnzSzP/T0zR4ZQlG0w1xgWsB" }'

验证NetApp备份和恢复设置

  1. 选择每个ONTAP系统,然后单击右侧面板中备份和恢复服务旁边的“查看备份”。

    您应该能够看到为您的卷创建的所有备份。

  2. 在“恢复仪表板”的“搜索和恢复”部分下,单击“索引设置”。

    确保之前启用了索引编目的系统仍然保持启用状态。

  3. 在“搜索和恢复”页面中,运行一些目录搜索以确认索引目录恢复已成功完成。