weiliwei 发表于 2019-1-25 11:02:23

mysql 之 主从加 keepalive 在生产系统应用(zabbix)

  我们的生产平台上使用了zabbix,zabbix使用的数据库是mysql,并且数据量还比较大,每个月产生的数据文件有10G以上,经过上篇《mysql 之 主从数据加keepalive》的操练之后,具备了向生产系统运用的条件,选用生产系统的zabbix(开源监控平台) 练手非常合适。
  原系统是单机系统, zabbix采用的是linux+apache+mysql+PHP环境,典型的LAMP,现在我们需要做的就是将mysql变成 主从双 机,并且在主从双机上安装配置keepalived,最后将php程序连接mysql的IP地址改为 主从双机的VIP。
  现网zabbix环境(单机):
  zabbix服务器:10.0.0.111
  mysql服务器:10.0.0.111

  首先参照《mysql 之 主从同步(单向同步和双向同步)》这篇博客。选择内网一台比较空闲的服务器10.0.0.10作为另外一台mysql服务器,在这台服务器上安装mysql,然后在这2台服务器上安装配置keepalived。选择一个内网空闲IP地址作为VIP。
  改造后的系统环境如下(主从双机):
  zabbix服务器:   10.0.0.111 (php +apache)

  MySql-01:    10.0.0.111   (部署keepalived+mysql)

  MySql-02:   10.0.0.10    (部署keepalived+mysql)
  VIP:            10.0.0.15    (将php指向VIP)
  安装详细过程是参照《mysql 之 主从同步(单向同步和双向同步)》和《mysql 之 主从数据加keepalive》进行操作的,这里就不详细写了,过程中碰到下面的问题,记录下来备忘:

  1、配置mysql的主从同步,配置的是双向同步;
  2、配置文件/etc/keepalived/keepalived.conf中,
  ..........

  vrrp_instance VI_1 {
    state master      
    interface em1
  ...............
  网络接口需要根据实际使用的网卡进行修改。
  3、修改zabbix服务器上的/usr/share/zabbix/conf/zabbix.conf.php文件$DB['SERVER'] 参数:
  $DB['SERVER']   = '10.0.0.15';
  这个参数修改完之后不需要重启应用,直接生效。
  

  测试过程:

  1、 在MySql-01中将mysqld服务停止:
  service mysqld stop
  在MySql-01、MySql-02中使用ip addr查看IP地址,VIP地址10.0.0.15从MySql-01切换到了MySql-02中。通过web界面访问zabbix应用,不受影响,说明平滑切换成功。此时查看MySql-01的keepalived服务是关闭的:

  #service keepalived status
   keepalived is stopped


  2、恢复服务。在MySql-01服务器中将mysqld开启:
  service mysqld start
  将keepalived服务开启:
  service keepalived start
  此时的VIP还是在MySql-02上,如果想把VIP切回MySql-01,那么在MySql-02上执行 service keepalived restart就可以了,因为keepalived服务重启的过程是先关闭再启动,关闭的时候另一台主机的keepalived会接管VIP,从而达到切换的目的。




页: [1]
查看完整版本: mysql 之 主从加 keepalive 在生产系统应用(zabbix)