nginx配置keepalived(伺服器的心跳檢測系統)
阿新 • • 發佈:2019-01-28
Keepalived的作用是檢測伺服器的狀態,如果有一臺web伺服器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後Keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的伺服器。
三.測試一下keepalived是否已經安裝好
(圖1)
用ip測試訪問時候,會顯示兩個ip,一個本服務ip,另一個是虛擬ip
2.副伺服器
(圖2)
3.進入你的mysql根目錄下,我的是 /var/www/html,建一個index.php(預設訪問檔案,兩臺伺服器都執行),並設定不同內容
4.訪問你定義的虛擬ip地址192.168.1.223,這時候會顯示你主機index.php所顯示內容
5.關閉主伺服器的keepalived,即演示當主伺服器down掉時,keepalived是否會起到監聽作用,立刻切換到副伺服器
6.訪問副機ip ,ip addr ,這時候顯示圖1內容,即顯示本機ip,又顯示虛擬ip, 說明keepalived已起到作用,現已切換到副伺服器.
7..再次訪問你定義的虛擬ip地址192.168.1.223,這時候會顯示你副機index.php所顯示內容
這樣,你的keepalived就已經安裝成功了,為自己慶祝一下吧
(若副伺服器顯示不成功,一般是配置問題,或者主伺服器keepalived程序沒殺死的原因,大家再研究一下吧)
配置
主伺服器ip:192.168.1.148
副伺服器ip:192.168.1.127
虛擬ip:192.168.200.25
一.下載keepalved安裝包,安裝
你可以從官網下選擇自己下載的版本點選開啟連結,嫌麻煩的話可以直接執行以下命令:
cd /home mkdir keep #為了不讓安裝的檔案太亂,我在home目錄下建了一個資料夾 cd keep wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz tar -zxvf keepalived-1.2.2.tar.gz cd keepalived-1.2.2 ./configure --prefix=/home/keep/keepalived-1.2.2 #進入配置檔案進行配置,/home/keep是你檔案路徑 make && make install
補充: 在大家進行./configure 有的機器會報錯,這裡為大家提供一個簡單的解決方案。
1.遇到keepalived執行./configure --prefix=/usr/local/keepalived時報錯:configure: error: Popt libraries is required
解決方法:
yum install popt-devel #安裝好popt的開發包。
重新./configure 即可。
二.安裝到系統,預設的啟動腳本里寫的是系統路徑,所以需要拷貝一些檔案到系統目錄下$ cp /home/keep/keepalived-1.2.2/etc/rc.d/init.d/keepalived /etc/init.d/ $ cp /home/keep/keepalived-1.2.2/sbin/keepalived /usr/sbin/ $ cp /home/keep/keepalived-1.2.2/etc/sysconfig/keepalived /etc/sysconfig/ $ mkdir -p /etc/keepalived/ $ cp /home/keep/keepalived-1.2.2/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
三.測試一下keepalived是否已經安裝好
cd /etc/init.d/ #進入目錄
sh keepalived start #啟動
sh keepalived stop #停止
sh keepalived restart #重啟
(以上步驟在主伺服器和副伺服器上都要進行操作)
四.修改伺服器配置檔案
1.修改主伺服器
2.修改副伺服器vim /etc/keepalived/keepalived.conf #進入配置檔案 vrrp_instance VI_1 { state MASTER #主伺服器預設為master interface eno16777736 #繫結虛擬IP的網路介面 virtual_router_id 51 #設定驗證資訊,和slave一樣 priority 100 #主機高於slave advert_int 1 #檢測伺服器狀態間隔時間 authentication { auth_type PASS auth_pass 1111 #設定密碼最好複雜點,以免衝突 } virtual_ipaddress { 192.168.1.223 #虛擬IP地址,可以為多個 } } sh keepalived restart #重啟
vim /etc/keepalived/keepalived.conf #進入配置檔案
vrrp_instance VI_1 {
state SLAVE #副伺服器為slave
interface eno16777736 #繫結虛擬IP的網路介面
virtual_router_id 51 #設定驗證資訊,和master一樣
priority 80 #副機低於master
advert_int 1 #檢測伺服器狀態間隔時間
authentication {
auth_type PASS
auth_pass 1111 #設定密碼最好複雜點,以免衝突
}
virtual_ipaddress {
192.168.1.223 #虛擬IP地址,可以為多個
}
}
sh keepalived restart #重啟
五.測試 1.主機 ip addr #測試主機上的keepalived是否已繫結虛擬ip
如果成功,則顯示如下情況:(圖1)
用ip測試訪問時候,會顯示兩個ip,一個本服務ip,另一個是虛擬ip
2.副伺服器
ip addr #測試副機上狀態是否成功,當主機存在時,副機則不顯示虛擬ip
如果成功,則顯示如下情況:(圖2)
3.進入你的mysql根目錄下,我的是 /var/www/html,建一個index.php(預設訪問檔案,兩臺伺服器都執行),並設定不同內容
4.訪問你定義的虛擬ip地址192.168.1.223,這時候會顯示你主機index.php所顯示內容
5.關閉主伺服器的keepalived,即演示當主伺服器down掉時,keepalived是否會起到監聽作用,立刻切換到副伺服器
ps aux|grep keepalived #檢視keepalived程序
killall keepalived #關閉所有程序
ps aux|grep keepalived #再看一下是否已關閉
這時候用 ip addr 訪問,就顯示圖2內容,只顯示本機ip;6.訪問副機ip ,ip addr ,這時候顯示圖1內容,即顯示本機ip,又顯示虛擬ip, 說明keepalived已起到作用,現已切換到副伺服器.
7..再次訪問你定義的虛擬ip地址192.168.1.223,這時候會顯示你副機index.php所顯示內容
這樣,你的keepalived就已經安裝成功了,為自己慶祝一下吧
(若副伺服器顯示不成功,一般是配置問題,或者主伺服器keepalived程序沒殺死的原因,大家再研究一下吧)