1. 程式人生 > >keepalived + LVS 配置和部署

keepalived + LVS 配置和部署

 keepalived + LVS是一種基於虛擬IP而被廣泛使用的負載均衡和High available方案,用到的軟體主要是 keepalived和ivpsadm,物理機包括 LVS master,負責選擇具體服務的機器,並轉發外來請求到該機器, LVS slave用於做master的backup,在master不能正常工作時候接管master的所有工作,LVS real 提供具體的網路服務。

1. LVS master 的keepalived.conf 配置如下:

! Configuration File for keepalived

global_defs {
   notification_email {
     
[email protected]
#設定報警郵件地址,可以設定多個,每行一個。 [email protected] #需開啟本機的sendmail服務 } notification_email_from [email protected] #設定郵件的傳送地址 smtp_server 127.0.0.1 #設定smtp server地址 smtp_connect_timeout 30 #設定連線smtp server的超時時間 router_id LVS_DEVEL #表示執行keepalived伺服器的一個標識。發郵件時顯示在郵件主題的資訊 } vrrp_instance VI_1 { state MASTER #指定keepalived的角色,MASTER表示此主機是主伺服器,BACKUP表示此主機是備用伺服器 interface eth0 #指定HA監測網路的介面 virtual_router_id 51 #虛擬路由標識,這個標識是一個數字,同一個vrrp例項使用唯一的標識。即同一vrrp_instance下,MASTER和BACKUP必須是一致的 priority 100 #定義優先順序,數字越大,優先順序越高,在同一個vrrp_instance下,MASTER的優先順序必須大於BACKUP的優先順序 advert_int 1 #設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒 authentication { #設定驗證型別和密碼 auth_type PASS #設定驗證型別,主要有PASS和AH兩種 auth_pass 1111 #設定驗證密碼,在同一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通訊 } virtual_ipaddress { #設定虛擬IP地址,可以設定多個虛擬IP地址,每行一個 10.0.0.148 } } virtual_server 10.0.0.148 80 { #設定虛擬伺服器,需要指定虛擬IP地址和服務埠,IP與埠之間用空格隔開 delay_loop 6 #設定執行情況檢查時間,單位是秒 lb_algo rr #設定負載排程演算法,這裡設定為rr,即輪詢演算法 lb_kind DR #設定LVS實現負載均衡的機制,有NAT、TUN、DR三個模式可選 persistence_timeout 50 #會話保持時間,單位是秒。這個選項對動態網頁是非常有用的,為集群系統中的session共享提供了一個很好的解決方案。 #有了這個會話保持功能,使用者的請求會被一直分發到某個服務節點,直到超過這個會話的保持時間。 #需要注意的是,這個會話保持時間是最大無響應超時時間,也就是說,使用者在操作動態頁面時,如果50秒內沒有執行任何操作, #那麼接下來的操作會被分發到另外的節點,但是如果使用者一直在操作動態頁面,則不受50秒的時間限制 protocol TCP #指定轉發協議型別,有TCP和UDP兩種 real_server 10.0.0.137 80 { #配置服務節點1,需要指定real server的真實IP地址和埠,IP與埠之間用空格隔開 weight 3 #配置服務節點的權值,權值大小用數字表示,數字越大,權值越高,設定權值大小可以為不同效能的伺服器 #分配不同的負載,可以為效能高的伺服器設定較高的權值,而為效能較低的伺服器設定相對較低的權值,這樣才能合理地利用和分配系統資源 TCP_CHECK { #realserver的狀態檢測設定部分,單位是秒 connect_timeout 10 #表示3秒無響應超時 nb_get_retry 3 #表示重試次數 delay_before_retry 3 #表示重試間隔 connect_port 80 } } real_server 10.0.0.139 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }

2. LVS的slave的keepalived.conf配置如下:

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.148
    }
}

virtual_server 10.0.0.148 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP

    real_server 10.0.0.137 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    real_server 10.0.0.139 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

3.  在每臺real server上配置lvs_real ,用於繫結VIP到lo,並修改ARP響應規則:

#!/bin/bash
#description: Config realserver

VIP=10.0.0.148
 
/etc/rc.d/init.d/functions
 
case "$1" in
start)
       /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
       /sbin/route add -host $VIP dev lo:0
       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
       sysctl -p >/dev/null 2>&1
       echo "RealServer Start OK"
       ;;
stop)
       /sbin/ifconfig lo:0 down
       /sbin/route del $VIP >/dev/null 2>&1
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
       echo "RealServer Stoped"
       ;;
*)
       echo "Usage: $0 {start|stop}"
       exit 1
esac
 
exit 0
複製程式碼

4. 在LVS master和slave上啟動 service keepalived start,在real server上啟動 service lvs_real start

    在master上執行 ipvsadm -ln --stats,可以看到當前 master下面VIP可以對映到的real server,以及每臺real server 的資料吞吐量,例如:

  [[email protected] keepalived]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.148:http rr persistent 50
  -> 10.0.0.139:http              Route   3      0          0         
  -> 10.0.0.137:http              Route   3      0          0      

相關推薦

keepalived + LVS 配置部署

 keepalived + LVS是一種基於虛擬IP而被廣泛使用的負載均衡和High available方案,用到的軟體主要是 keepalived和ivpsadm,物理機包括 LVS master,負責選擇具體服務的機器,並轉發外來請求到該機器, LVS slave用於做

keepalived+lvs配置安裝

prior 轉發 響應 檢查 但是 /usr outer tar.gz 調度 安裝: tar -zxvf keepalived-1.2.2.tar.gz yum list all |grep "ipvsadm" yum -y install kernel-devel ope

centos 7 linux系統預設ftp安裝配置部署(詳細講解)

