Skip to content

Windows 双机热备

请注意:双机间openPlant镜像同步时,请配置SY=1,确保点名同步情况下ID也尽量一致。

1.双机热备文件说明

conf.yaml:双机热备配置文件
VIPConfig.exe:可执行文件
当前只支持windows操作系统,其它操作系统请联系技术支持人员获取支持

2.双机热备使用说明

conf.yaml配置文件的参数说明

################本机心跳的IP和端口####################
日志级别
LogLevel: info
监听端口(Linux/Windows)
Port: 8140
################连接心跳对端服务器的IP和端口###########
###其它服务器IP及Port(Linux/Windows)
Address: 192.168.1.35:8140

################心跳配置信息#########################
#心跳和连接循环周期,单位:毫秒;1000毫秒=1秒(Linux/Windows)
Cycle: 500
#连接几次连接不上,即默认对方宕机(Linux/Windows)
AttemptsTimes: 3

################打印配置信息#########################
#打印周期,单位:毫秒;1000毫秒=1秒(Linux/Windows)
PrintfTime: 3000

################要注册的IP配置信息####################
#注册IPName(Linux/Windows)
DefaultName: 以太网
#注册IPAddress(Linux/Windows)
DefaultIp: 192.168.1.73
#子网掩码(Linux/Windows)
Mask: 255.255.255.0
#网关(Linux/Windows),局域网内可以不设置
GateWay: 192.168.1.1

################要注册的第二IP配置信息####################
#注册IPName(Linux/Windows)
DefaultName2: 以太网1
#注册IPAddress(Linux/Windows)
DefaultIp2: 192.168.1.73
#子网掩码(Linux/Windows)
Mask2: 255.255.255.0
#网关(Linux/Windows),局域网内可以不设置
GateWay2: 192.168.1.1

VIPConfig.exe运行启动说明

首先将conf.yaml和VIPConfig.exe放置到所分配的同一路径下,例如为D:\ipconfig。
填写好conf.yaml双机热备配置文件,最后鼠标右键点击VIPConfig.exe以管理员身份运行即可。

3.VIP 原理

程序在运行过程中会通过对方的IP信息发送心跳信息,当检测到要注册的IP不能正常连接时会开始发起投票,当对端认为你可以成为主机,或者对端连不上的时候,认为对方赞成你成为主机,则执行IP配置命令,将自己变为主机。
程序支持配置两个浮动IP,当两个IP都不可用的时候执行发起投票的流程。

###如何判断浮动IP不可用
程序在运行过程中会一直检测IP是否可用,通过TCP连接发送数据给浮动IP,同时检测当前IP是否在自己头上。
###切换说明
机器A 机器B 结果
心跳线 浮动IP1 浮动IP2 心跳线 浮动IP1 浮动IP2
√ √ √ √ × × A为主机
√ √ √ √ × √ 清除IP,重新投票
√ √ √ √ √ × 清除IP,重新投票
√ √ √ √ √ √ 清除IP,重新投票
√ √ × √ × × A为主机
√ √ × √ × √ 清除IP,重新投票
√ √ × √ √ × 清除IP,重新投票
√ √ × √ √ √ 清除IP,重新投票
√ × √ √ × × A为主机
√ × √ √ × √ 清除IP,重新投票
√ × √ √ √ × 清除IP,重新投票
√ × √ √ √ √ 清除IP,重新投票
× √ √ × × × A为主机
× √ √ × × √ 删除复制状态的浮动IP2
× √ √ × √ × 删除复制状态的浮动IP1
× √ √ × √ √ 删除复制状态的浮动IP1和IP2
× √ × × × × A为主机
× √ × × × √ 两个IP在不通的机器上
× √ × × √ × 删除复制状态的浮动IP1
× √ × × √ √ 删除复制状态的浮动IP1
× × × × × × 重新投票
× × × × × √ B为主机
× × × × √ × B为主机
× × × × √ √ B为主机

4.Windows 双机热备常见问题和解决方法

conf.yaml配置文件问题

如何填写本机的本地连接状态名、物理地址和IPv4地址

win+R组合键,调出命令窗口--输入cmd,点击确定--输入命令【ipconfig/all】,按回车键Enter--找到当前的网络适配器,即可找到本机的本地连接状态名、物理地址和IPv4地址。
本地连接状态名如果有空格,用户需将此配置文件中本地连接状态名也保留有空格。否则切换网络出现错误解析。

如何填写端口号

从0~65535全部是标准端口,但是从0~1024号端口是系统端口,用户无法修改。
从1025~65534端口是系统为用户预留的端口,建议用户在此范围填写,而65535号端口为系统保留。
建议用户填写端口号前,先确定该端口未被占用。具体操作方法见下文标题端口号是否被占用。

端口号是否被占用

win+R组合键,调出命令窗口--输入cmd,点击确定--输入命令【netstat -ano】,按回车键Enter,即可查看所有被占用端口的情况。

如何填写对端服务机器IP地址

输入对方IP和端口 格式 ×××.×××.×××.×××:×××
以上所有的符号要用英文符号填写,不能有空格。

如何填写网关地址

网关地址填写必须是本机所在的网段中的IP地址,网关地址请根据真实网关地址填写,局域网内的网关地址可以不填写。

心跳检测周期

心跳检测代表每用户要求的定时时间向主机及其他服务机器组循环发送一个数据包,并收到机器反馈情况。心跳检测周期单位时间为毫秒。

主机故障反馈次数

当连接对方几次以后不能连上后,认为对方不能连接上。

程序运行问题

主机机器选择问题说明

若用户未指定机器的外网本地连接IPv4地址修改为其注册IPv4地址,程序将自动随机选择一台机器作为主机。若用户修改指定机器为外网的IPv4地址,系统将按用户指定的机器作为主机。

若机器为两台,两台机器程序界面同时显示“I’m master”会话内容说明

其中一台机器肯定为主机,运行良好。另外一台机器宕机,可能有网线接触不良、网络问题等原因,用户需检查网线是否接触良好、网络运行状态是否正常等。

若机器为两台,已经宕机的主机机器,修复好后接通网络,窗口返回windows提示IP地址冲突说明

主机已经存在,运行正常。不会抢占其IP作为主机,用户无需任何操作,若现运行的主机宕机,原宕机的主机会自动成为主机。

4.VIP运行说明

该程序只能在Windows操作系统平台上运行。
该程序是实时报告运行状态,程序会不断运行,不会出现闪退以及退出情况。
如果发生报错或者退出情况,请及时联系我们。

5.版本说明

V1.0

该版本基于Windows操作系统平台,Go语言环境实现,完成windows VIP功能。