高可用:保障业务出现故障的时候,进行快速的切换,从而不影响到业务的正常运转。shell
VIP(虚拟IP):高可用技术离不开VIP,高可用的原理其实就是用户经过VIP访问业务,而VIP会映射到对应的服务器IP。数据库
默认状况下,客户端经过192.168.74.150的IP映射到192.168.74.149这台主zabbix的服务,若是主zabbix_server服务器关机了,那么客户端继续使用192.168.74.150的IP就会映射到备用zabbix_server(192.168.74.148)这台服务。服务器
安装两台zabbix_server,一台数据库服务器(主zabbix_server和备zabbix_server的数据都保存在这台数据库上)3d
备:zabbix_server:192.168.74.148rest
主:zabbix_server:192.168.74.149server
一台数据库服务器:192.168.74.128blog
本实验都内容须要利用逻辑网卡做为VIP(192.168.74.150)crontab
cd /etc/sysconfig/network-scriptsip
拷贝当前服务器网卡文件,个人网卡是ifcfg-ens33虚拟机
cp ifcfg-ens33 ifcfg-ens33:0
编辑ifcfg-ens33:0 文件(两台zabbix_server都ifcfg-ens33:0文件中,ip都改成192.168.74.150做为虚拟ip)
如今任意一台zabbix_server上启动ifcfg-ens33:0,确认网卡是否能够启动。
注意:不能够同时在两台zabbix_server启用ifcfg-ens33:0,不然会出现IP冲突。
逻辑网卡启动命令是ifup 网卡名,使用ifup命令,只重启新增都网卡便可,作好不要用systemctl network restart命令重启所有网卡,一旦这条命令致使网卡启动失败,将会致使没法远程服务器。
ifup ifcfg-ens33:0
在window主机上安装agent,把agent配置文件的server_ip指向192.168.74.150这个虚拟IP,确认是否能够经过192.168.74.150映射到192.168.74.149这个zabbix_server服务
此时已经能够经过虚拟IP(192.168.74.150)访问到192.168.74.149的zabbix_server。
但同时出现了一个问题,如图,全部的监控主机ZBX出现爆红
为了解决上面的问题,须要修改全部监控主机的zabbix_agentd.conf的server ip都指向192.168.74.150
PS:修改完agent的配置,必定要重启zabbix_agent
重启zabbix_server:Systemctl restart zabbix_server
以上配置完成后,界面的监控主机将恢复正常
主机的数据也正常
在192.168.74.149和192.168.74.148两台服务器上编写脚本check_alive .sh
并在两台服务器上crontab -e的定时任务中加入这个脚本,执行这个脚本的时间由用户自定义。本人暂时以60s一次执行这个监测脚本。PS:给这个脚本可执行的权限:chmod o+x 755 check_alive.sh
之因此设置60s执行一次脚本,是为了待会演示关闭192.168.74.149这台虚拟机,而后界面会没法访问。接着等待60s,备用zabbix_server的192.168.74.148就会启用vip,界面就能够继续访问zabbix_server。正常来讲,设置3-10s比较合适,这样才能作到快速切换。
PS:必定要用绝对路径,不然可能会报错
关闭主zabbix_server(192.168.74.149虚拟机),此时vip在 主zabbix_server上
关闭主zabbix_server(192.168.74.149)后,备zabbix_server就没法ping通 vip:192.168.74.150了
等待60s,vip(192.168.74.150)会出如今备用zabbix_server(192.168.74.148)
vip切换成功,刷新界面看一下可否访问zabbix_server
界面访问正常
主zabbix_server关机了,全部没法获取数据。
本实例能够确保zabbix_server服务进行高可用,但有一个缺点,就是两个zabbix_zabbix_server服务使用可是同一个数据库服务器,若是这个数据库服务器挂掉,一样会没法获取数据,因此最好也作一下数据库的高可用。