1. 程式人生 > >基於keepalive+LVS的高可用叢集來實現web服務負載均衡叢集的架構

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

架構環境:

RedHat Linux Enterprise 5.8           keepalive                        LVS-DR

注意:1、事先配置好yum源,利用yum進行相關的軟體安裝,其可以很好的解決依賴關係

            yum利用DVD光碟配置即可!其詳細配置可以參考我的博文“Linux系統常用的軟體管理工具rpm、yum及軟體原始碼編譯安裝”

    2、事先關閉掉相關的iptables規則和selinux

1 2 3 4 [[email protected]
~]# getenforce  #檢視selinux的設定permissive|
[[email protected] ~]# setenforce 0|1  #關閉或開啟selinux功能 [[email protected] ~]# vim /etc/selinux/config  #selinux的配置檔案 SELINUX=disabled|permissive|enforcing #禁止|禁用|啟用selinux

相關服務和名字的定義:

1 2 3 4 5 Director:負載排程叢集的主機,也簡稱DR VIP:Virtual IP,向外提供服務的IP RIP:Real Server IP,內部真正提供服務的 DIP:與內部主機通訊的IP,在DR主機上 CIP:客戶端IP

一、架構設計

     利用keepalive來實現lvs的Directory Server的高可用叢集,然後在利用keepalive和lvs的高可用來實現web服務的負載均衡!其架構圖如下:

影象 304

二、keepalive的介紹

⑴、keepalive的基本工作機制和應用場景

     keepalive是一個可以提供vrrp已經health-check功能的服務軟體,可以只用它提供雙機浮動的vip(vrrp虛擬路由功能),這樣可以簡單實現一個雙機熱備高可用功能。同時我們還可以利用LVS+Keepalived基於完整開源軟體的架構可以為你提供一個負載均衡及高可用的伺服器。

    在本博文中Keepalived的主要用作RealServer的健康狀態檢查以及LoadBalance主機和BackUP主機之間failover的實現。Keepalived的作用是檢測web伺服器的狀態,如果有一臺web伺服器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的web伺服器從系統中剔除,當web伺服器工作正常後Keepalived自動將web伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的web伺服器。

   Keepalived是一個基於VRRP協議來實現的WEB 服務高可用方案,可以利用其來避免單點故障。一個WEB服務至少會有2臺伺服器執行Keepalived,一臺為主伺服器(MASTER),一臺為備份伺服器(BACKUP),但是對外表現為一個虛擬IP,主伺服器會發送特定的訊息給備份伺服器,當備份伺服器收不到這個訊息的時候,即主伺服器宕機的時候,備份伺服器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。

⑵、VRRP協議

    上面我們提到keepalive利用vrrp來進行health-check功能的,那麼VRRP到底是什麼那?我們下面來說說VRRP協議吧!

    VRRP:Virtual Router Redundancy Protocol,是虛擬路由冗餘協議,通過此協議我們可以把多個路由器做成一個虛擬路由器,從而來保證其中某個路由宕掉的時候不會造成我們內部外出網路的全部中斷。

    VRRP中的各個路由器都有一個唯一的標識VRID,其範圍為0-255,路由器對外表現為唯一的虛擬MAC地址,地址的格式為00-00-5E-00-01-[VRID]。主控路由器負責對ARP請求用該MAC地址做應答。這樣,無論如何切換,保證給終端裝置的是唯一一致的IP和MAC地址,減少了切換對終端裝置的影響。其中的VRID中的0和255是保留的,0用於IP地址所有者主動放棄主控者角色時使用,255用於VRRP路由器的IP地址和虛擬路由器的介面IP地址相同時所擁有!

    由於VRRP協議比較複雜,這裡一兩句也介紹不清楚,而我理解的也不深,只是一點點而已,但是這並不影響我們下面的使用,所有還望各位諒解不能在此詳細介紹,如果有意深入瞭解可以下載附件內的“h3c_vrrp介紹.pdf”。

三、RS上相關軟體的安裝和配置

⑴、web服務的安裝和配置

1 2 3 web1和web2上分別配置相應的ip地址 RIP1:172.16.7.3/16 RIP2:172.16.7.4/16

  1、在web1上安裝httpd服務並配置RIP和VIP,注意由於是基於LVS的DR模型,我們需要設定本機VIP不能響應外部主機的arp請求。

安裝httpd

1 2 yum install httpd –y #安裝httpd echo "web1.chris.com" > /var/www/html/index.html  #新增主頁內容

配置RIP和設定arp不能被外部主機解析此處使用指令碼vipset.sh進行設定,指令碼如下:

###########################################################

1 2 3 4 5 6 7 8 9 10 11

相關推薦

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

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

keepAlived+Nginx 可用性(非搶佔)負載均衡

前言 一直以來都想自己來做一個完整的應用,從網路架構到技術架構,最近一段時間覺得生活不能再窮困了,於是,趁現在還有時間,決定自己來搭一個完整的專案。千里之行,始於足下。 正題 - 負載均衡設計 Nginx+keepAlived方案:負載層

