我们的生产平台上使用了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,从而达到切换的目的。
本文转自yuweibing51CTO博客,原文链接:http://blog.51cto.com/yuweibing/1745234 ,如需转载请自行联系原作者