通用方案:曙光V3和方舟V3环境中如何重启DNCS集群中的dncs-server容器

通用方案:曙光V3和方舟V3环境中如何重启DNCS集群中的dncs-server容器

更新时间:2020-07-01 14:41:39

1. 概述

本文主要介绍在曙光V3和方舟V3环境中,如何重启DNCS集群中的dncs-server容器。

1.1. 适用范围

  • 曙光V3,DNCS
  • 方舟V3,DNCS

1.2. 风险说明

  • 如果现场环境中已经存在与dncs-server容器相关的故障或者异常,需要重启dncs-server容器,则现场环境中的业务可能已经受到影响。
  • 其他情况下,逐台重启dncs-server容器,待一个容器重启完成后再重启下一个容器,则无风险。

1.3. 用户告知

在专有云环境中,dncs-server容器存在多个,重启的操作步骤一致,本文以重启其中一个容器为例。

2. 问题描述

当出现以下情况时,需要重启dncs-server容器。

  • 与dncs-server容器相关的故障或者异常,需要重启dncs-server容器以快速消除异常。
  • 某些配置修改后,需要重启dncs-server容器以生效。
  • 其他需要重启dncs-server容器的情况。

3. 解决方案

3.1. 环境检查

由于本文适用于曙光V3版本和方舟V3版本,请根据现场的专有云版本,选择对应的操作步骤,进行环境检查。

曙光V3版本

如果现场环境中已经存在与dncs-server容器相关的故障或者异常,请参见实施步骤,直接重启dncs-server容器。其他情况下,需要参见以下步骤,确认dncsServer#服务角色中,至少有两个机器及角色处于正常运行状态,然后才可以逐台重启dncs-server容器。

  1. 登录天基控制台。
  2. 在集群运维页面,Project中搜索dncs,单击搜索结果中的目标集群名称。
  3. 在DNCS集群的集群Dashboard页面,找到服务实例列表,单击middleware-dncs服务实例右侧的详情按钮。
  4. 在服务实例Dashboard页面,找到 服务角色列表,单击 dncsServer# 服务角色右侧的详情按钮。
  5. 在服务角色Dashboard页面,找到机器信息,确认其中存在至少两个机器的机器状态为good,并且角色状态也为good。

方舟V3版本

如果现场环境中已经存在与dncs-server容器相关的故障或者异常,请参见实施步骤,直接重启dncs-server容器。其他情况下,需要参见以下步骤,确认现场环境中存在至少两个dncs-server容器处于正常运行的状态,然后才可以逐台重启dncs-server容器。

  1. 登录Client机器。
  2. 执行以下命令,查看dncs-server容器的状态,确认返回结果中至少存在两个dncs-server容器处于正常运行的状态。
    docker ps | grep dncs-server
    系统显示类似如下。

3.2. 实施步骤

实施步骤分为曙光V3版本和方舟V3版本,请根据现场的专有云版本,选择对应的操作步骤。

注意

  • 由于现场环境中存在多个dncs-server容器,重启的操作步骤一致,本文以重启其中一个为例。
  • 如果现场环境中的dncs-server容器不存在故障或者异常,请务必按照逐台重启的原则进行重启dncs-server容器。
  • 如果现场环境中的某个dncs-server容器存在故障或者异常,则只重启存在异常的dncs-server容器即可。

曙光V3版本

  1. 参见环境检查,进入dncsServer#服务角色的Dashboard页面。
  2. 机器信息区域,单击其中一个机器右侧的重启服务角色按钮。
  3. 在弹出的确认页面中,确认目标机器无误后,单击确认
  4. 待重启完成后,重复步骤2至步骤3,重启下一个dncs-server容器。

方舟V3版本

  1. 登录Client机器。
  2. 在Client机器中,执行以下命令,获取dncs-server容器的ID。
    docker ps | grep dncs-server
  3. 执行以下命令,重启dncs-server容器。
    docker restart [$DNCS_Server_ID]
    说明:[$DNCS_Server_ID]指需要重启的dncs-server容器的ID。
  4. 再次执行以下命令,确认目标dncs-server容器已经重启完成,并且正常运行。
    docker ps | grep dncs-server
  5. 参见步骤3至步骤4,重启下一个dncs-server容器。如果只是重启单个dncs-server容器,则忽略本步骤。
  6. 如果需要处理DNCS集群中所有dncs-server节点异常的问题,需要在重启所有dncs-server容器后,在Client机器中执行以下命令,重启所有物理机上的registrator容器。
    注意:如果只是重启单个dncs-server容器,则忽略本步骤。
    docker ps | grep registrator | awk '{print $1}' | xargs docker restart
    系统显示类似如下。

3.3. 结果验证

结果验证分为曙光V3版本和方舟V3版本,请根据现场的专有云版本,选择对应的操作步骤。

注意:如下操作步骤以操作其中一个dncs-server容器为例。

曙光V3版本

  1. 参见环境检查,进入dncsServer#服务角色的Dashboard页面。
  2. 机器信息表中,确认重启后机器的机器状态为good,并且角色状态也为good。
  3. 单击终端,登录重启完成的机器。
  4. 在重启完成的机器中,执行以下命令,获取dncs-server容器的ID。
    sudo docker ps | grep dncs-server
  5. 执行以下命令,登录dncs-server容器。
    sudo docker exec -it [$DNCS_Server_ID] bash
  6. 在dncs-server容器中,执行以下命令,运行健康检查脚本,确认系统返回success。
    sh /home/admin/bin/check_dncs.sh
    系统显示类似如下。

方舟V3版本

  1. 在Client机器中,执行以下命令,登录重启后的dncs-server容器。
    docker exec -it [$DNCS_Server_ID] bash
  2. 在dncs-server容器中,执行以下命令,运行健康检查脚本,确认系统返回success。
    sh /home/admin/bin/check_dncs.sh

4. 回滚方案

本文为重启容器的操作,无需回滚。