Appearance
#opRouter使用说明
1. 软件介绍
OPRouter数据库热备工具为麦杰自研的数据库热备工具,配合openPlant实时数据库,支持windows和Linux系统下服务器间实现热备切换。
软件分别部署通常两台或者多台服务器上,各服务器具有独立IP,而且是在同个局域网。此时需要为这组热备服务器分配一个虚拟IP,OPRouter程序将会检测服务器的网络通信情况以及服务器上数据库工作情况,如果主服务器网络中断或者数据库主程序异常,则将正常工作的服务器作为主服务器,秒级实现服务器间热备切换。服务器上部署的数据库热备工具,需要完成优先级和虚拟IP配置。
2. 热备切换机制
双机热备切换主要参数:
priority: 170 //优先级取值[1,255],数字越大,级别越高,抢占模式下优先级生效
preempt: true //true:抢占模式,优先级高者拥有虚拟IP;false:非抢占,虚拟IP不会随优先级自动切换
weight: 20 //数据库运行情况检查权重
interval: 2 //数据库运行情况检查间隔
主服务器请设置大优先级,备用服务器设置低优先级。
非抢占模式下:
- 配置完成后,优先启动的服务器将优先获得虚拟IP。
- 如果主服务器网络中断,虚拟IP切换到备用服务器;
- 如果主服务器数据库通讯异常,虚拟IP切换到备用服务器;
- 备用服务器获得虚拟IP后,主服务器正常,虚拟IP仍然保留在备用服务器。
抢占模式下: - 配置完成后,优先启动的服务器将优先获得虚拟IP。
- 如果主服务器网络中断,虚拟IP切换到备用服务器;
- 如果主服务器数据库通讯异常,虚拟IP切换到备用服务器;
- 备用服务器获得虚拟IP,主服务器正常后,虚拟IP切换至主用服务器。
配置参数详解:
参数名称 | 参数解释 |
openplant | |
ip: "127.0.0.1" | 本地数据库IP |
port: 8200 | 本地数据库端口 |
user: "sis" | 本地数据库用户名 |
password: "openplant" | 本地数据库密码 |
connTimeout: 200 # ms | 连接超时时间,建议保持默认 |
rwTimeout: 500 # ms | 读写超时时间,建议保持默认 |
dbDir: "/home/magus/linux-x64" | 数据库目录,windows示例"D:\temp" |
opRouter | |
interface: "ens32" | 设置虚拟IP的目标网卡 |
vip: "192.168.3.159" | 虚拟IP |
priority: 150 | 优先级取值[1,255],数字越大,级别越高,抢占模式下优先级生效 |
preempt: true | true:抢占模式,优先级高者拥有虚拟IP;false:非抢占,虚拟IP不会随优先级自动切换 |
script: "/home/magus/linux-x64-hs/opRouter/script" | 数据库运行情况检查程序,需要根据系统情况区分: windows:"D:\openPlant-5.0.11\opRouter\script" Linux: "/home/magus/linux-x64-hs/opRouter/script" |
weight: 20 | 数据库运行情况检查权重 |
interval: 2 | 数据库运行情况检查间隔 |
3. 程序部署(Linux)
数据库热备软件opRouter,配合openPlant实时数据库镜像功能,实现服务器间浮动IP自动监测切换。
Linux环境下,需要由opRouter程序启动openPlant。
请区分x86和arm等不同cpu架构,根据实际情况选择程序版本。
3.1. 准备工作
- 联系麦杰工程师获取数据库热备软件OPRouter;
- 联系麦杰工程师获取实时数据库openPlant;
- 复制两个软件到目的服务器上;
- root权限运行数据库目录下licrep工具,获取机器码,并提前向麦杰申请数据库授权文件。
- 数据库授权文件放置在数据库目录license文件夹。
3.2. 程序部署
- Linux服务器A,复制数据库程序到指定目录并解压
unzip openPlant-5.0.11-linux-x64.zip - 配置数据库目录config/replicator.xml文件,添加到另外热备服务器的镜像关系配置
比如A服务器数据库配置文件replicator.xml,配置镜像参数,B服务器IP(XX.XX.XX.XX),镜像范围W3->W3:
<?xml version="1.0" encoding="utf-8"?>
<openPlant>
<Replicator PN="mirror" IP="XX.XX.XX.XX" PO="8200" AR="1" SY="1" FL="0" >
<RepItem PN="W3" TN="W3" XF="0" />
</Replicator>
</openPlant>
同理,B服务器数据库配置文件replicator.xml,配置镜像参数,目的为A服务器IP(XX.XX.XX.XX),镜像范围W3->W3:
<?xml version="1.0" encoding="utf-8"?>
<openPlant>
<Replicator PN="mirror" IP="XX.XX.XX.XX" PO="8200" AR="1" SY="1" FL="0" >
<RepItem PN="W3" TN="W3" XF="0" />
</Replicator>
</openPlant>
- Linux服务器A,将OPRouter工具复制到数据库文件夹内并解压
cp opRouter-lin-20241031.tar.gz linux-x64-hs/
tar -zxvf opRouter-lin-20241031.tar.gz - 设置数据库文件夹下全部内容具有可执行权限
chmod +x -R linux-x64-hs - 查看服务器网卡信息,该网卡用来绑定虚拟ip,示例网卡名称如下所示为ens32
- 编辑目的虚拟IP配置文件:vi opRouter/conf/config.yaml
OPRouter工具默认连接本地数据库,数据库信息不用改变。
dbDir数据库路径,即当前数据库主目录
interface:需要配置虚拟IP的网卡
Vip:虚拟ip
Script:检查脚本,为数据库目录下script的目录 - 添加到系统服务,./routerforever install
- 启动程序,./routerforever start
- 执行ip addr,查看虚拟IP是否生效
- 通过数据库控制台连接数据库,查看数据库启动是否正常
- 需要停止程序时,执行./routerforever stop
- 若服务器B为Linux系统,配置步骤参考服务器A。
- 若服务器B为Windows系统,配置步骤请参考window程序部署。
- 程序日志目录 /tmp/,op_check.log检查脚本日志,op_router.log为程序运行日志。
4. 程序部署(Windows)
数据库热备软件opRouter,配合openPlant实时数据库镜像功能,实现服务器间浮动IP自动监测切换。
注意:Windows环境下,openPlant程序需要优先启动。
4.1. 准备工作
- 联系麦杰工程师获取数据库热备软件OPRouter;
- 联系麦杰工程师获取实时数据库openPlant;
- 复制两个软件到目的服务器上;
- 管理员权限运行数据库目录下licrepui.exe工具,获取机器码,并提前向麦杰申请数据库授权文件。
- 数据库授权文件放置在数据库目录license文件夹。
4.2. 程序部署
- Windows操作系统,复制数据库程序到指定目录下,解压安装
- Window环境下需要提前启动数据库
- 复制程序opRouter压缩包数据库目录下,解压提取到当前位置
- 进行opRouter配置文件设置,windows路径下请使用\分割
- 启动opRouter程序,主程序opRouter.exe
- ipconfig查看虚拟IP是否生效
- 关闭窗口即关闭程序
- 程序日志目录%temp%,op_check.log检查脚本日志,op_router.log为程序运行日志。
5. 常见问题
- 缺少驱动
如果启动程序提示wpcap.dll缺少时,请进入driver文件夹双击npcap-1.80.exe完成驱动安装,安装过程请按照默认配置下一步完成安装。
默认安装,其他不需要变更: - 缺少授权
检查数据库授权文件,当数据库授权不在时无法启动 - 网卡名称输入错误
Windows下输入网卡名称时,多了空格:正确”以太网”,错误”以太网 ”。另外特别需要注意括号为英文。 - 日志问题
enter BACKUP state 进入备用状态,虚拟IP不在改机器上
enter MASTER state 进入主用状态,虚拟IP在改机器上 - 路径问题
当数据库路径或者检查脚本路径配置错误时,程序抢占切换等优先级将无法正常工作,详细信息可查看程序日志。Linux日志路径/tmp,Windows日志路径%temp%。 - 当防火墙无法关闭时,Linux系统部署的服务可能会产生相同虚拟IP的情况,此时需要执行如下命令即可解决:
firewall-cmd --add-protocol=vrrp --permanent
firewall-cmd --reload