1. 程式人生 > >LVS+DR+Keepalived實現高可用群集

LVS+DR+Keepalived實現高可用群集

一、keepalived基礎知識

vrrp協議

用來實現路由器冗餘的協議:
Vrrp協議(VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議)是為了消除在靜態預設路由環境下路由器單點故障引起的網路失效而設計的主備模式的協議,使得發生故障而進行設計裝置功能切換時可以不影響內外資料通訊,不需要再修改內部網路的網路引數。Vrrp協議需要具有IP備份,優先路由選擇,減少不必要的路由器通訊等功能,

Vrrp協議將兩臺或多臺路由器裝置虛擬成一個裝置,對外提供虛擬路由器IP(一個或多個)。而在路由器組內部,如果實際擁有這個對外IP的路由器如果工作正常的話,就是master,或者是通過演算法選舉產生的,MASTER實現針對虛擬路由器IP的各種網路功能,如ARP請求,ICMP,以及資料的轉發等,其他裝置不具有該IP,狀態是BACKUP。除了接收MASTER的VRRP狀態通告資訊外,不執行對外的網路功能,當主級失效時,BACKUP將接管原先MASTER的網路功能。

配置VRRP協議時需要配置每個路由器的虛擬路由ID(VRID)和優先權值,使用VRID將路由器進行分組,具有相同VRID值的路由器為同一個組,VRID是一個0-255的整整數,;同一個組中的路由器通過使用優先權值來選舉MASTER。,優先權大者為MASTER,優先權也是一個0-255的正整數。

keepalived工作原理

keepalived是以VRRP協議為實現基礎的.

虛擬路由冗餘協議,可以認為是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組,這個組裡面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在區域網內其他機器的預設路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據VRRP的優先順序來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個模組,分別是core、check和vrrp。
core模組為keepalived的核心,負責主程序的啟動、維護以及全域性配置檔案的載入和解析。
check負責健康檢查,包括常見的各種檢查方式,以及對應的配置解析包括LVS的配置解析,。
vrrp模組是來實現VRRP協議的。

總結:在vrrp協議的基礎上實現了伺服器主機的負載均衡,VRRP負責排程器之間的高可用。

二、環境

1)配置LVS主從排程器

排程器配置依照上篇文章即可,配置步驟完全一樣(配置LVS從排程器與主排程器的配置一樣)。

2)配置web節點1-4

參考上幾篇文章即可,配置步驟一樣(四個節點都要配置)

3)NFS共享

參考上幾篇文章即可,配置步驟一樣

三、配置LVS+Keepalived高可用群集

1)在主排程器上配置     (注:從排程器和和主排程器的安裝方法一樣)

//安裝支援軟體
yum -y install kernel-devel openssl-devel popt-devel
//編譯安裝keepalived
tar zxf keepalived-1.2.13
cd /keepalived-1.2.13
./configure --prefix=/ --with-kernel-dir=/usr/localkernels/2.6.32......._64 && make && make install
ls -l /etc/init.d/keepalived   //自動生成的指令碼檔案
chkconfig  --add keepalived
chkconfig keepalived on
//此處keepalived安裝完畢

 2)檢視主keepalived的配置檔案(從keepalived的配置和主一樣,在配置的時候主要有三個地方不一樣:優先順序99,排程器名稱R2,熱備狀態為BACKUP)  

