如果意外发生的灾难破坏了 NSX Advanced Load Balancer 控制器(或整个集群),则必须先使用 flushdb.sh 将托管控制器的设备或虚拟机还原为出厂默认设置。否则,可能会导致控制器无法启动。如果存在 prev 分区,请重命名 prev 分区或将其删除。prev 分区可以是 root1,也可以是 root2mv root1/root2 prev_back

下面列出了检查分区映射的步骤:

  1. sudo cat/proc/cmdline

    您可以看到包含 root1 或者 root2 作为当前分区的输出。

    例如,我们将下面的 root1 视为当前分区。

    root=UUID=f4a947e1-7efb-4345-9eac-1ff680fc50e0 subroot=/root1 net.ifnames=0 biosdevname=0 console=tty0 console=ttyS0,115200n8
  2. 转到 /host 目录,然后重命名 prev 分区,如下所示。

    cd /host
    ls -lrth <- This is to see if you have root1 and root2 directories.
    mv root2 prev_bak ----> as root2 is prev partition

此后,可以使用以下脚本自动执行配置恢复过程。

/opt/avi/scripts/restore_config.py

注:

必须移除 prev 分区。

该脚本将备份配置导入到 NSX Advanced Load Balancer 控制器 上。如果要还原控制器集群,该脚本会还原配置,并将其他两个节点重新添加到集群中。

  1. 使用与原始集群成员相同的 IP 地址创建三个新的控制器。(目前,NSX Advanced Load Balancer 仅支持静态 IP 地址。)此时,除了具有 IP 地址以外,每个控制器节点必须处于出厂默认状态。

  2. 使用 SSH 或 SCP 登录到一个 NSX Advanced Load Balancer 控制器 节点。使用默认管理员凭据。

  3. 运行还原命令或脚本:

    • 使用 SCP 复制备份文件。

      scp /var/backup/avi_config.json admin@<controller-ip>://tmp/avi_config.json

  4. 使用 SSH 在本地运行以下 restore 命令。

    /opt/avi/scripts/restore_config.py --config CONFIG --passphrase PASSPHRASE --do_not_form_cluster DO_NOT_FORM_CLUSTER --flushdb --vip VIP --followers FOLLOWER_IP [FOLLOWER_IP ...]

在上面的命令行中:

  • CONFIG 是配置文件的路径。

  • PASSPHRASE 是导出配置密码短语。

  • DO_NOT_FORM_CLUSTER 导致跳过组成集群。

  • VIP 是控制器的虚拟 IP 地址。

  • FOLLOWER_IP [FOLLOWER_IP ...] 是从属节点的 IP 地址列表。

  • CLUSTER_UUID 是要还原的旧集群 UUID

注:

NSX Advanced Load Balancer 22.1.3 开始,不再支持以下选项。

  1. --do_not_form_cluster

  2. --vip

  3. --followers

按照以下步骤还原集群设置中的配置。

  1. 还原其中一个节点上的配置

  2. 通过邀请两个新节点加入集群来重新建立集群。

还原三节点集群的配置

对于三节点集群,在运行脚本之前,请确保满足以下条件:

  • 从属节点需要处于出厂默认状态

  • 需要生成两个新的控制器(确保不要对其进行任何更改)。

执行以下命令,将节点重置为出厂默认状态。

sudo systemctl stop process-supervisor.service
rm /var/lib/avi/etc/flushdb.done
/opt/avi/scripts/flushdb.sh
sudo systemctl start process-supervisor.service

restore_config 脚本的可选参数:

  • vip <Virtual IP of controller>(对于集群,这是控制器的虚拟 IP)

  • followers <follower_IP_1> <follower_IP_2>(从属节点的 IP 地址)

  • cluster_uuid <cluster_uuid>(将还原旧集群 UUID)

使用上述可选参数运行以下命令来还原三节点集群。

/opt/avi/scripts/restore_config.py --config  --flushdb --passphrase  --followers

如果在上述命令中未添加 followers 参数,则可以在成功还原配置后从 UI、CLI 或 API 手动建立集群。其他控制器需要处于出厂默认状态,才能接受它们以用于建立集群。

在还原配置期间,将重新签名 SE 软件包,并删除现有的 SE 软件包。

如果还原配置由于配置导入错误而失败,则可以在 /opt/avi/log/portal-webapp.log 中查找相关日志。