1. 程式人生 > >實現keepalived高可用叢集:基於NAT模式

實現keepalived高可用叢集:基於NAT模式

注意:NAT模式的keepalive做的時候vip和dip都要漂移,因為要在real-server上配置指向lvs上的dip地址的路由,這個路由只能指定一個dip地址,所以dip要跟著一起漂移過去;還有一個方法就是寫一個指令碼,當lvs-server在master和backup之間切換時實現在real-server上重新指定一個在工作狀態的lvs-server的dip的路由,這個比較複雜,不如直接實現dip漂移
注意:這個vip和dip可以不是你機器上eth0和eth1介面上的網絡卡地址,直接在keepalived配置檔案裡配置的時候隨意寫一個
前提:基於NAT的keepalive最好real-server用192的地址,vip要用橋接模式的地址,保證客戶端地址不能和real-server相通,也就是構建一個內網和外網的環境
關閉iptables和selinux
兩臺real-server上都有web服務
第一步:在lvs-server上安裝keepalived
在master-server上:yum install keepalived -y
[

[email protected] /etc/keepalived]#vim keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_keepalive(隨便寫)
}
vrrp_instance VI_1 { # 配置vip
state MASTER
interface eth0(橋接模式的網絡卡)
virtual_router_id 20(不能亂改,會影響keepalive工作)
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
172.17.123.100/16(vip地址)
}
}

vrrp_instance VI_2 { #配置dip
state MASTER
interface eth1(僅主機模式的ip地址,也可以是橋接模式的ip)
virtual_router_id 20
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.159.123/24(lvs上的dip地址)
}
}

