LVS+Keepalived高可用負載均衡叢集架構
keepalived 簡介
keepalived的設計目標是構建高可用的LVS負載均衡群集,可以呼叫ipvsadm工具來建立虛擬伺服器,管理伺服器池,而不僅僅用來做雙機熱備。使用keepalived構建LVS群集更加簡便易用,主要優勢體現在:
對LVS負載排程器實現熱備切換,提高可用性;
對伺服器池中的節點進行健康檢查,自動移除失效節點,恢復後再重新加入;
keepalived可以實現服務的高可用或熱備,用來防止單點故障的問題。Keepalived的核心VRRP協議,VRRP協議主要實現了在路由器或三層交換機處的冗餘,Keepalived就是使用VRRP協議來實現高可用的。
keepalived作用
如果有一臺web伺服器當機,或工作出現故障,Keepalived將檢測到,並將有故障的web伺服器從系統中剔除,當web伺服器工作正常後Keepalived自動將web伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的web伺服器。
Keepalived的程式碼結構和工作圖示:
虛擬路由器冗餘協議(VRRP)是一種選擇協議,VRRP透過優先順序來確定由誰當master,誰當backup。
LVS是一個開源的軟體,可以實現LINUX平臺下的簡單負載均衡。
當使用者的請求發往虛擬伺服器,LB根據設定的包轉發策略和負載均衡排程演算法將使用者請求轉發給RS。RS再將使用者請求結果返回給使用者。同請求包一樣,應答包的返回方式也與包轉發策略有關。
NAT(Network Address Translation)模式、IP隧道(IP Tunneling)模式 、DR(Direct Routing)模式,其中最常見、使用最多的是DR模式。
1、proxy和proxy2節點時間必須同步;建議使用ntp協議進行。
2、節點之間必須要透過主機名互相通訊;建議使用hosts檔案;
注意:通訊中使用的名字必須與其節點為上“uname -n”命令展示出的名字保持一致。
3、節點之間彼此root使用者能基於ssh金鑰方式進行通訊;
# ssh-copy-id -i .ssh/id_rsa.pub proxy2
# ssh-copy-id -i .ssh/id_rsa.pub proxy
123 [root@proxy ~]# date ; ssh proxy2 date
root@example:~# apt-get install libssl-dev libpopt-dev \\安裝openssl及popt
root@example:~# apt-get install keepalived
root@example:~# vim /etc/keepalived/keepalived.conf \\建立keepalived的配置檔案進行編寫
!Configuration File for keepalived
root@example.com #當出現問題時,傳送的收件人地址,可以設定多個
notification_email_from sysadmin@163.com #設定郵件的傳送地址
smtp_server 127.0.0.1 #設定smtp server的地址,該地址必須是存在的
smtp_connect_timeout 30 #設定連線smtp server的超時時間
router_id LVS_DEVEL # 執行Keepalived伺服器的標識,發郵件時顯示在郵件標題中的資訊
vrrp_instance VI_1 { # #定義VRRP例項,例項名自定義
state MASTER #指定Keepalived的角色,MASTER為主伺服器,BACKUP為備用伺服器
virtual_router_id 51 #虛擬路由標識,這個標識是一個數字(1-255),在一個VRRP例項中主備伺服器ID必須一樣,與整個vrrp中也是一致的
priority 100 #優先順序,數字越大優先順序越高,在一個例項中主伺服器優先順序要高於備伺服器
advert_int 1 #設定主備之間同步檢查的時間間隔,單位秒
auth_type PASS #型別主要有PASS、AH兩種,通常使用的型別為PASS
auth_pass 1111 #設定驗證密碼,在一個例項中主備密碼保持一樣
virtual_ipaddress { #定義虛擬IP地址,可以有多個,每行一個
virtual_server 172.16.31.188 80 {#設定虛擬伺服器,需要指定虛擬IP與服務埠,用空格分隔
lb_kind DR #設定LVS實現負載均衡的機制,可以為{NAT|TUN|DR}三種
persistence_timeout 60 #會話保持時間,單位為秒;這個選項對於動態網頁是非常有用的,為叢集系統中session共享提供了一個很好的解決方案
protocol TCP #指定轉發協議型別可以設定{TCP|UDP}兩種
real_server 172.16.31.50 80 { #後端伺服器節點,需要指定RS的IP與埠,用空格分隔
TCP_CHECK { #設定檢測Realserver的方式為Tcp檢查,還可以是 HTTP_GET
delay_before_retry 3 #設定超時後重試間隔
HTTP_GET { #設定檢測Realserver的方式為http協議
status_code 200 #設定返回狀態碼為200表示Realserver是存活的
}
delay_before_retry 3 #設定超時後重試間隔
HTTP_GET { #設定檢測Realserver的方式為http協議
status_code 200 #設定返回狀態碼為200表示Realserver是存活的
}
delay_before_retry 3 #設定超時後重試間隔
root@example1:~# apt-get install libssl-dev libpopt-dev
root@example1:~# apt-get install keepalived
######修改如下兩項
[root@proxy2 ~]#
vim /etc/keepalived/keepalived.conf
state BACKUP #備份伺服器
啟動服務:
# service keepalived start; ssh proxy2 "service keepalived start"
觀察各節點的服務啟動後的日誌:
MASTER節點的日誌;
[root@proxy keepalived]#
tail -f /var/log/messages
BACKUP節點的日誌:
[root@proxy2
keepalived]# tail -f /var/log/messages
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-1824310/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LVS+keepalived DR模式配置高可用負載均衡叢集模式負載
- Haproxy+Keepalived高可用負載均衡叢集負載
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載
- 高可用+高併發+負載均衡架構設計負載架構
- LVS+Keepalived 實現高可用負載均衡負載
- 3.RabbitMQ高階叢集搭建(Haproxy負載均衡、Keepalived高可用)MQ負載
- 負載均衡叢集負載
- LVS+Keepalive 實現負載均衡高可用叢集負載
- Nginx負載均衡高可用Nginx負載
- 搭建Keepalived + Nginx + Tomcat的高可用負載均衡架構NginxTomcat負載架構
- keepalived高可用負載均衡負載
- Linux CentOs叢集LVS+Keepalived負載均衡的實現LinuxCentOS負載
- 淺談MySQL叢集高可用架構MySql架構
- dubbo叢集和負載均衡負載
- Linux下"負載均衡+高可用"叢集的考慮點 以及 高可用方案說明(Keepalive/Heartbeat)Linux負載
- Flume高可用負載均衡問題負載
- 【Linux】叢集和負載均衡Linux負載
- Tomcat叢集與負載均衡Tomcat負載
- 基於MySQL Cluster + LVS + KeepAlived部署負載均衡高可用架構MySql負載架構
- 構建MHA實現MySQL高可用叢集架構MySql架構
- LVS+keepalived負載均衡負載
- 負載均衡 LVS+Keepalived負載
- orleans叢集及負載均衡實現負載
- haproxy(單機)+mysql叢集負載均衡MySql負載
- 伺服器叢集和負載均衡伺服器負載
- 負載均衡的mariadb叢集搭建負載
- Keepalived實現Nginx負載均衡高可用Nginx負載
- Mycat 雙主雙從-負載均衡-高可用負載
- nginx反向大理和負載均衡以及高可用Nginx負載
- java程式設計—如何搭建Keepalived+Nginx+Tomcat高可用負載均衡架構Java程式設計NginxTomcat負載架構
- 負載均衡 - MQTT Broker 叢集詳解(一)負載MQQT
- apache tomcat叢集配置和負載均衡ApacheTomcat負載
- 大型網站--負載均衡架構網站負載架構
- 基於MySQL雙主複製架構下部署LVS+KeepAlived負載均衡MySql架構負載
- haporxy+keepalived實現負載均衡+高可用負載
- Keepalived+HAproxy實現高可用負載均衡負載
- LVS+KEEPALIVED負載均衡實驗負載
- LVS+Keepalived負載均衡配置部署負載