双机热备
# 提升
本节将学习如何进行双机热备
# 项目一
# 项目需求
某项目要求当主服务器发生故障时,需要有备用服务器接管所有,设备,负责对外提供业务
当主服务器恢复后,需要重新切换到由主服务器对外提供业务。
# 操作步骤
申请IoTCenter主备服务器的license。
操作步骤
由于IoTCenter主备服务器需要访问同一个数据库,因此,在申请license时,要求IoTCenter主、备服务器license文件中的密钥必须一致!否则热备组网中的一台IoTCenter主机将无法解密数据库中加密的数据。在申请License时,需要将IoTCenter主、备服务器的注册码一起申请license,并注明两台服务器要组热备。
配置IoTCenter主用服务器为主、备工作模式:在IoTCenter的数据库GWExProc表中,配置主备插件:GWBackUpCore.STD.dll。
操作步骤
参数含义:
Proc_parm:备机IP:备机端口/主机端口号/MS/主机IP
本例中的配置:192.168.0.203是备机的IP,8015是备机的通讯端口,8016是主机的发送端口,192.168.0.134是主机的IP。
IoTCenter服务器上的设备按正常方式配置。
配置数据库,保证主备服务器都是连接的同一个数据库
操作步骤
修改配置文件:
vi /opt/ganwei/IoTCenter/data/AlarmCenter/AlarmCenterProperties.xml
修改完之后重启服务,常用指令:
利用keepalived和浮动ip实现主备配置(以CentOS为示例)
操作步骤
首先,在主机和备机服务器上安装keepalived软件
yum install keepalived
然后,配置主备服务器的keepalived.conf:
编辑keepalived.conf:
vi /etc/keepalived/keepalived.conf
参考如下配置文件进行配置
interface查看方式:
ip addr
备机的配置同理,注意备机的state要改为BACKUP。
在主备服务器中都启动keepalived:
service keepalived start
查看keepalived状态:
service keepalived status
防火墙设置:检查服务器是否有启动firewalld防火墙:
systemctl status firewalld
如果显示类似如下,则表示本机有启动firewalld服务,否则无需后续执行防火墙命令的操作。
执行防火墙命令:
firewall-cmd --add-protocol=vrrp
firewall-cmd --runtime-to-permanent
检查服务器IP:
ip -br a
在主备服务器中启动网关:
cd/opt/ganwei/IoTCenter/bin/ nohup dotnet GWHost1.dll >/dev/null 2>&1 &
cd/opt/ganwei/IoTCenter/IoTCenterWeb/publish/ nohup dotnet IoTCenterWebApi.dll >/dev/null 2>&1 &
到这里就配置完成了!
查看配置完后服务器的效果。用服务器管理所有设备,设备状态显示为绿色,有数值。
操作步骤
备服务器不和设备通信,设备状态显示为橙色,无数值。
检查双机热备效果
检验一下双机热备效果:当停掉主机服务时:
主机无法访问,备机测点状态由橙色变为正常颜色
用sh脚本实现当主机服务故障时,keepalived服务从主机自动切换到备机
脚本:
具体解释和操作请观看视频从 18 分钟开始的内容:视频