近期一个系统的运行环境出现故障,需要把程序和中间件等安装到一台新服务器上,处理过程几经波折。现在将处理过程记录下来,以便学习总结,也希望能够给遇到类似问题的攻城狮们提供一点帮助。
应用程序使用haproxy + keepalied + jboss7在两台服务器上进行部署。最近,其中一台服务器出现硬件故障,需要将应用迁移到新服务器上。
服务器没有网络环境,首先下载了一haproxy1.8.5版本进行安装,在源码编译时出错,然后更换成1.8.6的版本,安装成功,然后将原服务器上的haproxy.conf和haproxy.sh复制过来,直接就可以使用。
在安装keepalived时,先使用了2.1.5版本进行安装,做配置检查时提示缺少openssl包,又下载了openssl1.1.g版本进行安装。然后编译安装keepalibed,然后将原服务器的haproxy_check.sh和keeplied.conf复制过来,然后进行了多次启动尝试。
1、第一次启动失败,提示权限不足,对shell进行提权操作。
2、再次启动,提示不能打开共享文件,经过多次查找,未找到问题,然后使用了一个。1.4版本的软件进行重新安装。
3、启动提示 no process found. 在网上查找相关问题解决办法未果,在检查haproxy_check.sh脚本时,发现里面有用到网卡名称的地方,对脚本进行修改,又对keepalived.conf中的网卡明细进行修改,再进行启动,还是没有启动成功。
4、根据haproxy_check.sh记录的日志文件,发现每次检查都是失败,没有获取到IP地址。在shell脚本中找到了获取IP地址的命令, 和新旧服务器的网卡输出内容进行分析,发现两台服务器输出的内容不一样,原来的命令不能获取到ip,根据新服务器的内容调整命令,在进行启动,启动成功了。
然后在两台服务器上对虚拟Ip的自动映射进行了测试,测试也是ok的。
至此,大功告成。