keepalived+opengauss 高可用

由于 opengauss 是主备 ,主down了 需要手动在备节点 执行命令启动,所以做了 简单的HA

1 安装

opengauss 安装

keepalived 安装

yum install keepalived

2 配置

keepalived

master

vi keepalived.conf 

! Configuration File for keepalived
global_defs {
  router_id 127.0.0.1
}
vrrp_instance VI_1 {
  state master      #两台配置此处均是BACKUP
  interface enp2s0f0
  virtual_router_id 59
  nopreempt                   
  priority 100      #优先级,另一台改为90 
  advert_int 1
  authentication {
      auth_type PASS
      auth_pass 1111
  }
  virtual_ipaddress {
      10.199.100.233
  }
}
virtual_server 10.199.100.233 26000 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  persistence_timeout 50        
  protocol TCP
	real_server 10.199.100.210 26000 {
		  weight 3
		  notify_down /tmp/nimei.sh    
		  TCP_CHECK { 
			  connect_timeout 10
			  delay_before_retry 3 
		  }
      }

}



vi /tmp/nimei.sh 


echo "主出现问题了 触发了 脚本执行 "
# 备节点上执行
ssh guassdb-02 "sh /tmp/changeStatus.sh"
pkill keepalived

echo "脚本 执行结束。"

backup

! Configuration File for keepalived
global_defs {
  router_id 127.0.0.1
}
vrrp_instance VI_1 {
  state BACKUP
  interface enp2s0f0
  virtual_router_id 59
  priority 90
  advert_int 1
  authentication {
      auth_type PASS
      auth_pass 1111
  }
  virtual_ipaddress {
      10.199.100.233
  }
}
virtual_server 10.199.100.233 26000 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  persistence_timeout 50
  protocol TCP
	real_server 10.199.100.211 26000 {
		  weight 3
		  notify_down /tmp/nimei.sh 
		  TCP_CHECK { 
			  connect_timeout 10
			  delay_before_retry 3 
		  }
      }	 
} 



vi /tmp/changeStatus.sh

echo "210 主 出现问题 ,备升为 主。。。"
su - omm -c "gs_ctl failover -D /opt/huawei/install/data/db1 && gs_om -t refreshconf"
echo  备 升为主 结束 。。。

3 opengauss 需要修改的

主备都要修改

26001 修改为 26009(或者别的)

4 验证时刻

备节点 升为主

经验分享 程序员 微信小程序 职场和发展