高可用:保障業務出現故障的時候,進行快速的切換,從而不影響到業務的正常運轉。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服務使用可是同一個數據庫服務器,若是這個數據庫服務器掛掉,一樣會沒法獲取數據,因此最好也作一下數據庫的高可用。