keepalived+nginx

 Lvs

    LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集羣系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。目前有三種IP負載均衡技術(VS/NAT、VS/TUN和VS/DR)

DR模式     

    DR模式是什麼?撇開lvs調度算法部分,DR模式的原理就是,將報文直接路由給目標服務器(Direct Routing),其實這裏沒有routing啥事情,叫做Direct Select更準確一些,爲什麼這麼說呢?因爲他直接不修改數據包,他直接把數據包打包成以太網的數據幀,只是這個數據幀裏的目標MAC地址是最終的真實服務器的MAC地址,所以DR模式要求在同一個物理網段,不能跨路由。

    當目標服務器收到這個數據幀的時候,把它解包,當服務器發現數據包的目標地址(也就是VIP)是在本地的網絡設備上(一般都是在真實服務器的lo:0上綁定一個vip地址),服務器處理這個數據包,然後根據本地路由表將響應報文直接返回給客戶。

    keepalived來進行lvs的建立和服務器和vip的健康檢查,其實keepalived就像一個shell,他自動的給你做lvs+vrrp。keepalived本身來做真實服務器的健康檢查,vrrp來做vip的冗餘。

安裝keepalived以及ipvsadm

直接yum安裝

keepalived配置文件

wKioL1Qf3zLjggESAABOvb_J_bU147.png

wKioL1Qf3zLRyfYWAAAaNreX9Yk958.png

lvs_sync_daemon_inteface eth0  #負載均衡器之間的監控接口,類似於HA HeartBeat的心跳線。但它的機制優於Heartbeat,因爲它沒有“裂腦”這個問題,它是以優先級這個機制來規避這個麻煩的。在DR模式 中,lvs_sync_daemon_inteface 與服務接口interface 使用同一個網絡接口

virtual_router_id 51 #虛擬路由標識,這個標識是一個數字,並且同一個vrrp實例使用唯一的標識。即同個vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同時在整個vrrp內是唯一的

auth_type PASS #同一vrrp實例MASTER與BACKUP 使用相同的密碼才能正常通信

delay_loop 3 #健康檢查的間隔

lb_algo rr #lvs的調度算法

lb_kind DR #lvs的調度模式

persistence_timeout 50 #連接保持的超時時間,保證一個用戶的連接總是導向到同一個服務器,當用戶第一次訪問的時候,他的訪問請求被負載均衡器轉給某個真實服務器,這樣他看到一個登陸頁面,第一次訪問完畢;接着他在登陸框填寫用戶名和密碼,然後提交;這時候,問題就可能出現了—登陸不能成功。因爲沒有會話保持,負載均衡器可能會把第2次的請求轉發到其他的服務器

TCP_CHECK 

connect_timeout 3  #服務器健康檢查的方式,以及timeout的時間。#健康檢查的方式還有獲取http內容等。

在啓動keepalived之後使用以下命令查看ipvs規則

ipvsadm -L -N

後端Realserver配置主要是已下操作

echo "1" /proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" /proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" /proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" /proc/sys/net/ipv4/conf/all/arp_announce





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章