java高階,、併發、可用、高效能、分散式、負載均衡

1、億級流量電商網站的商品詳情頁系統架構 面臨難題:對於每天上億流量,擁有上億頁面的大型電商網站來說,能夠支撐高併發訪問,同時能夠秒級讓最新模板生效的商品詳情頁系統的架構是

Spring Cloud+docker實現服務負載均衡

網上關於微服務實現負載均衡有不同的實現方式,有用ribbon,也有用zuul的,本文用zuul來實現 一般也稱Spring Cloud Zuul為微服務中的閘道器服務 微服務主要包含註冊與發現服務,路由服務(閘道器服務),配置服務,熔斷服務,降級服務等一系列的服務. 我們

Spring Boot + Eureka 實現服務負載均衡

1,什麼是Eureka,什麼是服務註冊與發現      Spring Boot作為目前最火爆的web框架。那麼它與Eureka又有什麼關聯呢?Eureka是Netflix開源的一個RESTful服務,主要用於服務的註冊發現。Eureka由兩個元件組成:Eureka伺服器和Eu

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

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

Linux環境下實現keepalive支援的LVS可用性和NGINX的單主模型雙主模型可用

實驗:實現高可用的LVS-DR模型  1、準備兩臺RS伺服器 2、將兩臺lVS安裝httpd或nginx,用來做sorry server 3、定義RS伺服器 在後端伺服器RS1寫配置指令碼 執行指令碼後,ifconfig 之後指令碼傳給RS2,執行此指令碼,同樣存在l

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

一、Keepalived 簡介           Keepalived 是一個用 C 語言編寫的路由軟體。它最初是專門為 LVS 負載均衡軟體設計的,用來管理並監控 LVS 集群系統中各個服務節點的狀態,後來又加

Keepalive可用實現

fwmark lvs nginx keepalive1 概述本文將介紹三個Keepalive高可用的實現案例,分別是keepalive實現LVS高可用,keepalive通過fwmark實現LVS高可用,keepalive實現Nginx高可用。2 實驗準備.(1) 各節點時間必須同步,這個操作很關鍵。

LVS可用實現

LVS-DR問題:LVS由於沒有健康行檢查功能,當後端RS出現問題的時候還是會調度到損壞的RS服務器上 解決:1 編寫腳本(編寫一個for循環腳本,VS服務器每過1s使用curl命令訪問一下後端的RS服務器,查看$?是否為0,不為0就使用ipvsadm -d刪除即可) 2 ldirectord

HA+LVS 可用叢集

keepalived:採用VRRP熱備份協議,可一主多備,優先順序不同。 NFS不做 NAT模式那一篇有 使用keepalived實現雙機熱備。 chkconfig NetworkManager off chkconfig iptables off cat /etc/sysconf

docker下用keepalived+Haproxy實現可用負載均衡叢集

先記錄下遇到的坑,避免之後忘了; 花時間最多去解決的一個題是:在docker下啟動haproxy服務後在這個docker服務內安裝keepalived無法ping通的問題,雖然最後也是莫名其妙就好了,但是加強了不少對docker的理解和還需深入學習的地方。 為什麼要用

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

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

saltstack實現一鍵部署keepalived+haproxy的可用負載均衡叢集

配置環境 主機名 ip 服務 server1 172.25.1.1 salt-master、salt-minion haproxy、keepalived server2 172.25.1.2 salt-minion

Spark叢集搭建+基於zookeeper的可用HA

export JAVA_HOME=/usr/java/jdk1.8.0_20/ export SCALA_HOME=/home/iespark/hadoop_program_files/scala-2.10.6/ export HADOOP_HOME=/home/iespark/hadoop_program

基於zookeeper的可用Hadoop HA叢集安裝

1.Hadoop叢集方式介紹     1.1 hadoop1.x和hadoop2.x都支援的namenode+secondarynamenode方式          優點:搭建環境簡單,適合開發者模式下除錯程式          缺點:namenode作為很重

Redis 可用: twemproxy實現快取伺服器分片叢集

Twemproxy 又稱 nutcracker ,是一個memcache、redis協議的輕量級代理,一個用於sharding 的中介軟體。有了Twemproxy,客戶端不直接訪問Redis伺服器,而是通過twemproxy 代理中介軟體間接訪問。 twemproxy 為

LVS+Keepalived搭建MyCAT可用負載均衡叢集

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

搭建LVS-DR負載均衡叢集、Keepalived-LVS可用負載均衡叢集

LVS DR模式搭建準備工作三臺機器, 三臺機器均有公網IP。排程器(director)IP:192.168.8.133real server1(real1)IP:192.168.8.134real server2(real2)IP:192.168.8.135VIP:192.

003.Keepalived搭建LVS可用叢集

一 基礎環境 1.1 IP規劃 OS:CentOS 6.8 64位 節點型別 IP規劃