Skip to content

#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 //数据库运行情况检查间隔
主服务器请设置大优先级,备用服务器设置低优先级。
非抢占模式下:

  1. 配置完成后,优先启动的服务器将优先获得虚拟IP。
  2. 如果主服务器网络中断,虚拟IP切换到备用服务器;
  3. 如果主服务器数据库通讯异常,虚拟IP切换到备用服务器;
  4. 备用服务器获得虚拟IP后,主服务器正常,虚拟IP仍然保留在备用服务器。
    抢占模式下:
  5. 配置完成后,优先启动的服务器将优先获得虚拟IP。
  6. 如果主服务器网络中断,虚拟IP切换到备用服务器;
  7. 如果主服务器数据库通讯异常,虚拟IP切换到备用服务器;
  8. 备用服务器获得虚拟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: truetrue:抢占模式,优先级高者拥有虚拟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. 准备工作

  1. 联系麦杰工程师获取数据库热备软件OPRouter;
  2. 联系麦杰工程师获取实时数据库openPlant;
  3. 复制两个软件到目的服务器上;
  4. root权限运行数据库目录下licrep工具,获取机器码,并提前向麦杰申请数据库授权文件。
  5. 数据库授权文件放置在数据库目录license文件夹。

3.2. 程序部署

  1. Linux服务器A,复制数据库程序到指定目录并解压
    unzip openPlant-5.0.11-linux-x64.zip
  2. 配置数据库目录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>
  1. Linux服务器A,将OPRouter工具复制到数据库文件夹内并解压
    cp opRouter-lin-20241031.tar.gz linux-x64-hs/
    tar -zxvf opRouter-lin-20241031.tar.gz
    OPRouter双机热备配置文档2525.png
    OPRouter双机热备配置文档2527.png
  2. 设置数据库文件夹下全部内容具有可执行权限
    chmod +x -R linux-x64-hs
    OPRouter双机热备配置文档2575.png
  3. 查看服务器网卡信息,该网卡用来绑定虚拟ip,示例网卡名称如下所示为ens32
    OPRouter双机热备配置文档2616.png
  4. 编辑目的虚拟IP配置文件:vi opRouter/conf/config.yaml
    OPRouter工具默认连接本地数据库,数据库信息不用改变。
    dbDir数据库路径,即当前数据库主目录
    interface:需要配置虚拟IP的网卡
    Vip:虚拟ip
    Script:检查脚本,为数据库目录下script的目录
    OPRouter双机热备配置文档2835.png
  5. 添加到系统服务,./routerforever install
    OPRouter双机热备配置文档2869.png
  6. 启动程序,./routerforever start
    OPRouter双机热备配置文档2898.png
  7. 执行ip addr,查看虚拟IP是否生效
    OPRouter双机热备配置文档2921.png
  8. 通过数据库控制台连接数据库,查看数据库启动是否正常
  9. 需要停止程序时,执行./routerforever stop
    OPRouter双机热备配置文档2980.png
  10. 若服务器B为Linux系统,配置步骤参考服务器A。
  11. 若服务器B为Windows系统,配置步骤请参考window程序部署。
  12. 程序日志目录 /tmp/,op_check.log检查脚本日志,op_router.log为程序运行日志。

4. 程序部署(Windows)

数据库热备软件opRouter,配合openPlant实时数据库镜像功能,实现服务器间浮动IP自动监测切换。
注意:Windows环境下,openPlant程序需要优先启动。

4.1. 准备工作

  1. 联系麦杰工程师获取数据库热备软件OPRouter;
  2. 联系麦杰工程师获取实时数据库openPlant;
  3. 复制两个软件到目的服务器上;
  4. 管理员权限运行数据库目录下licrepui.exe工具,获取机器码,并提前向麦杰申请数据库授权文件。
  5. 数据库授权文件放置在数据库目录license文件夹。

4.2. 程序部署

  1. Windows操作系统,复制数据库程序到指定目录下,解压安装
  2. Window环境下需要提前启动数据库
    OPRouter双机热备配置文档3350.png
  3. 复制程序opRouter压缩包数据库目录下,解压提取到当前位置
    OPRouter双机热备配置文档3400.png
  4. 进行opRouter配置文件设置,windows路径下请使用\分割
    OPRouter双机热备配置文档3437.png
  5. 启动opRouter程序,主程序opRouter.exe
    OPRouter双机热备配置文档3468.png
  6. ipconfig查看虚拟IP是否生效
    OPRouter双机热备配置文档3489.png
  7. 关闭窗口即关闭程序
  8. 程序日志目录%temp%,op_check.log检查脚本日志,op_router.log为程序运行日志。

5. 常见问题

  1. 缺少驱动
    如果启动程序提示wpcap.dll缺少时,请进入driver文件夹双击npcap-1.80.exe完成驱动安装,安装过程请按照默认配置下一步完成安装。
    OPRouter双机热备配置文档3587.png
    OPRouter双机热备配置文档3589.png
    默认安装,其他不需要变更:
    OPRouter双机热备配置文档3606.png
    OPRouter双机热备配置文档3608.png
  2. 缺少授权
    检查数据库授权文件,当数据库授权不在时无法启动
    OPRouter双机热备配置文档3640.png
  3. 网卡名称输入错误
    Windows下输入网卡名称时,多了空格:正确”以太网”,错误”以太网 ”。另外特别需要注意括号为英文。
    OPRouter双机热备配置文档3705.png
    OPRouter双机热备配置文档3707.png
  4. 日志问题
    enter BACKUP state 进入备用状态,虚拟IP不在改机器上
    enter MASTER state 进入主用状态,虚拟IP在改机器上
    OPRouter双机热备配置文档3790.png
  5. 路径问题
    当数据库路径或者检查脚本路径配置错误时,程序抢占切换等优先级将无法正常工作,详细信息可查看程序日志。Linux日志路径/tmp,Windows日志路径%temp%。
  6. 当防火墙无法关闭时,Linux系统部署的服务可能会产生相同虚拟IP的情况,此时需要执行如下命令即可解决:
    firewall-cmd --add-protocol=vrrp --permanent
    firewall-cmd --reload