所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 故障处理 06

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
ELB数据业务故障(ETCD模式)

ELB数据业务故障(ETCD模式)

现象描述

ETCD模式下,用户通过ELB无法访问正常的数据业务。

可能原因

LVS或Nginx节点的配置文件丢失。

处理步骤

  1. 登录到MySQL数据库,查询MySQL数据库中配置文件个数。

    var/elb/packages/mysql/bin/mysql -uelb -p 数据库用户elb的密码 use elb;

    使用以下命令查询数据库中LVS节点的配置文件个数:

    select count(*) from consistency_files where lb_type='External' and h_type="lvs" and type in ('conf','disable');

    使用以下命令查询数据库中Nginx节点的配置文件个数:

    select count(*) from consistency_files where lb_type='External' and h_type="nginx" and type in ('conf','disable');

  2. 登录到ETCD节点,查询ETCD节点上配置文件个数。

    使用以下命令查询ETCD节点中LVS节点的配置文件个数:

    curl -k "https://{etcd_ip}:2379/v2/keys/external/lvs?recursive=true" -s |grep -o file_name | wc -l

    使用以下命令查询ETCD节点中Nginx节点的配置文件个数:

    curl -k "https://{etcd_ip}:2379/v2/keys/external/nginx?recursive=true" -s |grep -o unify_num_port | wc -l

    其中,{etcd_ip}需要替换为ETCD节点的管理面IP。

  3. 比较ETCD节点上配置文件的个数与数据库中配置文件个数是否一致。

    如果步骤 1步骤 2查询的LVS和Nginx配置文件个数分别相等,表示ETCD节点中LVS和Nginx配置文件与MySQL数据库中的一致。如果两者的配置文件不一致,执行步骤 6

  4. 比较LVS节点上的配置文件个数与ETCD节点上LVS配置文件个数是否一致。

    使用以下命令查询LVS节点上的配置文件个数:

    ll /etc/keepalived/vhosts/* |wc -l

    如果上述查询结果与步骤 2查询到的LVS配置文件个数相等,表示LVS节点上的配置文件与ETCD节点中的一致。如果两者的配置文件不一致,执行处理步骤

  5. 查询Nginx节点上的配置文件个数与ETCD节点上Nginx配置文件个数是否一致。

    使用以下命令查询Nginx节点上的配置文件个数:

    ll /usr/local/NSP/etc/nginx/vhosts/* |wc -l

    如果上述查询结果与步骤 2查询到的Nginx配置文件个数相等,表示Nginx节点上的配置文件与ETCD节点中的一致。如果两者的配置文件不一致,请执行处理步骤进行处理。

  6. 以elb用户登录ETCD节点,执行以下命令,查看ETCD服务是否正常。

    ps -ef|grep etcd

    返回以下信息,表示etcd进程正常。如果etcd进程异常,请参考3.3 ETCD节点服务异常故障

  7. 以elb用户登录api节点,执行以下命令,确保ETCD配置正确。

    vi /usr/local/NSP/etc/elb/conf/conf.lua

    查看configuration.use_conf_center、configuration.conf_center_service配置是否正确,下图表示ETCD配置正常:

    • configuration.use_conf_center设置为true,表示启用ETCD服务。
    • configuration.conf_center_service需要设置为ETCD节点的IP。

    如果上述配置不正确,请修改为正确的配置。

  8. 如果修改了conf.lua文件,请执行以下命令,重新加载api节点。

    sh /usr/local/NSP/etc/elb/bin/elb_process.sh reload

  9. 执行以下命令,将MySQL数据库的配置文件同步到ETCD节点。

    curl -i {mgt_plane_ip}:8080/etcd/push_all_key -d '{"type":"external"}'

    其中,{mgt_plane_ip}请替换为api节点的管理面IP。

    如果返回状态信息为200,表示配置文件同步成功。

  10. 以elb用户登录LVS和Nginx节点,执行以下命令,确保ETCD配置正确。

    vi /usr/local/NSP/etc/lua/conf/configure.lua

    查看configuration.use_conf_center、configuration.conf_center_service配置是否正确,下图表示ETCD配置正常:

    • configuration.use_conf_center设置为true,表示启用ETCD服务。
    • configuration.conf_center_service需要设置为ETCD节点的IP。

    如果上述配置不正确,请修改为正确的配置。

  11. 如果修改了configure.lua文件,请分别执行以下命令,重新加载LVS和Nginx节点。

    LVS节点:

    sh /usr/local/NSP/etc/lua/bin/reload_lvs.sh

    Nginx节点:

    sh /usr/local/NSP/etc/lua/bin/reload_nginx.sh

  12. 将ETCD节点的配置文件全量下载到LVS和Nginx节点。

    curl -i -X POST {plane_ip}:1025/etcd/pull_key -d '{"type":"external","all":true}'

    其中,{plane_ip}表示LVS或Nginx节点的管理面IP。

    说明:

    如果LVS或Nginx节点与ETCD配置文件只相差某个文件,则可指定配置文件进行下载:

    • 定量获取4层配置

      curl -i -X POST {plane_ip}:1025/etcd/pull_key -d '{"type":"external","all":false,"ids":{"l4":[{"id":"{listener_id}"}]}}'

    • 定量获取7层配置

      curl -i -X POST {plane_ip}:1025/etcd/pull_key -d '{"type":"external","all":false,"ids":{"l7":[{"id":"{listener_id}"}]}}'

    • 定量下载4层和7层配置

      curl -i -X POST {plane_ip}:1025/etcd/pull_key -d '{"type":"external","all":false,"ids":{"l4":[{"id":"{listener_id}"}],"l7":[{"id":"{listener_id}"}]}}'

    其中,{plane_ip}请替换为LVS或Nginx节点的管理面IP;{listener_id}请替换为监听器id。

翻译
下载文档
更新时间:2019-08-19

文档编号:EDOC1100043088

浏览量:22618

下载量:454

平均得分:
本文档适用于这些产品

相关版本

相关文档

Share
上一页 下一页