更新时间:2024-02-29 15:10:10

在同一存储服务集群中,Consul服务用于监控与同步集群内异常信息,仅在融合部署模式下的控制节点或存储服务模式下的控制节点上进行配置。集群环境下,需修改相关配置文件并手动指定Consul域,单机环境则无需修改。

以3节点集群为例,其中节点A为主节点,节点B为从节点1,节点C为从节点2。

注意事项

  • 融合模式
    需要按照顺序(节点A > 节点B > 节点C)依次启动每个节点的Consul服务,确定每个节点Consul服务完全启动后,再启动下一节点的Consul服务,否则会导致Consul服务脑裂。
  • 存储服务模式
    需要按照顺序(节点A > 节点B > 节点C)依次启动每个节点的Consul服务,确定每个节点Consul服务完全启动后,再启动下一节点的Consul服务,否则会导致Consul服务脑裂。

如何查找配置文件所在节点

  1. 通过远程终端工具登录服务端后台。

  2. 使用root用户,执行cat /安装目录/AnyBackupServer/install.cfg命令。
    若--server-mode=All且--mgm-type=ControlNode,则为融合部署模式下的控制节点,即Consul配置文件所在节点。
    若--server-mode=StorageServer且--mgm-type=ControlNode,则为存储服务模式下的控制节点,即Consul配置文件所在节点。

配置Consul步骤

以下以三节点集群为例加以说明:

融合模式

  1. 通过远程终端工具登录服务端后台,使用root用户,执行cat /安装目录/AnyBackupServer/install.cfg命令,若--server-mode=All,则为融合模式。若不是,无需执行第2-6步。

  2. 执行以下命令,按照顺序(节点A > 节点B > 节点C)依次停止每个节点的Consul服务。

    systemctl stop ABConsulService.service

  3. 依次修改融合模式下控制节点的server.json配置文件,修改server.json配置文件中的bootstrap_except值为3(数值为同一存储服务集群中控制节点的个数)。

  4. 依次删除每个节点Consul配置的旧文件,参考命令:

    cd /安装目录/AnyBackupServer/data/consul

    然后删除该文件夹下的所有文件。

  5. 依次启动每个节点的Consul服务,参考命令:

    systemctl start ABConsulService.service

  6. 以上步骤在所有节点均执行完成后,查看Consul日志无持续报错输出,即配置正确。参考命令:
    tail -f /var/log/AnyBackup/ABConsulService/consul.log

存储服务模式

  1. 通过远程终端工具登录服务端后台,使用root用户,执行cat /安装目录/AnyBackupServer/install.cfg命令,若--server-mode=StorgeServer,则为存储服务模式。若不是,无需执行第2-6步。

  2. 执行以下命令,按照顺序(节点A > 节点B > 节点C)依次停止每个节点的Consul服务。

    systemctl stop ABConsulService.service

  3. 依次修改存储服务模式下控制节点的server.json配置文件,修改server.json配置文件中的bootstrap_except值为3(数值为同一存储服务集群中控制节点的个数)。

  4. 依次删除每个节点Consul配置的旧文件,参考命令:

    cd /安装目录/AnyBackupServer/data/consul

    然后删除该文件夹下的所有文件。

  5. 依次启动每个节点的Consul服务,参考命令:

    systemctl start ABConsulService.service

  6. 以上步骤在所有节点均执行完成后,查看Consul日志无持续报错输出,即配置正确。参考命令:
    tail -f /var/log/AnyBackup/ABConsulService/consul.log

    注意:
    所有节点的Consul服务启动成功后,查看ABConsulService.service服务状态,无持续报错输出即配置成功。