vim  /etc/keepalived/keepalived.conf
~~~~~~以下就是keepalived的主配置檔案~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
global_defs {
notification_email { 指定keepalived在發生切換時需要傳送email到的物件。
[email protected]
}
notification_email_from [email protected] #指定發件人
smtp_server smtp.163.com #指定smtp伺服器地址
smtp_connect_timeout 3 #指定smtp連線超時時間
router_id LVS_DEVEL #執行keepalived的一個標識
}
vrrp_sync_group VG_1{ #監控多個網段的例項
group{
inside_network #例項名
outside_network }
notify_master /path/xx.sh #指定當切換到master時,執行的指令碼
netify_backup /path/xx.sh #指定當切換到backup時,執行的指令碼
notify_fault "path/xx.shVG_1" #故障時執行的指令碼
notify /path/xx.sh #指令碼所在目錄
smtp_alert #使用global_defs中提供的郵件地址和smtp伺服器傳送郵件通知}
#VRRP例項定義段
vrrp_instance VI_1 {
state MASTER #指定哪個為MASTER,哪個為BACKUP
interface eth0 #設定例項繫結的網絡卡
virtual_router_id 51 #VRID標記
priority 100 #優先順序,高優先順序的DR會搶佔為master (預設為搶佔模式)
advert_int 1 #檢查間隔,1秒
authentication { #設定認證
auth_type PASS #認證方式
auth_pass 1111 #認證字串(使用 openssl rand -hex 6生成隨機字串)注:密碼主從要一致哦
}
virtual_ipaddress { #設定VIP
        172.16.16.172
}
sorry_server 127.0.0.1 80 #web伺服器全部失敗,可以指定Sorry web
}
virtual_server 172.16.16.172 80 {
delay_loop 6 #健康檢查時間間隔,單位秒
lb_algo rr #負載排程演算法,支援的演算法:rr|wrr|lc|wlc|lblc|sh|dh
lb_kind DR #LVS的型別:有NAT|DR|TUN
nat_mask255.255.255.0 #子網掩碼
persistence_timeout50 #會話保持時間,單位秒(可以適當延長時間以保持session)
protocol TCP #轉發協議型別,有TCP和UDP兩種
  real_server  172.16.16.177 80 { #定義RS 服務
weight 1#權重
#inhibit_on_failure #當伺服器健康檢查失效時,將weight設定為0不是直接從ipvs中刪除
#notify_up <STRING>|<QUOTED-STRING>#Server啟動時執行的指令碼
#notify_down <STRING>|<QUOTED-STRING>#Server down時執行的指令碼
#後端RS伺服器的檢查 (HTTP_GET 和SSL_GET):
SSL_GET {
url { #檢查url,可以指定多個,status_codeand digest
path /
digest ff20ad #或者status_code 200 ....
}
connect_timeout 3 #連線超時時間
nb_get_retry 3 #重連次數
delay_before_retry 3 #重連間隔時間
}
#也可以通過TCP_CHECK判斷RealServer的健康狀況:
}
}

3)輔助命令

service  keepalived start  //啟動服務
ip addr  show  dev eth0   //檢視vip是否存在
less  /var/log/messages   //keepalived的日誌檔案位置,可以看到master和slave的狀態的遷移記錄

相關推薦

LVS+DR+Keepalived實現可用群集

一、keepalived基礎知識 vrrp協議 用來實現路由器冗餘的協議: Vrrp協議(VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議)是為了消除在靜態預設路由環境下路由器單點故障引起的網路失效而設計的主備模式的協議

LVS-DR+keepalived實現可用負載均衡

介紹 LVS是Linux Virtual Server的簡寫,意即Linux虛擬伺服器,是一個虛擬的伺服器集群系統。本專案在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟體專案之一。 Keepalived 主要用作RealServer的健康狀態檢查以及Load

部署LVS-DR+Keepalived搭建可用web群集

chm com 優先級 install 調整 state wall boot shadow 實現LVS的DR模式 一. 實驗環境 三臺機器: Director節點: (ens33 192.168.10.53 vip ens33:0 192.168.10.80)

LVS-DR模式及lvs結合keepalived實現可用

lvs定義 LVS的英文全稱是Linux Virtual Server,即Linux虛擬伺服器。它是我們國家的章文嵩博士開發的一個開源專案,1998年5月釋出,是中國國內最早出現的自由軟體專案之一。我們只要在server上裝了ipvsadm軟體包就可以定義ipvs規則,在linux ke

lvs+keepalived實現可用群集配置詳解

https://www.linuxzen.com/lvskeepalivedshi-xian-gao-ke-yong-qun-ji-pei-zhi-xiang-jie.html lvs是一個開源的軟體,由畢業於國防科技大學的章文嵩博士於1998年5月創立(中國人的專案

Keepalived實現LVS-DR集群可用

cti 上線 bash 自己的 高可用性 touch from 輔助 lib 一、集群高可用概述 單純的lvs/nginx反向代理模型做負載集群應用時,DR(director)存在單點故障隱患,故需要有機制來保證DR的高可用性。常用的高可用性方案有Keepalived、co

lvs負載均衡的四種模式原理,LVSDR模型,LVS+keeaplived實現負載均衡,keepalived實現可用

