实施步骤
故障分析与处理流程:
frr重启操作
纷享销客相关的服务器上均部署了FRRrouting,该组件必须处于启动状态,用于在服务器之间构建BGP网络,10.33.0.0/16网络需要依赖FRRrouting进行通讯。
一般情况下,当frr相关的进程异常时,watchrfrr会负责自动重启相关的进程。
当确认问题是由于 frr进程导致时,该服务器所提供的服务也将失效,此时zabbix会发送告警。
可通过下列方式使用root用户手工启动frr服务:
systemctl restart frr.service
LVS/keepalived重启操作
纷享销客专属云中一共包含4台LVS服务器,如下:
10.19.71.77与10.19.71.78一组用于转发 K8S Node/Port。
10.19.71.83与10.19.71.84一组用于转发数据库连接至后端的PGBouncer。
每一组LVS通过Keepalived来管理VIP,并在节点异常时通过keepalived实现VIP自动切换。
正常情况下,VIP只会运行在其中一个节点上,出现极端情况(如脑裂)时,可使用root登录到2个节点执行下列命令来解决脑裂异常。
systemctl restart keepalived.service
同时,LVS的服务器上均配置了计划任务用于脑裂或异常检测,如下图:
Nginx服务重启操作
纷享销客专属云中一共包含4台Nginx服务器,如下:
10.19.71.81 和 10.19.71.82两台用于云间业务调用、业务发版拉取WAR包等用途,同时,这两台服务器上部署了keepalived,用于维护VIP(云间业务调用、业务发版拉取war包访问的均为该VIP地址)。
10.19.71.79 和 10.19.71.80两台为用户接入Nginx,在这两台服务器的前面接入了内网F5,向后转发至纷享销客各种业务。
可使用root登录到相应节点执行下列命令来重启Nginx服务:
systemctl restart openresty.service
ElasticSearch重启操作
纷享销客专属云中包含2套ElasticSearch集群:
其中一套用于存放业务数据:
10.19.71.47
10.19.71.48
10.19.71.49
一套用于存放服务错误日志,该套集群的节点上同时部署了Kafka以及其依赖的组件。
10.19.71.50
10.19.71.51
10.19.71.52
ElasticSearch采用docker进行部署,系统重启后,容器会自动拉起。
在运维的过程中,有时候会碰到某个节点负载高或挂起的情况,这个时候需要根据监控数据来判断负载高的节点,然后直接重启服务器。
Zookeeper服务重启操作
纷享销客专属云中包含1套ZooKeeper集群,部署在K8S中的部分服务使用了dubbo框架,这些服务依赖ZooKeeper进行服务注册和发现。
10.19.71.62
10.19.71.63
10.19.71.64
ZooKeeper集群允许失败一个节点,当超过一个节点不可用时,ZooKeeper集群将失败,正常情况下,3个节点中有一个leader及两个follower,服务重启时可能导致leader重新选举。
可使用root登录到相应节点执行下列命令来重启ZooKeeper服务:
systemctl restart zookeeper.service
RocketMQ重启操作
纷享销客专属云中包含1套RockeMQ集群,由2台name server,4台 broker server组成,这4台broker server又分为两组,每组由一台master broker和一台slave broker组成,具体的IP信息如下:
10.19.71.53 name server
10.19.71.54 name server
10.19.71.55 master broker server (第一组)
10.19.71.56 slave broker server (第一组)
10.19.71.57 master broker server (第二组)
10.19.71.58 slave broker server (第二组)
需要说明的是,Rocket MQ的broker server主从无法切换,这是配置两组Broker的原因,同时也是RocketMQ的标准部署。
可使用root登录到相应的name server节点执行下列命令来重启RocketMQ name server服务:
systemctl restart rockermq_namesrv.service
可使用root登录到相应的broker server节点执行下列命令来重启RocketMQ broker server服务:
systemctl restart rockermq_broker.service
Redis重启操作
纷享销客专属云中包含1套高可用的Redis集群,由3台服务器组成,这3台服务器上同时部署了Redis和sentinel,信息如下:
10.19.71.59
10.19.71.60
10.19.71.61
该Redis集群允许一个节点失败。
可使用root登录到相应的节点执行下列命令来重启Redis服务:
systemctl restart redis
pgbouncer重启操作
纷享销客专属云中包含2台pgbouncer服务器,作为后端PostgreSQL的连接池工具,在这2台pgbouncer服务器前面有一组LVS用作四层代理,这两台pgbouncer服务器在同时提供服务,可以容忍其中一台服务器终止。
2台pgbouncer服务器的信息如下:
10.19.71.85
10.19.71.86
可使用root登录到相应的节点执行下列命令来重启pgbouncer服务:
systemctl restart pgbouncer.service
freeipa重启操作
纷享销客专属云中包含2台freeipa服务器,互为副本;目前这两台freeipa服务器仅对专属云中的服务器资源提供DNS解析服务和时间服务。
2台freeipa服务器的信息如下:
10.19.71.87
10.19.71.88
正常情况下可通过下列命令查看freeipa的服务状态:
ipactl status
可使用root登录到相应的节点执行下列命令来重启freeipa服务:
ipactl restart
SaltStack重启操作
纷享销客专属云中部署了1台SaltStack Proxy,用于配置管理,该服务器上同时运行 salt-master, salt-minion和salt-syndic 3个服务。SaltStack Proxy的服务器是: 10.19.71.89
纷享销客专属云中其它服务器上均部署了SaltStack minion,这些服务器上只运行 salt-minion 服务。
可使用root登录到相应节点执行下列命令来重启对应的服务:
在10.19.71.89上重启salt相关的3个服务:
systemctl restart salt-master.service systemctl restart salt-syndic.service systemctl restart salt-minion.service
在其它服务器上重启salt-minion服务:
systemctl restart salt-minion.service
Zabbix Proxy/agent重启操作
纷享销客专属云中部署了1台Zabbix Proxy,用于系统监控,Zabbix Proxy的服务器是: 10.19.71.90。由于Zabbix Proxy需要数据库支持,因此在该服务器同时也部署了MySQL数据库,仅用于临时监控数据的存储。
纷享销客专属云中所有服务器(包括Zabbix Proxy服务器)上均部署了Zabbix Agent,将监控数据汇报至Zabbix Proxy。
可使用root登录到相应节点执行下列命令来重启对应的服务:
在10.19.71.90上重启zabbix proxy服务:
systemctl restart zabbix-proxy.service
在服务器上重启Zabbix Agent服务:
systemctl restart zabbix-agent2.service
PostgreSQL数据库重启操作
纷享销客专属云中部署了4套PostgreSQL数据库,分别承担不同的用途,每套数据库由一个主节点及一个从节点组成,通过主节点上的VIP对外提供服务。
这些PostgreSQL数据库的信息如下:
10.19.71.39 PaaS PG主库
10.19.71.40 PaaS PG从库
10.19.71.41 BI PG主库
10.19.71.42 BI PG从库
10.19.71.43 资源回收 PG主库
10.19.71.44 资源回收 PG从库
10.19.71.45 全局 PG主库
10.19.71.46 全局 PG从库
可使用root登录到相应的节点执行下列命令来重启postgresql服务:
systemctl restart postgresql-12.service
可使用root登录到相应的从库节点执行下列命令来执行主从切换:
sh /var/lib/pgsql/pgswitchover.sh -h jtltc-paaspg-s02 (从库节点)
MongoDB服务重启操作
纷享销客专属云中部署了1套MongoDB数据库,这套数据库由3台服务器组成,如下:
10.19.71.32 MongoDB Arbiter
10.19.71.33 MongoDB Primary
10.19.71.34 MongoDB Secondary
MongoDB Arbiter终止,服务不受影响;MongoDB Primary终止,MongoDB将发生主从切换。
可使用root登录到相应的节点执行下列命令来重启MongoDB服务:
systemctl restart mongod
MySQL/MHA服务重启操作
纷享销客专属云中部署了1套MySQL服务器,由主从两个节点组成:
10.19.71.35 Master
10.19.71.36 Slave
纷享销客专属云中部署了2台MHA服务器,一台负责MySQL的高可用切换,另外一台用于备用:
10.19.71.37 主用
10.19.71.38 备用
可使用root登录到相应的节点执行下列命令来重启MySQL服务:
systemctl restart mysqld
备份服务器重启操作
纷享销客专属云中部署了1台集中备份服务器,这台服务器是:
10.19.71.76
这台备份服务器承担了如下备份功能:
- 4套生产用途的PostgreSQL主库、从库的备份
- Zabbix数据库的备份
- MySQL主库、从库的备份
- MongoDB从库的备份
- Nginx访问日志的备份
- ZooKeeper数据的快照
- Etcd数据的备份
数据备份均通过各种的备份脚本自动完成,这些备份脚本均配置到了crontab中,该服务器日常无需维护,如果有备份失败等情况,一般直接重启服务器即可。