磐维安装部署实战避坑--vip挂载问题:挂载VIP不生效
背景
。数据库版本------ 3.1.0
。模式------------- A
集群管理支持通过回调脚本方式在主备切换场景下自动切换 VIP 的功能。
cm_agent 在本地数据库角色发生切换为主库时,可以通过回调脚本或配置参
数的形式,绑定 VIP 地址;当本节点数据库角色切换为备机时,主动解除 VIP
地址绑定。
问题
VIP挂载失败
步骤 1 切换至数据库安装用户(本文以用户 omm 为例)。
步骤 2 在 cm_agent 目录下创建回调脚本 cm_callback.sh。
步骤 3 修改完回调脚本 cm_callback.sh
步骤 4 修改集群中每个节点的 cm_agent 配置文件
cm_agent.conf 中的 callback_bin_path 参数,将建的 shell 脚本路径
/database/panwei/cm/cm_agent/cm_callback.sh 写入。
vi cm_agent.conf
vi $GAUSSHOME/bin/alarmConfig.conf
修改内容:
callback_bin_path = /database/panwei/cm/cm_agent/cm_callback.sh
修改完cm_callback.sh后,重启集群,vip无法挂上
分析
首次修改cm_callbackup.sh时由于sudo权限缺失无法挂上,后再次进行挂载仍然无法成功挂成功
在cm_agent日志发现报错,vip值为无效值
查看cm_callbackup.sh脚本,ip、掩码、广播地址均无问题
结合报错信息猜测,cm_agent.conf配置文件无法获取到正确的VIP地址导致,查看cm_agent.conf配置文件,发现两个callbackup_bin_path参数配置
猜测配置文件读取时顺序从上到下,读取到第一个callback_bin_path后即刻回传给上一层脚本,无法读取到最后一个callback_bin_path参数
必坑解决
检查配置文件cm_agent.conf和alarmConfig.conf两个文件,避免使用echo方式写入callback_bin_path地址,检查callback_bin_path参数是否重复,删除掉第一个callback_bin_path后重启集群,vip成功挂上