轉載自:https://www.cnblogs.com/mujingyu/p/7677273.html 小生接觸 Linux 系統時間不長,想解決linux系統ftp安裝及部署問題,折騰了大半天,終於弄出來了,將各路 高手的配置方法綜合了一下,如有不對之處,歡迎各位看客指正,感謝! 一、

Apache Tomcat伺服器安裝配置部署執行

Apache Tomcat伺服器安裝配置和部署執行 在Windows 64位系統上安裝配置和部署執行Apache Tomcat伺服器。 1,先下載適應於64為Windows作業系統的Tomcat伺服器。 連線:http://tomcat.apache.org/ 我下載的是: 2,

【Linux】centos 7 linux系統預設ftp安裝配置部署(詳細講解)

小生接觸 Linux 系統時間不長,想解決linux系統ftp安裝及部署問題,折騰了大半天,終於弄出來了,將各路 高手的配置方法綜合了一下,如有不對之處,歡迎各位看客指正,感謝! 一、宣告:   本文采用作業系統版本: Centos 7 Linux系統     版本源:C

WSUS伺服器的詳細配置部署

一、WSUS 安裝要求1、硬體要求:對於多達 500 個客戶端的伺服器,建議使用以下硬體:* 1 GHz 的處理器 * 1 GB 的 RAM2、軟體要求:要使用預設選項安裝 WSUS,必須在計算機上安裝以下軟體。 * Microsoft Internet 資訊服務 (IIS)

Tomcat安裝、配置部署筆記

首先從Apache的官方網站(http://tomcat.apache.org/)下載Tomcat。有安裝版和解壓版兩種,我個人喜歡用解壓版。 Tomcat安裝(綠色版安裝)   1、將下載的Tomcat解壓到指定目錄,如:D:\WorkSpaceByJava\

Redis叢集配置部署 spring整合redisCluster

Redis叢集配置和部署 1. 下載redis3.0 3. 建立叢集需要的目錄 mkdir /usr/local/cluster cd  /usr/local/cluster mkdir  7000 7001 7002 7003 7004 7005 4. 修改配置檔案re

LVS DR配置keepalived+LVS

multi dev emc nginx服務 delay all 服務器 可能 算法 LVS DR 準備工作群集的虛擬VIP:192.168.1.222dir分發器:192.168.1.220rs1:192.168.1.223rs2:192.168.1.234 rs1和rs2

CloudStack+XenServer詳細部署方案 交換機配置服務器連線

cloudstack+xenserver詳細部署方案CloudStack+XenServer詳細部署方案(2):交換機配置和服務器連線 本文將根據設計文檔, 對交換機進行配置和服務器網絡連線方式進行說明.Step1.交換機規劃, 根據功能將交換機端口分為三個部分:管理區域(交換機1 – 16 口): 用於

Keepalived 的安裝配置

linuxkeepalived主要用作RealServer的健康狀態檢查以及LoadBalance主機和BackUP主機之間failover的實現。keepalived主要目的在於,其自身啟動一個服務,能夠實現工作在雙節點或多個節點上,並且可以在內核生效的ipvs規則其中當前持有資源的節點被稱為活躍節點,另外

keepalived工作原理配置文件說明

其中 before red 進行 targe ip) lis 後端 取值 keepalived是什麽 keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似於heartbeat,用來防止單點故障。 keepalived工作原理 keepalived是以VR

理解 IntelliJ IDEA 的項目配置Web部署

模式 select 標簽 ima div cati 選項 out web項目 1、項目配置的理解IDEA 中最重要的各種設置項,就是這個 Project Structre 了,關乎你的項目運行,缺胳膊少腿都不行。最近公司正好也是用之前自己比較熟悉的IDEA而不是Eclips

轉:理解 IntelliJ IDEA 的項目配置Web部署

例如 tps alt 開發 path -c archive 可能 tab 1、項目配置的理解 IDEA 中最重要的各種設置項,就是這個 Project Structre 了,關乎你的項目運行,缺胳膊少腿都不行。最近公司正好也是用之前自己比較熟悉的IDEA而不是Eclipse

keepalived + lvs + nginx 主備配置案例

keepalived lvs nginx一、keepalived lvs 集群1、結構2、主備修改內核參數net.ipv4.ip_forward = 1net.ipv4.ip_nonlocal_bind = 1net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.a

keepalived + lvs + nginx 雙主配置案例 (2)

keepalived 雙主 lvs一、本文基於上一篇主備配置案例場景,修改為雙主模式二、雙主配置文件,即兩組互為主備 1> 192.168.1.109配置文件 global_defs {notification_email {[email protected]/>sysadmin@firewa

Keepalived + LVS DR 配置 終版

ace instance 三臺 請求轉發 out start 架構 ipvs 更改 Keepalived + LVS DR 配置 終版Keepalived負載均衡配置缺點LVS如果分發器dir宕機全部失效 dir做個高可用可避免,如果一個rs宕機,也會把請求

LVS + Keepalived 高可用群集部署

ipv ipvsadm p地址 netmask ask src centos7 sha 判斷 簡介:keepalived是專門針對LVS設計的一款強大的輔助工具,主要用來提供故障切換(Failover)和健康檢查(Health Checking)功能——判斷LVS負載調度

springboot(2)——應用配置部署

《二》、應用配置和熱部署 一、application應用配置 Idea新建的專案預設配置檔案為application.properties 1、我們修改它的字尾為application.yml, 因為xx.yml格式檔案級聯寫法比較省事等 #

win7下 IIS配置 asp.net專案部署

轉載於:http://blog.csdn.net/wangzhen199009/article/details/8225377 IIS安裝: 網上很多教程, http://ons.me/147.html 這個教程詳細準確。需要注意的的這個教程的下面這一步驟存在問題:(在“I