一,LVS的簡介: Linux virtual system,是由目前阿里著名工程師章文嵩開發的一寬開源的軟體。LVS工作在一臺server上提供Directory(負載均衡器)的功能,它本身並不提供任何服務,只是把特定的請求轉發給對應的realserver(

【Linux】LVS+Keepalived實現可用負載均衡(Web群集

一、Keepalived概述 keepalived是一個類似於layer3,4,5交換機制的軟體,也就是我們平時說的第3層、第4層和第5層交換。Keepalived的作用是檢測web伺服器的狀態,

LVS+Keepalived實現可用負載均衡

lvs+keepalived 高可用 負載均衡 用LVS+Keepalived實現高可用負載均衡,簡單來說就是由LVS提供負載均衡,keepalived通過對rs進行健康檢查、對主備機(director)進行故障自動切換,實現高可用。1. LVS NAT模式配置準備三臺服務器,一臺director, 兩

LVS-keepalived實現可用

keepalived前言: LVS是基於內核實現負載均衡的,在小編的上一篇演示中我們已經實現了LVS的NAT模式和DR模式,但是企業中只有負載均衡是不行的,如果一臺負載均衡器楚翔了故障,那麽就會導致整個集群的不可用,所以這裏結合LVS我們通過keepalived這個神器來實現高可用。 高可用:通常來描

LVS+Keepalived實現可用

LVS;KeepaliveLVS可以實現負載均衡,但是不能夠進行健康檢查,比如一個rs出現故障,LVS 仍然會把請求轉發給故障的rs服務器,這樣就會導致請求的無效性。keepalive 軟件可以進行健康檢查,而且能同時實現 LVS 的高可用性,解決 LVS 單點故障的問題,其實 keepalive 就是為 L

LVS+Keepalived構建可用群集

客戶 ML 相同 0.10 eal 平臺 defs vrrp $0 今天以DR模式的LVS群集為基礎,增加了一臺從負載調度器,使用keepalived來實現主、備調度服務器的熱備,從而構架具有負載均衡、高可用兩種能力的LVS網站群集平臺。 網站拓撲架構圖 系統環境

LVS+Keepalived 實現可用負載均衡叢集

LVS+Keepalived  實現高可用負載均衡叢集     隨著網站業務量的增長,網站的伺服器壓力越來越大?需要負載均衡方案!商業的硬體如 F5 ,Array又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?同時還需要實現商業硬體一樣的高效能高可

LVS健康檢查及keepalived實現可用叢集

LVS健康檢查 我們前面做的那些LVS的各種模式部署,都沒有健康檢查這一功能,就是說在我們搭建的負載均衡叢集中,如果後端伺服器RS全部宕掉了,客戶端就無法訪問到服務端的資料,這時我們應該給客戶端一些提示,說明伺服器暫時無法訪問。 配置(搭建好LVS-DR模式負載均衡的前提下) 在

利用lvs+keepalived實現可用負載均衡環境的部署

http://wangwq.blog.51cto.com/8711737/1852212 ,執行即可(注意指令碼的VIP,不同的realserver對應不同的VIP) 1 2 3 4 5 6

LVS+Keepalived 實現可用負載均衡

## 前言 在業務量達到一定量的時候,往往單機的服務是會出現瓶頸的。此時最常見的方式就是通過負載均衡來進行橫向擴充套件。其中我們最常用的軟體就是 Nginx。通過其反向代理的能力能夠輕鬆實現負載均衡,當有服務出現異常,也能夠自動剔除。但是負載均衡服務自身也可能出現故障,因此需要引入其他的軟體來實現負載均衡服

Keepalived實現可用Nginx反向代理

keepalived實現高可用nginx反向代理由於好久沒有接觸過負載相關的調試了復習一下實驗系統:(1)CentOS 6.5_x86_64;(2)共有二臺主機,本實驗以ip地址來命名主機,即10主機、11主機。實驗前提:防火墻和selinux都關閉,主機之間時間同步實驗軟件:nginx-1.10.2-1.e

Linux運維學習之keepalived實現可用集群

keepalived 高可用 lvs 集群技術是一種較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,其任務調度則是集群系統中的核心技術。高可用高可用集群,簡單的說,集群就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。 高可用

mysql+proxysql+keepalived實現可用的數據庫讀寫分離

mysql讀寫分離 主從復制 proxysql前言 為了降低一臺數據庫的IO,遠程連接數據庫的時候,可以實現讀寫分離進行調度。這裏就出現了一個單點,所以必須要做一個高可用。當然數據庫服務器也需要做主從復制。實驗結構 說明:上圖的拓撲只是整個架構中的一個小部分,其余功能的實現此圖並未規

項目實戰3—Keepalived 實現可用

ack logs 時間 mage 通知機制 http targe not table 實現基於Keepalived高可用集群網站架構   環境:隨著業務的發展,網站的訪問量越來越大,網站訪問量已經從原來的1000QPS,變為3000QPS,目前業務已經通過集群LVS架