virtual_server 172.17.123.100 80 { vip地址
delay_loop 6 伺服器切換間隔
lb_algo rr 工作方式為輪詢
lb_kind NAT keepalive是基於NAT模式
nat_mask 255.255.0.0 (不同於DR模式,DR模式是255.255.255.255)
# persistence_timeout 50
protocol TCP

real_server 192.168.159.131 80 {  (後端 real-serverip地址)
    weight 1
    HTTP_GET {
        url {
          path /
        #  digest ff20ad2481f97b1754ef3e12ecd3a9cc 註釋掉,因為對keepalive可能會有影響
        }
        url {
          path /mrtg/
         # digest 9b3a0c85a887a256d6939da88aabd8cd註釋掉,因為對keepalive可能會有影響
        }
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}

virtual_server 172.17.123.100 80 { vip地址
delay_loop 6
lb_algo rr
lb_kind NAT

persistence_timeout 50

protocol TCP


real_server 192.168.159.128 80{  後端real-server地址
    weight 1
    HTTP_GET {
        url {
          path /testurl/test.jsp
    #      digest 640205b7b0fc66c1ea91c463fac6334d
        }
        url {
          path /testurl2/test.jsp
     #     digest 640205b7b0fc66c1ea91c463fac6334d
        }
        url {
          path /testurl3/test.jsp

digest 640205b7b0fc66c1ea91c463fac6334d

        }
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

在lvs-server-backup上:yum install keepalived -y
[[email protected] /etc/keepalived]#cat keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
}

notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_keepalive
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 20()
priority 180
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
172.17.123.100/16 vip地址
}
}

vrrp_instance VI_2 {
state BACKUP
interface eth1
virtual_router_id 20
priority 180
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.159.123/24(dip地址)
}
}
virtual_server 172.17.123.100 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
nat_mask 255.255.0.0
# persistence_timeout 50
protocol TCP

real_server 192.168.159.131 80 {
    weight 1
    HTTP_GET {
        url {
          path /
        #  digest ff20ad2481f97b1754ef3e12ecd3a9cc
        }
        url {
          path /mrtg/
         # digest 9b3a0c85a887a256d6939da88aabd8cd
        }
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}

virtual_server 172.17.123.100 80 {
delay_loop 6
lb_algo rr
lb_kind NAT

persistence_timeout 50

protocol TCP


real_server 192.168.159.128 80{
    weight 1
    HTTP_GET {
        url { 
          path /testurl/test.jsp
    #      digest 640205b7b0fc66c1ea91c463fac6334d
        }
        url { 
          path /testurl2/test.jsp
     #     digest 640205b7b0fc66c1ea91c463fac6334d
        }
        url { 
          path /testurl3/test.jsp

digest 640205b7b0fc66c1ea91c463fac6334d

        }
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

第二步:分別在lvs-server-master和lvs-server-backup上開啟路由轉發
在lvs-server-master 上:echo 1 > /proc/sys/net/ipv4/ip_forward
lvs-server-backup上:echo 1 > /proc/sys/net/ipv4/ip_forward
第三步:分別在lvs-server-master和lvs-server-backup上配置路由指向lvs-server的dip地址(lvs-server就是lvs-server)
ip route add default via 192.168.159.123(是lvs-server的dip地址)
ip route add default via 192.168.159.123
第四步:開啟master和backup的lvs-server :systemctl start keepalived
在客戶端測試:
[[email protected] ~]# for i in {1..100};do curl 172.17.123.100;sleep 1;done
發現停止任何一臺lvs-server都不會影響到客戶端的正常訪問
說明;在keepalived配置檔案裡新增的vip和dip不是手工用ifconfig新增的,就是直接在配置檔案裡指定一個vip和dip地址,這兩個地址在master出問題時才起作用,他們倆個一起漂移到backup上,分別到eth0和eth1的網絡卡上發揮各自的作用,master上也有自己原有的eth0和eth1的ip 地址,一個網絡卡上可以有多個地址

相關推薦

實現keepalived可用叢集基於NAT模式

注意:NAT模式的keepalive做的時候vip和dip都要漂移,因為要在real-server上配置指向lvs上的dip地址的路由,這個路由只能指定一個dip地址,所以dip要跟著一起漂移過去;還有一個方法就是寫一個指令碼,當lvs-server在maste

基於linux實現keepalived可用的集群網站架構

基於linux實現keepalived高可用的集群網站架構模擬場景:隨著業務的發展,網站的訪問量越來越大,網站訪問量已經從原來的1000QPS,變為3000QPS,目前業務已經通過集群LVS架構可做到隨時拓展,後端節點已經通過集群技術(ldirectord)保障了可用性,但對於前端負載均衡器來說,是個比較大的

Memcached學習筆記之八memcached+magent+keepalived可用叢集

上篇我們已經配置好memcached+magent了下面 那如果magent宕機了,講不能繼續提供服務,所以就用到了keepalived,新增一臺備用的magent代理伺服器。當一臺magent宕機了由另一臺來接替。 配置步驟: 兩臺magent代理伺服器,一臺做主一臺做從,當主的宕機了

Memcached學習筆記之七memcached+magent+keepalived可用叢集

上一篇我們說過memcached實現高可用以及防止單點故障可以通過magent來實現,接下來我們來配置一個高可用群集 magent代理伺服器:192.168.200.101 memcached節點:(可以在同一個伺服器上開啟三個memcached節點看前面介紹,也可以一臺伺服器一個) m

基於Sentinel(哨兵)搭建實現Redis可用叢集

概述 Redis哨兵為Redis提供了高可用性。實際上這意味著你可以使用哨兵模式建立一個可以不用人為干預而應對各種故障的Redis部署。 哨兵模式還提供了其他的附加功能,如監控,通知,為客戶端提供配置。 下面是在巨集觀層面上哨兵模式的功能列表: 監控:哨兵不斷的檢查mast

Keepalived可用叢集

Keepalived高可用叢集   Keepalived介紹 Keepalived軟體起初是專門為LVS負載均衡軟體設計的,用來管理並監控LVS集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的VRRP功能。因此,Keepalived除了能夠管理LVS軟體外,還可以作為其他

Saltstack 實現keepalived可用

實驗環境:在SaltStack部署完畢的前提下進行實驗: 系統: redhat6 server1 172.25.45.1 salt-master    keepalived server2 172.25.45.2  salt-minion 

Keepalived可用叢集應用實踐

一,Keepalived高可用軟體   1,Keepalived介紹   1.1 Keepalived軟體起初是專門為LVS負載均衡軟體設計的,用來管理並監控LVS集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的VRRP功能。   1.2 Keepalived軟體主要是通過VRRP協議實現高可

Nginx+Keepalived可用叢集

1.Keepalived高可用軟體     Keepalived軟體起初是專為LVS負載均衡軟體設計的,用來管理並監控LVS集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的VRRP功能。因此,keepalived除了能夠管理LVS軟體外,還可以作

利用RHCS套件實現nginx可用叢集

RHCS 簡介 RHCS即 RedHat Cluster Suite ,中文意思即紅帽叢集套件。 紅帽叢集套件(RedHat Cluter Suite, RHCS)是一套綜合的軟體元件,可以通過在部署時採用不同的配置,以滿足你的對高可用性,負載均衡,可擴充套件性,檔案共享和節約成本的

Linux系統——Keepalived可用叢集

#### keepalived服務的三個重要功能1. 管理LVS負載均衡軟體Keepalived可以通過讀取自身的配置檔案,實現通過更底層的介面直接管理LVS的配置以及控制服務的啟動,停止功能,這使得LVS的應用更加簡單方便。2. 實現對LVS叢集節點健康檢查功能(healthcheck)Keepalived

搭建PXC叢集實現MySQL可用叢集

Percona XtraDB Cluster(下文簡稱PXC叢集)提供了MySQL高可用的一種實現方法。PXC叢集以節點組成(推薦至少3節點,便於故障恢復),每個節點都是基於常規的 MySQL/Percona Server,意味著你可以從叢集中分離出某節點單獨使用。叢集中每個

RHCS叢集套件——Luci/Ricci實現Web可用叢集

一、簡介 RHCS即 RedHat Cluster Suite ,中文意思即紅帽叢集套件,它是一套綜合的軟體元件,可以通過在部署時採用不同的配置,以滿足企業對高可用性,負載均衡,可擴充套件性,檔案共享和節約成本的需要。 它提供有如下兩種不同型別的叢集: 1、高

memcached+magent+keepalived可用叢集

上一篇我們說過memcached實現高可用以及防止單點故障可以通過magent來實現,接下來我們來配置一個高可用群集 magent代理伺服器:192.168.200.101 memcached節點:(可以在同一個伺服器上開啟三個memcached節點看前面介紹,也可以

kubeadm實現k8s可用叢集環境部署與配置

# 高可用架構 k8s叢集的高可用實際是**k8s各核心元件**的**高可用**,這裡使用**主備模式**,架構如下: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200602143045152.png?x-oss-process=image/watermark,ty

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

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

叢集介紹、keepalived介紹、用keepalived配置可用叢集、負載均衡叢集介紹、LVS介紹 、LVS排程演算法、LVS NAT模式搭建

一、叢集介紹 Linux叢集根據功能劃分為兩大類:高可用和負載均衡。 高可用叢集 高可用叢集通常為2臺伺服器,一臺工作,另一臺作為冗餘,當提供服務的機器宕機時,冗餘將接替繼續提供服務。 實現高可用的開源軟體有:heartbeat、Keepalived,其中hea

CentOS7 haproxy+keepalived實現可用叢集搭建

一、搭建環境   CentOS7 64位         Keepalived  1.3.5         Haproxy 1.5.18   後端負載主機:192.168.166.21   192.168.166.22   兩臺節點上安裝rabbitmq服務      

基於keepalived搭建MySQL的可用叢集

MySQL的高可用方案一般有如下幾種: keepalived+雙主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比較常用的是keepalived+雙主,MHA和PXC。 對於小公司,一般推薦使用keepalived+雙主,簡單。 下面來部署一下 配置環境:

基於keepalive+LVS的可用叢集實現web服務負載均衡叢集的架構

架構環境: RedHat Linux Enterprise 5.8           keepalive                        LVS-DR 注意:1、事先配置好yum源,利用yum進行相關的軟體安裝,其可以很好的解決依賴關係