• 根據功能劃分爲兩大類:高可用和負載均衡html
• 高可用集羣一般爲兩臺服務器,一臺工做,另一臺做爲冗餘,當提供服務的機器宕機,冗餘將接替繼續提供服務mysql
• 實現高可用的開源軟件有:heartbeat、keepalivedlinux
• 負載均衡集羣,須要有一臺服務器做爲分發器,它負責把用戶的請求分發給後端的服務器處理,在這個集羣裏,除了分發器外,就是給用戶提供服務的服務器了,這些服務器數量至少爲2臺nginx
• 負載均衡器(Load Balancer, LB )是一組可以將IP數據流以負載均衡形式轉發到多臺物理服務器的集成軟件。有硬件負載均衡器和軟件負載均衡器之分,硬件負載均衡器主要是在訪問網絡和服務器之間配置物理負載均衡設備,客戶端對物理服務器的訪問請求首先會抵達負載均衡設備,而後再由負載均衡設備根據必定的負載算法轉發到後端服務器。相比而言,軟件負載均衡器不須要特定的物理設備,只需在相應的操做系統上部署具備負載均衡功能的軟件便可。git
• 在Opens tack高可用集羣部署中,服務的負載均衡和高可用主要有兩種主流的實現方案,即 HAProxy+ Keepalived和Pacemaker+HAProxy方案。因爲OpenStack服務組件多樣,不一樣服務均須要進行特定的高可用設計,而且從集羣資源統一調度和集羣穩定性的角度考慮,後一種方案是多數OpenStack廠商的高可用部署方案首選,可是選用後一方案並不意味着Keepalived在OpenStack高可用集羣部署中不被使用。因爲Keepalived 的主要做用之一是進行虛擬路由的故障切換,其在Neutron 的L3 高可用設計與實現中起着舉足輕重的做用。github
• keepalive經過VRRP(Virtual Router Redundancy Protocl)協議來實現的WEB服務高可用方案,能夠利用其來避免單點故障。使用多臺節點安裝keepalived。其餘的節點用來提供真實的服務,一樣的,他們對外表現一個虛擬的IP。主服務器宕機的時候,備份服務器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。web
• master經過VRRP向backup發送數據包,backup沒接收到VRRP數據包的時候,說明master就宕機了,根據權重接手成爲master。算法
是一個基於VRRP(虛擬路由冗餘協議)可用來實現服務高可用性的軟件方案,避免出現單點故障。Keepalived通常用來實現輕量級高可用性,且不須要共享存儲,通常用於兩個節點之間,常見有LVS+Keepalived、Nginx+Keepalived組合。sql
Keepalived的項目實現的主要目標是簡化LVS項目的配置並加強其穩定性,即Keepalived是對LVS項目的擴展加強。Keepalived爲Linux系統和基於Linux 的架構提供了負載均衡和高可用能力,其負載均衡功能主要源自集成在Linux內核中的LVS項目模塊IPVS( IP Virtual Server ),基於IPVS提供的4 層TCP/IP協議負載均衡, Keepalived也具有負載均衡的功能,此外, Keepalived還實現了基於多層TCP/IP 協議( 3 層、4 層、5/7 層)的健康檢查機制,所以, Keepalived在LVS 負載均衡功能的基礎上,還提供了LVS 集羣物理服務器池健康檢查和故障節點隔離的功能。除了擴展LVS的負載均衡服務器健康檢查能力, Keepalived 還基於虛擬路由冗餘協議( Virtual Route Redundancy Protocol, VRRP )實現了LVS 負載均衡服務器的故障切換轉移,即Keepalived還實現了LVS負載均衡器的高可用性。Keepalived 就是爲LVS 集羣節點提供健康檢查和爲LVS 負載均衡服務器提供故障切換的用戶空間進程。mongodb
圖3-1爲Keepalived的原理架構圖,從圖中能夠看到, Keepalived的多數核心功能模塊均位於用戶空間,而僅有IPVS和NETLINK模塊位於內核空間,可是這兩個內核模塊正是Keepalived 實現負載均衡和路由高可用的核心模塊,其中的NETLINK主要用於提供高級路由及其相關的網絡功能。Keepalived的大部分功能模塊位於用戶空間,其中幾個核心功能模塊的介紹以下。
WatchDog :其主要負責監控Checkers和VRRP子進程的運行情況。
Checkers :此功能模塊主要負責真實服務器的健康檢查( HealthChecking ),是Keepalived最主要的功能之一,由於HealthChecking是負載均衡功能穩定運行的基礎, LVS集羣節點的故障隔離和從新加入均依賴於HealthChecking的結果。
VRRPStack :此功能模塊主要負責負載均衡器之間的故障切換,若是集羣架構中僅使用一個LVS負載均衡器,因爲自己不具有故障切換的條件,則VRRPStack不是必須的。
IPVS Wrapper :此模塊主要用來發送設定的規則到內核IPVS代碼。Keepalived的設計目標是構建高可用的LVS 負載均衡羣集, Keepalived在運行中將會經過IPVSWrapper模塊調用IPVSAdmin工具來建立虛擬服務器,檢查和管理LVS集羣物理服務器池。
Netlink Reflector :此功能模塊主要用來設定VRRP的VIP地址並提供相關的網絡功能,該模塊經過與內核中的NETLINK模塊交互,從而爲Keepalived 提供路由高可用功能。
從Keepalived 的實現原理和功能來看, Keepalived是開源負載均衡項目LVS的加強和虛擬路由協議VRRP實現的集合,即Keepalived經過整合和加強LVS與VRRP來提供高可用的負載均衡系統架構。
• 在這個協議裏會將多臺功能相同的路由器組成一個小組,這個小組裏會有1個master角色和N(N>=1)個backup角色。
• master會經過組播的形式向各個backup發送VRRP協議的數據包,當backup收不到master發來的VRRP數據包時,就會認爲master宕機了。此時就須要根據各個backup的優先級來決定誰成爲新的mater。
• Keepalived要有三個模塊,分別是core、check和vrrp。其中core模塊爲keepalived的核心,負責主進程的啓動、維護以及全局配置文件的加載和解析,check模塊負責健康檢查,vrrp模塊是來實現VRRP協議的。
• keepalive有三個模塊,core負責朱金城的啓動,維護和全局配置文件的加載和解析,check負載檢查健康,vrrp實現VRRP協議
• 實現負載均衡的開源軟件有LVS、keepalived、haproxy、nginx,商業的有F五、Netscaler
• Keepalived是一個基於VRRP協議來實現的WEB服務高可用方案,能夠利用其來避免單點故障。使用多臺節點安裝keepalived。其餘的節點用來提供真實的服務,一樣的,他們對外表現一個虛擬的IP。主服務器宕機的時候,備份服務器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。
• MASTER制定爲主控制節點,虛擬id兩個節點必須相同。delay_loop 指定6秒檢測服務狀態。
• 設置鏈接方式爲直連方式DR,負載策略爲輪叫方式rr,協議是TCP。而後咱們設置了兩個提供服務節點的IP和端口。分別爲192.168.2.108和192.168.2.109的80端口。也就是網頁訪問服務。
• 設置備機的配置文件,模式設置爲BACKUP,權重修改成50。這樣才能夠優先讓主控制節點接管。
.搭建keepalived服務
咱們使用四個節點來作這個實驗,兩個充當控制節點,另外兩個提供服務。而後用真機的瀏覽器訪問虛擬IP。
1.全部節點要作好解析。
2.時間同步
3.yum源設置好(除了基本的源,高可用等也要添加)
• 準備兩臺機器130和132,130做爲master,132做爲backup
• 兩臺機器都執行yum install -y keepalived
• 兩臺機器都安裝nginx,其中130上已經編譯安裝過nginx,132上須要yum安裝nginx: yum install -y nginx
• 設定vip爲100
• 編輯130上keepalived配置文件,內容從https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_keepalived.conf獲取
• 130編輯監控腳本,內容從https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_check_ng.sh獲取
• 給腳本755權限
• systemctl start keepalived 130啓動服務
•
• 132上編輯配置文件,內容從https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/backup_keepalived.conf獲取
• 132上編輯監控腳本,內容從https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/backup_check_ng.sh獲取
• 給腳本755權限
• 132上也啓動服務 systemctl start keepalived
實例:
安裝keepalived服務
在機器130和132上面,都把selinux和防火牆關了
[root@localhosts 01]# /etc/init.d/iptables stop
[root@localhosts 01]# setenforce 0
[root@localhosts 01]# yum install -y keepalived
[root@localhosts 02]# yum install -y keepalived
[root@localhosts 01]# ps aux | grep nginx #查看nginx服務
[root@localhosts 02]# rpm -qa |grep nginx #查看nginx服務有沒有安裝過
[root@localhosts 02]# yum install -y nginx #安裝NGINX服務
[root@localhosts 01]# ls /etc/keepalived/keepalived.conf #查看NGINX服務配置文件
[root@localhosts 01]# cat !$ #查看配置文件的內容
[root@localhosts 01]# vim /etc/keepalived/keepalived.conf
[root@localhosts 01]# > !$ #清空原始內容
[root@localhosts 01]]# !vim global_defs { #全局定義的參數 notification_email { #出現錯誤時候,給郵箱發郵件 aming@aminglinux.com } notification_email_from root@aminglinux.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_nginx { #檢測NGINX服務是否正常,檢測時間三秒鐘 script "/usr/local/sbin/check_ng.sh" interval 3 } vrrp_instance VI_1 { #定義MASTER state MASTER interface ens33 #經過ens33網卡發廣播 virtual_router_id 51 #定義路由器的ID priority 100 #權重 advert_int 1 authentication { #認證信息 auth_type PASS auth_pass aminglinux>com } virtual_ipaddress { #綁定的IP地址192.168.130.100 192.168.130.100 } track_script { chk_nginx #檢查NGINX腳本 } }
定義監控腳本
檢查NGINX腳本是否正常
[root@localhosts 01]]# vim /usr/local/sbin/check_ng.sh #時間變量,用於記錄日誌 d=`date --date today +%Y%m%d_%H:%M:%S` #計算nginx進程數量 n=`ps -C nginx --no-heading|wc -l` #若是進程爲0,則啓動nginx,而且再次檢測nginx進程數量, #若是還爲0,說明nginx沒法啓動,此時須要關閉keepalived if [ $n -eq "0" ]; then systemctl start nginx n2=`ps -C nginx --no-heading|wc -l` if [ $n2 -eq "0" ]; then echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log systemctl stop keepalived fi fi
[root@localhosts 01]# cat /usr/local/sbin/check_ng.sh #查看NGINX腳本
[root@localhosts 01]# chmod 755 /usr/local/sbin/check_ng.sh #賦予它執行的權限
[root@localhosts 01]# systemctl start keepalived #啓動keepalived
[root@localhosts 01]# ps aux |grep keep #查看keepalived服務有沒有啓動
[root@localhosts 01]# ps aux |grep nginx #查看nginx服務有沒有啓動
[root@localhosts 01]# /etc/init.d/nginx stop #中止NGINX服務 Stopping nginx (via systemctl): [ 肯定 ] [root@localhosts 01]# !ps #查看nginx服務會不會自動加載,若是出現了nginx,說明會自動加載。 [root@localhosts 01]# less /var/log/messages #查看nginx日誌 [root@localhosts 01]# ip add #查看ens33網卡,IP地址192.168.133.100 [root@localhosts 01]# iptables -nvL #查看防火牆 有沒有關 [root@localhosts 01]# getenforce #查看selinux有沒有關閉 [root@localhosts 02]# iptables -nvL #查看防火牆 有沒有關 [root@localhosts 02]# systemctl stop firewalld #關閉firewalld [root@localhosts 02]# getenforce #查看selinux有沒有關閉 Permissive [root@localhosts 02]# setenforce 0 [root@localhosts 02]# /etc/keeplived/keepalived.conf [root@localhosts 02]# vi !$ #只須要改一下IP地址就好了 global_defs { #全局定義的參數 notification_email { #出現錯誤時候,給郵箱發郵件 aming@aminglinux.com } notification_email_from root@aminglinux.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_nginx { #檢測NGINX服務是否正常,檢測時間三秒鐘 script "/usr/local/sbin/check_ng.sh" interval 3 } vrrp_instance VI_1 { #定義MASTER state MASTER interface ens33 #經過ens33網卡發廣播 virtual_router_id 51 #定義路由器的ID priority 100 #權重 advert_int 1 authentication { #認證信息 auth_type PASS auth_pass aminglinux>com } virtual_ipaddress { #綁定的IP地址192.168.130.100 192.168.133.100 } track_script { chk_nginx #檢查NGINX腳本 } } [root@localhosts 02]#vi /usr/local/sbin/check_ng.sh #時間變量,用於記錄日誌 d=`date --date today +%Y%m%d_%H:%M:%S` #計算nginx進程數量 n=`ps -C nginx --no-heading|wc -l` #若是進程爲0,則啓動nginx,而且再次檢測nginx進程數量, #若是還爲0,說明nginx沒法啓動,此時須要關閉keepalived if [ $n -eq "0" ]; then systemctl start nginx n2=`ps -C nginx --no-heading|wc -l` if [ $n2 -eq "0" ]; then echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log systemctl stop keepalived fi fi [root@localhosts 02]# chmod 755 !$ #修改權限,方便啓動。 [root@localhosts 02]# systemctl start keepalived #啓動keepalived服務 [root@localhosts 02]# ps aux |grep keep #查看keep 進程 [root@localhosts 02]# systemctl restart keepalived [root@localhosts 02]# ps aux |grep keep [root@localhosts 02]#
而後訪問組的IP,在百度上輸入IP:192.168.133.130
查看nginx默認的配置文件的位置
[root@localhosts 01]# cat /usr/local/nginx/conf/vhost #查看NGINX腳本 ld.conf proxy.conf ssl.conf test.com.conf [root@localhosts 01]# cat /usr/local/nginx/conf/vhost/aaa.com.conf [root@localhosts 01]#cat /data/wwwroot/default/index.html [root@localhosts 01]#
[root@localhosts 02]# cat /usr/share/nginx/html/index.html #查看NGINX腳本 backup backup. [root@localhosts 02]# cat /usr/local/nginx/conf/vhost/aaa.com.conf [root@localhosts 02]#cat /data/wwwroot/default/index.html [root@localhosts 02]#
keepalived服務的開啓致使nginx關不上
[root@localhosts 02]# ps aux |grep nginx #查看NGINX服務 [root@localhosts 02]# systemctl stop nginx #關閉NGINX服務 [root@localhosts 02]# !ps [root@localhosts 02]# #查看NGINX服務 [root@localhosts 02]# !ps #發現nginx服務沒有關閉,運行keepalived服務沒有關閉
• 先肯定好兩臺機器上nginx差別,好比能夠經過curl -I 來查看nginx版本
• 測試1:關閉master上的nginx服務
• 測試2:在master上增長iptabls規則
• iptables -I OUTPUT -p vrrp -j DROP
• 測試3:關閉master上的keepalived服務
• 測試4:啓動master上的keepalived服務
實例:
[root@localhosts 02]# iptables -A OUTPUT -p vrrp -j DROP # [root@localhosts 02]# iptables -nvL #查看包 [root@localhosts 02]# tail /var/log/messages #查看日誌的變化
Keepalived是一個基於VRRP協議來實現的WEB服務高可用方案,能夠利用其來避免單點故障。使用多臺節點安裝keepalived。其餘的節點用來提供真實的服務,一樣的,他們對外表現一個虛擬的IP。主服務器宕機的時候,備份服務器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。
1.keepalived的原理圖以下所示:
最左邊是客戶機,它訪問咱們的虛擬IP。而後咱們有master(主控制節點)和backup(備用控制節點)。最右邊的就是咱們提供服務的真機了。
2.搭建keepalived服務
咱們使用四個節點來作這個實驗,兩個充當控制節點,另外兩個提供服務。而後用真機的瀏覽器訪問虛擬IP。
注意事項:
1.全部節點要作好解析。
2.時間同步
3.yum源設置好(除了基本的源,高可用等也要添加)
如圖是咱們的操做控制檯:
keepalived的安裝包爲:
keepalived-1.2.13.tar.gz
兩個控制節點分別解壓和編譯、安裝keepalived:
在編譯keepalived以前咱們須要安裝一些相關的包:
編譯keepalived源碼包:
這個是咱們的 編譯結果:
而後咱們進行安裝:
上述的步驟在兩個控制節點上都要進行,最後在配置文件中咱們再設定主副節點。
創建軟連接,把keepalived的配置文件和服務啓動文件連接到指定位置:
設置配置文件:
咱們設置了郵件的發送地址和ip,MASTER制定爲主控制節點,虛擬id兩個節點必須相同。delay_loop 指定6秒檢測服務狀態。
設置虛擬ip,這是咱們客戶機訪問的IP。
這個是剩餘的配置文件內容,咱們設置鏈接方式爲直連方式DR,負載策略爲輪叫方式rr,協議威TCP。而後咱們設置了兩個提供服務節點的IP和端口。分別爲192.168.2.108和192.168.2.109的80端口。也就是網頁訪問服務。
而後咱們設置備機的配置文件,模式設置爲BACKUP,權重修改成50。這樣才能夠優先讓主控制節點接管。
而後咱們打開keepalived服務,並查看日誌,發現已經識別了192.168.2.110虛擬IP:
在兩個提供真機的服務節點上安裝arptable_jf軟件:
設置arptables的策略:
而後咱們要在兩個控制節點上安裝ipvsadm軟件來監控服務的狀態:
若是沒法安裝的話,查看yum源,設置成以下所示:
在兩個提供服務的真機上安裝httpd,設置完默認發佈內容後啓動服務:
而後咱們在主控制節點上查看當前的監控信息:
在真機的瀏覽器上查看192.168.2.110的信息。由於是輪叫策略,因此會輪換顯示192.168.2.108和192.168.2.109的默認發佈內容:
3.小結:
這樣咱們就搭建了keepalived下的高可用集羣。這個的複雜程度要低於heartbeat,在生產環境中也是很是常見的。
注意:
常見問題:
一、備用keepalived起來的前提就是主的keepalived停掉了(宕機、或者nginx起不來等 致使主keepalived服務停掉 vrrp協議不可達),又怎麼會出現主和備的keepalived同時存在 並爭搶vip資源呢?
能不能舉例說明一下 主備的keepalived哪些狀況會同時存在呀?
答:這個就是腦裂。 主認爲從宕機,從認爲主宕機就會出現腦裂。 若是兩臺機器直接網絡異常,好比網卡通訊有問題,或者配置了iptables策略,就會出現腦裂。
二、置方案裏有配置 vrrp_strict 這個參數配置這個參數後 vip ping不通
答:理論上配置該參數後,並不會致使vip 不通。
三、keepalived沒法啓動?
答:查一下它的日誌吧,防火牆關閉
四、配置了keepalived,啓動keepalived發現沒法拉起nginx,防火牆和selinux都關閉了,腳本權限也是755,檢查日誌是下面的提示?請問這個是什麼緣由?
Jan 8 21:41:31 moli_linux2 kernel: keepalived[5650]: segfault at 0 ip (null) sp 00007ffd979d1c88 error 14 in libgcc_s-4.8.5-20150702.so.1[7f232a968000+15000]
Jan 8 21:41:31 moli_linux2 Keepalived_vrrp[5650]: VRRP_Instance(VI_1) removing protocol VIPs.
Jan 8 21:41:31 moli_linux2 Keepalived[2498]: Keepalived_vrrp exited due to segmentation fault (SIGSEGV).
Jan 8 21:41:31 moli_linux2 Keepalived[2498]: Please report a bug at https://github.com/acassen/keepalived/iss
答:你的監控nginx服務的腳本如何寫的? 手動執行它是否有錯誤?
五、卸載從新安裝yum install -y keepalived 就好使了。
[root@CentOS7_two ~]# systemctl status keepalived.service
● keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
Active: failed (Result: resources) since 三 2018-04-11 19:48:28 CST; 57s ago
Process: 29330 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
答:從新安裝 配置文件內容是否改。
六、Keepalived拉不起check_ng.sh腳本,腳本權限都給了755,防火牆和selinux都清了並已經關閉的。
答:經過check_ng.sh啓動的,把配置文件的名稱修改正確後,而後把腳本放去另外一個路徑來重啓keepalived的就能夠了。
七、
一、實驗發現keepalived.conf配置文件設置了優先級priority嘛,就算主和從keepalived同時啓動不會出現腦裂啊 。
好像設置了防火牆纔會腦裂
答:1 理論上,同時啓動確定不會腦裂的,可是說很差會出現啥未知問題,致使兩臺機器不通或者其餘相似這種狀況,最終致使腦裂。
二、 要是生產環境設置了多個VIP,那在lvs_dr_rs.sh腳本中是寫成以下格式嗎。
........
vip1=192.168.31.110
vip2=192.168.31.111
ifconfig lo:0 $vip1 broadcast $vip1 netmask 255.255.255.255 up
ifconfig lo:1 $vip2 broadcast $vip2 netmask 255.255.255.255 up
........
這樣的話,lo:0有好幾個IP了,在啥狀況下回這樣用呢。
八、這個錯怎麼解決啊,防火牆都關了,vip是一我的用的ip,keepalive能正常起來,可是不能正常服務
答:libipset.so.3 這個文件不存在。
你檢查一下有無安裝 ipset-devel包
九、VIP的地址是怎麼規定的?
答:可用的一個ip。 一般咱們作高可用,局域網環境比較多。 因此這個vip是和兩臺機器同網段的一個內網ip。
固然,若是用在外網環境下,無所謂在不在一個網段,只要客戶端能訪問到。
參考連接 :
Keepalived的概述與配置 : https://mp.weixin.qq.com/s/wS-eStjuyRrIbWBUY-108g
高性能集羣軟件Keepalived之基礎知識篇 : https://www.ixdba.net/archives/2017/03/472.htm
搭建高可用負載均衡器: haproxy+keepalived : https://mp.weixin.qq.com/s/qIsotbx7MfvNm4DQwz7Psg
Keepalived高可用集羣應用實踐 : https://www.jianshu.com/p/1f6e13d3ca9c
keepalived兩種場景配置方法 : http://blog.chinaunix.net/uid-30395867-id-5786650.html
Keepalived 系列 :https://www.aliyun.com/jiaocheng/topic_13519.html?spm=5176.100033.1.5.XCkefz
Kubernetes v1.10+Keepalived HA集羣牆內部署實踐:https://mp.weixin.qq.com/s/rNx7DJ28wer6lxCPTzMX4Q
Keepalived的概述與配置:https://mp.weixin.qq.com/s/wS-eStjuyRrIbWBUY-108g
系統架構師-Keepalived學習筆記 : https://www.jianshu.com/p/ec44af134543
MHA+keepalived(補充) : http://blog.51cto.com/hmtk520/1943865
LVS+Keepalived負載均衡高可用如此簡單? 薦 : http://blog.51cto.com/liangey/1631056
haproxy+keepalived負載均衡之主備切換(centos) : https://www.jb51.net/os/RedHat/55468.html
lvs+keepalived+nginx實現高性能負載均衡集羣:https://www.cnblogs.com/liuyisai/p/5990645.html
基於Keepalived實現LVS雙主高可用集羣 薦 : http://blog.51cto.com/scholar/1662430
高可用技術之KeepAlived淺析:https://mp.weixin.qq.com/s/U5EAgIX8Kq_AUCRLTBelWQ
keepalived+mysql實現雙主高可用https://www.cnblogs.com/liuyisai/p/5998110.html
linux高級技巧:集羣之keepalived http://blog.chinaunix.net/uid-29622064-id-4406581.html
實現基於Keepalived高可用集羣網站架構的多種方法(3) : https://www.cnblogs.com/keerya/p/7819970.html
實現基於Keepalived高可用集羣網站架構的多種方法 : https://www.cnblogs.com/keerya/p/7819970.html
Haproxy+Keepalived主主高可用 薦 : http://blog.51cto.com/fighter/1254815
keepalived高可用haproxy+varnish+lnmp實現站點搭建與ansible實現 : http://blog.51cto.com/11010461/2143383
HAProxy入門及經常使用配置模擬測試 : http://blog.51cto.com/11010461/2139872
haproxy+keepalived搭建nginx+lamp集羣 : http://blog.51cto.com/11638832/1879305
原 haproxy+pecemaker : https://blog.csdn.net/sinat_37757403/article/details/78280188
HAProxy基於KeepAlived實現Web高可用及動靜分離 薦 : http://blog.51cto.com/scholar/1665213
keepalived+lvs/nginx 實現調度器高可用 : http://blog.51cto.com/pirateli/1661387
Keepalived+Haproxy雙主高可用負載均衡代理動靜分離web服務器 : http://blog.51cto.com/linuxgentoo/1557071
Atlas+Keepalived實現MySQL讀寫分離、讀負載均衡 :https://www.jianshu.com/p/3172de8bc709
HAProxy
高性能反向代理軟件HAProxy(一)之基本概念 置頂 :http://blog.51cto.com/cuchadanfan/1694844
高性能反向代理軟件HAProxy(二)之應用舉例 置頂 : http://blog.51cto.com/cuchadanfan/1694860
高性能反向代理軟件HAProxy(三)之高可用 置頂 : http://blog.51cto.com/cuchadanfan/1695498
企業實戰(4)-實現基於Haproxy負載均衡集羣的電子商務網站架構 : http://blog.51cto.com/mozart/2047332
HAproxy+Keepalived負載均衡-高可用web站 : http://blog.51cto.com/jdonghong/1883378
HAproxy負載均衡MYSQL雙主 : http://blog.51cto.com/jdonghong/1883376
HAproxy負載均衡WEB : http://blog.51cto.com/jdonghong/1883368
Keepalived+MariaDB10配置+雙主+高可用數據庫 : http://blog.51cto.com/jdonghong/1883361
LVS-DR+keepalived(——實現WEB站負載均衡和高可用) :http://blog.51cto.com/jdonghong/1883359
Nginx+Keepalived 實現反代 負載均衡 高可用(HA)配置 : http://blog.51cto.com/jdonghong/1883341
Keepalived高可用集羣應用場景與配置 : http://blog.51cto.com/xpleaf/1904095
keepalived invalid ttl 故障一例 薦 : http://blog.51cto.com/caiguangguang/933912
企業實戰(3)-主從實現基於Keepalived高可用集羣網站架構 薦 置頂 : http://blog.51cto.com/mozart/2044127
keepalived健康檢查方式 : https://www.cnblogs.com/liang-wei/p/6197411.html
Linux 高可用(HA)集羣之keepalived 薦 : http://blog.51cto.com/cuchadanfan/1696588
web集羣綜合項目keepalived+lvs+lamp+nfs+mysql : http://blog.51cto.com/11638832/1870021
淺談web應用的負載均衡、高可用、羣集 : http://blog.51cto.com/11638832/1870019
項目:web網站NLB負載均衡 : http://blog.51cto.com/11638832/1855858
原 MFS+Keepalived雙機高可用熱備方案 : https://blog.csdn.net/sinat_37757403/article/details/78327723
LVS+KeepAlived,搭建MySQL高可用負載均衡 薦 : http://blog.51cto.com/diannaowa/1674735
LVS+KeepAlived,RabbitMQ高可用負載均衡 薦 : http://blog.51cto.com/diannaowa/1671623
LVS-DR+Keepalived高可用羣集部署 : http://blog.51cto.com/13728740/2161580
搭建LVS-NAT負載均衡羣集 : http://blog.51cto.com/13728740/2162111
企業中MySQL高可用集羣架構三部曲之MM+keepalived 薦 : https://blog.51cto.com/sumongodb/1953244
原 MooseFS及其高可用部署 : https://blog.csdn.net/sinat_37757403/article/details/78327763
corosync+pacemaker+crmsh實現高可用 薦 : http://blog.51cto.com/zhaochj/1678307
corosync+pacemaker簡單實踐實現mariadb數據庫高可用模型 : http://blog.51cto.com/pirateli/1659075
crosync + pacemaker + (NFS,DRBD,iSCSI)實現MySQL的高可用 薦 :http://blog.51cto.com/guoting/1556503
DRBD原理知識 薦 :http://blog.51cto.com/guoting/1553462
Varnish
Varnish原理和配置詳解 : http://blog.51cto.com/guoting/1558305
Varnish 學習筆記總結 : http://blog.51cto.com/pirateli/1659475
Varnish詳解與實戰 薦 : http://blog.51cto.com/linuxgentoo/1558263
Varnish 實戰項目 : https://www.cnblogs.com/keerya/p/7833724.html
Varnish+緩存Web站 +圖片+動靜分離 : http://blog.51cto.com/jdonghong/1883337
高性能的開源HTTP加速器varnish : http://blog.51cto.com/cuchadanfan/1698830