一、總體架構圖以下html
二、環境準備linux
今天所配置的是keepalived+nginx 的負載均衡nginx
下載keepalived軟件shell
[root@LB01 tools]# wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz編程
注意安裝前檢查內核的link文件小程序
root@LB02 tools]# ll /usr/src/服務器
total 8網絡
drwxr-xr-x. 2 root root 4096 Sep 23 2011 debug架構
drwxr-xr-x. 3 root root 4096 Oct 19 02:03 kernels負載均衡
lrwxrwxrwx. 1 root root 43 Oct 19 02:05 linux -> /usr/src/kernels/2.6.32-642.6.1.el6.x86_64/
安裝keepalived以前,安裝幾個依賴包
yum install openssl-devel -y
yum install popt* -y
而後進行編譯安裝keepalived,前面介紹了安裝過程,這裏就不演示了
./configure得出下面的結果
Keepalived configuration
------------------------
Keepalived version : 1.1.17
Compiler : gcc
Compiler : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
Use VRRP Framework : Yes
Use LinkWatch : No
Use Debug flags : No
注意./configure以後的結果,沒有錯誤就能夠了
make && make install
以後規範配置、啓動文件路徑
/bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
/bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived -p
/bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
/bin/cp /usr/local/sbin/keepalived /usr/sbin/
/etc/init.d/keepalived start
注:nginx負載均衡相關配置請參考前面的文章
三、實戰配置keepalived
[root@LB01 keepalived]# vi keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
abc@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 1.1.1.1
smtp_connect_timeout 30
router_id LVS_3
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 19
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.254/24
}
}
[root@LB02 keepalived]# vi keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
abc@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 1.1.1.1
smtp_connect_timeout 30
router_id LVS_6
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 19
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.254/24
}
}
[root@LB01 keepalived]# /etc/init.d/keepalived start
Starting keepalived: [ OK ]
[root@LB02 keepalived]# /etc/init.d/keepalived start
Starting keepalived [ OK ]
[root@LB01 keepalived]# ip add|grep 192.168.1.254
inet 192.168.1.254/24 scope global secondary eth0
[root@LB02 keepalived]# ip add|grep 192.168.1.254
測試訪問
代表能夠正常切換
如今咱們模擬keepalived主宕機,再測試
[root@LB01 conf]# /etc/init.d/keepalived stop
Stopping keepalived: [ OK ]
[root@LB02 ~]# ip add|grep 254
inet 192.168.1.254/24 scope global secondary eth0
四、反向代理服務故障自動切換
若是實際生產環境中當keeplived主的服務器nginx服務宕機,可是主又有VIP,這時就出現沒法訪問的現象,所以能夠作以下的配置,使得這種狀況可自已切換
vi check_nginx.sh
#!/bin/sh
white true
do
PNUM=`ps -ef|grep nginx|wc -l`
#這裏也可以使用nmap 192.168.1.3 -p 80|grep open|wc -l來判斷個數
if [ $PNUM -lt 3 ];then
/etc/init.d/keepalived stop >/dec/null 2>&1
kill -9 keealived >/dec/null 2>&1
kill -9 keealived >/dec/null 2>&1
fi
sleep 5
done
sh check_nginx.sh &
啓動個守護進程進行檢查(或者加入定時任務定時執行檢查),若是nginx服務出現故障,就立馬停掉keepalived的服務,讓它自動切換到備節點上去,這樣就實現了自動切換的工做
粉絲福利來了
請看下文
農曆新年即將到來,物質生活是好了,可是咱們的思想食糧也不能落後啊,這不,民工哥此次聯合——華章科技
華章科技成立於1995年,是機械工業出版社華章公司創立最先的子品牌,專一於爲計算機、電子工程等IT領域的專業讀者提供學習解決方案。
爲各位粉絲們帶來了新年的福利
跟老男孩學Linux運維繫列
資深運維架構實戰專家及教育培訓界頂尖專家十多年的運維實戰經驗總結
跟老男孩學Linux運維:核心系統命令實戰
本書是一本較完整的、偏重實戰的Linux命令圖書,並不是大而全而是小而精,不少命令講解均取之於企業中解決問題的實戰案例,並結合老男孩十幾年的運維工做和教學工做進行了梳理。
跟老男孩學Linux運維:Shell編程實戰
本書全面系統地講解運維工做中Shell編程所需的知識點和Shell編程的各類企業級案例。實戰性強,不只講解了Shell編程所涉及的各類核心技術點,還運用Shell編程針對整個企業網站集羣架構中的多個網絡服務進行了部署、優化、自動化運維及監控等環節的實踐,並指導你細緻掌握Shell編程的運維規範和方法。
跟老男孩學Linux運維:Web集羣實戰
本書系統講解網站集羣架構的框架模型以及各個節點的企業級搭建和優化。實戰性強,不只講解了Web集羣所涉及的各類技術,還針對整個集羣中的每一個網絡服務節點給出解決方案,並指導你細緻掌握Web集羣的運維規範和方法。
購書連接:https://item.jd.com/12274751.html
送書規則以下
一、長按下方小程序掃碼參與抽獎送出一本(核心系統命令)
二、在文未寫出您與運維工做相愛相殺的故事,精選留言點贊第一名送出一本(shell編程實戰)
三、在精選留言中隨機選出一名幸運讀者送出一本(WEB集羣實戰)
四、獲獎的小夥伴在一個工做日內在公衆號後臺發送 手機號+姓名+收貨地址,逾期則自動視爲放棄
五、本次活動僅限公衆號讀者參加(留言越精彩越有機會被精選)
六、活動截止時間2018年2月2日12:30
須要參與活動的小夥伴可關注公衆號在相關的文章後參加送書活動