10.11. 备份和还原管理数据库

节点信息、统计数据和配置存储在管理节点(带有管理面板的节点)上的数据库中。该数据库的备份是通过每天凌晨 3:00 开始的 cron 作业自动创建的。如果管理节点的可用性不高,则在发生故障或数据库损坏的情况下,还原此类备份将恢复该节点。备份文件存储在 /mnt/vstorage/webcp/backup/ 目录中。管理节点备份的保留策略如下所示:

  • 保留前一天创建的所有备份。

  • 在最近 7 天创建的备份中,将保留每天的最新备份。

  • 在最近 7-14 天创建的备份中,将保留最旧的备份。

  • 在最近 14-45 天创建的备份中,将保留每周的最旧备份。

  • 删除超过 45 天的备份。

重要

如果管理节点高可用性已启用,则无法还原数据库备份。

要手动备份数据库,请打开设置 > 管理节点 > 备份屏幕,然后单击立即备份

../_images/mn_backup1_ac.png

在完成备份后,将刷新上次备份日期。

警告

请勿重命名备份文件!否则,将无法基于它还原管理数据库。

10.11.1. 从备份还原管理数据库

可以从同一管理节点或存储群集中任何节点上的备份还原管理节点数据库。

警告

vstorage-ui-backend 服务必须在存储群集中的单个节点上运行。如果在另一个节点上还原管理节点数据库,则必须重新部署先前的管理节点。

在将要还原管理节点数据库的节点上运行以下脚本:

# /usr/libexec/vstorage-ui-backend/bin/restore-management-node.sh \
-x <public_net_iface> -i <private_net_iface> \
-f /mnt/vstorage/webcp/backup/<backup_file>

其中,<public_net_iface><private_net_iface> 是分别分配了公用网络和专用网络的接口。如果需要,可以在两个参数中指定相同的网络接口。如果省略 -f 选项,则将从最新备份还原管理节点数据库。

要访问管理面板,请使用已还原管理节点数据库的节点的公共 IP 地址。

10.11.1.1. 使用现有计算群集还原

如果已部署计算群集,则必须仅在计算节点之一上还原管理节点数据库。

使用计算群集还原管理节点数据库时,请注意以下限制:

  • 如果在备份后创建计算对象,它们将丢失。

  • 如果在备份后修改或删除计算对象,它们将按以下方式还原:

    • 将完全还原用作配置的计算对象(规格、存储策略、虚拟网络、SSH 密钥)。

    • 将部分还原所有其他计算对象(VM、卷、映像等)。它们将显示在管理面板中,但无法使用。将只能从管理面板中将它们删除。

要在计算节点上还原管理节点数据库,请使用 -n 选项运行还原脚本:

# /usr/libexec/vstorage-ui-backend/bin/restore-management-node.sh \
-x <public_net_iface> -i <private_net_iface> -n

其中:

  • <public_net_iface><private_net_iface> 是分别分配了公用网络和专用网络的接口。

  • 省略 -f 选项,可从最新备份还原管理节点数据库。

  • -n 选项表示,将重新配置计算群集以使用另一个管理节点。

如果在同一个节点上还原管理节点数据库,请省略 -n 选项。

还原后,位于发生故障的管理节点上的虚拟机将无法在管理面板中进行管理,并且只能进行删除。但是,可以按以下方式使用 vinfra 工具来救援它们:请执行以下操作:

  • 已禁用高可用性的 VM 将显示为处于“活动”状态:使用 vinfra service compute server evacuate 命令将它们撤离;

  • 已启用高可用性的 VM 将显示为处于“重建”状态:先使用 vinfra service compute server reset-state 命令重置它们的状态,然后通过运行 vinfra service compute server evacuate 将它们撤离。