1. 程式人生 > >CentOS7 搭建LVS+keepalived負載均衡(二)

CentOS7 搭建LVS+keepalived負載均衡(二)

本文講繼續講述LVS+keepalived實現負載均衡

一、本次搭建的系統架構圖

這裡寫圖片描述
- 虛擬機器:VirtualBox
- virtaulbox host-only的IP地址:192.168.137.1
- 所用系統:CentOS7
- 真實web伺服器(RS1):192.168.137.5
- 真實web伺服器(RS2):192.168.137.6
- Master負載均衡伺服器:192.168.137.101
- backup負載均衡伺服器:192.168.137.102
- 系統對外虛擬IP:192.168.137.100

二、Keepalived的安裝配置過程

兩臺負載均衡伺服器上均需要安裝、配置Keepalived

2.1 安裝Keepalived

$ yum -y install keepalived

2.2 配置Keepalived

$ vim /etc/keepalived/keepalived.conf

配置資訊如下

! Configuration File for keepalived

global_defs {
    notification_email {
        [email protected]     #設定報警郵件地址,可以設定多個,每行一個。
        [email protected]    #需開啟本機的sendmail服務
        
[email protected]
} 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 enp0s3 #指定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地址,每行一個 192.168.137.100 } } virtual_server 192.168.137.100 80 { #設定虛擬伺服器,需要指定虛擬IP地址和服務埠,IP與埠之間用空格隔開 delay_loop 6 #設定執行情況檢查時間,單位是秒 lb_algo rr #設定負載排程演算法,這裡設定為rr,即輪詢演算法 lb_kind DR #設定LVS實現負載均衡的機制,有NAT、TUN、DR三個模式可選 nat_mask 255.255.255.0 persistence_timeout 0 #會話保持時間,單位是秒。這個選項對動態網頁是非常有用的,為集群系統中的session共享提供了一個很好的解決方案。 #有了這個會話保持功能,使用者的請求會被一直分發到某個服務節點,直到超過這個會話的保持時間。 #需要注意的是,這個會話保持時間是最大無響應超時時間,也就是說,使用者在操作動態頁面時,如果50秒內沒有執行任何操作 #那麼接下來的操作會被分發到另外的節點,但是如果使用者一直在操作動態頁面,則不受50秒的時間限制 protocol TCP #指定轉發協議型別,有TCP和UDP兩種 real_server 192.168.137.5 80 { #配置服務節點1,需要指定real server的真實IP地址和埠,IP與埠之間用空格隔開 weight 1 #配置服務節點的權值,權值大小用數字表示,數字越大,權值越高,設定權值大小可以為不同效能的伺服器 #分配不同的負載,可以為效能高的伺服器設定較高的權值,而為效能較低的伺服器設定相對較低的權值,這樣才能合理地利用和分配系統資源 TCP_CHECK { #realserver的狀態檢測設定部分,單位是秒 connect_timeout 3 #表示3秒無響應超時 nb_get_retry 3 #表示重試次數 delay_before_retry 3 #表示重試間隔 connect_port 8066 } } real_server 192.168.137.6 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 8066 } } }
要注意的地方:
  • interface enp0s3:這裡的enp0s3是我的網絡卡名稱,想要檢視自己網絡卡名稱的話,在/etc/sysconfig/network-scripts/ifcfg-e(敲下TAB)
  • persistence_timeout 0:指的是在一定的時間內來自同一IP的連線將會被轉發到同一realserver中。而不是嚴格意義上的輪詢。預設為50s,因此在測試負載均衡是否可以正常輪詢時,最好先把值設定為0,方便檢視
  • TCP_CHECK { :注意TCK_CHECK和 {之間有一個空格,忘記打這個空格的話,可能會出現後面用ipvsadm檢視時,某個RS檢視不到
另外一個臺備用伺服器上Keepavlied的配置類似,只是把MASTER改為backup,把priority設定為比MASTER低

2.3 兩臺RS上為lo:0繫結VIP地址、抑制ARP廣播

在兩臺RS上編寫以下指令碼檔案realserver.sh

#!/bin/bash
#description: Config realserver

VIP=192.168.137.100

/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

在兩臺RS上分別執行指令碼

$ sh realserver.sh start

2.4 啟用Keepavlied

$ service keepalived start
之後通過ipvsadm -L命令可以檢視VIP是否已經成功對映到兩臺RS,如果發現有問題,可以通過/var/log/message檢視錯誤原因

這裡寫圖片描述

接下來就可以測試可用性了

2.4.1 測試負載均衡

這裡寫圖片描述

2.4.2測試keepalived的監控檢測

停掉RS1的nginx,然後在MASTER負載均衡伺服器上可以到看VIP對映關係中已經剔除了192.168.137.5
(1)停掉RS1的nginx
這裡寫圖片描述

(2)檢視VIP對映關係
這裡寫圖片描述

相關推薦

CentOS7 搭建LVS+keepalived負載均衡

本文講繼續講述LVS+keepalived實現負載均衡 一、本次搭建的系統架構圖 - 虛擬機器:VirtualBox - virtaulbox host-only的IP地址:192.168.137.1 - 所用系統:CentOS7 - 真實we

Centos7搭建lvs+keepalive負載均衡集群

iptable sad 集成 c-c++ ++ 分布式部署 版本 2.4 最大 keepalived簡介 keepalived是分布式部署解決系統高可用的軟件,結合lvs(LinuxVirtual Server)使用,解決單機宕機的問題。 keepalived是一個基於VR

架構之路:nginx與IIS服務器搭建集群實現負載均衡

原創 not c盤 鏈接 發布 原創文章 hang 實戰 負載均衡 【前言】 在《架構之路:nginx與IIS服務器搭建集群實現負載均衡(一)》中小編簡單的講解了Nginx的原理!俗話說:光說不練假把式。接下來,小編就和大家一起來做個小Demo來體會一下Nginx的

高併發負載均衡——Nginx 和LVS

 在上一篇部落格中介紹到實現負載均衡主要可以通過軟、硬體兩個方面進行,例如硬體上購買RadWare等硬體裝置,或者通過軟體策略實現負載均衡。軟體策略上使用廣泛有Nginx 和LVS 在介紹兩款工

Haproxy + Pacemaker 實現高可用負載均衡

Pacemaker server1 和 server2 均安裝pacemaker 和 corosync server1 和 server2 作相同配置 [root@server1 ~]# yum install -y pacemaker coros

nginx 配置http伺服器實現負載均衡

在nginx實現負載均衡前,需要下載tomcat,我這裡裝的是8.5.43,下載地址:https://tomcat.apache.

nginx 配置代理並實現負載均衡

nginx 完結篇 場景  如果我們只有一臺伺服器,然後需要用同一個埠如80,那麼怎麼辦呢

搭建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.

MySQL 高可用:mysql+Lvs+Keepalived 負載均衡及故障轉移

ica 目錄 details software fwm 多個 優先級 sql 服務器 規則 轉自 MySQL 高可用:mysql+Lvs+Keepalived 負載均衡及故障轉移 - KK ——專註數據 - 博客頻道 - CSDN.NETh

RHEL6 搭建LVS/NAT 負載均衡集群 案例

html pan sys 指定 hit kcon pro 後端 outb 搭建LVS/NAT案例實驗拓撲圖:操作流程:Director Server : 192.168.4.50 pc50安裝並啟用ipvsadm創建虛擬服務器向虛擬服務器上加入節點Real Serv

RHEL6 搭建LVS/DR 負載均衡集群 案例

lan str add 方式 tco cast top install 不同的 搭建LVS/DR 負載均衡集群 案例實驗拓撲圖:操作流程: Director Server : 192.168.4.50 pc50 安裝並啟用ipvsadm

centos7搭建高可用負載均衡伺服器及常見錯誤解決方案

本文章基於centos7版本安裝nginx+keepalived高可用伺服器,在yum命令可用情況下安裝: 1.安裝編譯環境 yum install gcc-c++; 2.安裝PCRE庫:yum install -y pcre pcre-devel; 3.安裝zlib庫

轉發【CentOS7搭建NGINX-TOMCAT負載均衡實驗結果】

轉發【CentOS7搭建NGINX-TOMCAT負載均衡實驗結果】 參考:https://www.cnblogs.com/youzhibing/p/7327342.html 我的測試環境 - VMWare12 - 兩臺主機:Test-Master 和 Test-Backup -

LVS+Keepalived負載均衡主備&雙主架構全攻略

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

架構之路:nginx與IIS服務器搭建集群實現負載均衡

blog 存儲 bsp 知識 exe ESS 步驟 校驗 con 參考網址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 【前言】 在《架構之路:nginx與IIS服務器搭建集群

LVS+Keepalived負載均衡配置部署

相關概念 一、準備工作 1. 伺服器、作業系統(當前CentOS6.6 x86_64)、網路環境(服務期間網路互通) ; # 作業系統:CentOS6.6 x86_64# 伺服器 (LVS主備各1臺,WEB伺服器3臺,圖片伺服器2臺)WEBServer負載虛擬IP:192.168.0.20IMGServ

負載均衡LB具體解釋

code ilo pda host script cli snr 日誌 gin 二、LB LoadBalance就是把負載均衡分配到集群的各個節點,從而提高總體的吞吐能力。Oracle 10g RAC提供了兩種手段來實現負載,其一是通過Connection Ba

node.js後臺快速搭建在阿裏雲(pm2和nginx篇)

logs down key version c-c 6.2 文檔 實例 gin 前期準備 阿裏雲服務器 node.js pm2 express nginx linux(推薦教程:鳥哥的私房菜) 簡介 嗯……我只是

Mongodb3.4.7搭建高可用集群

cto logs ica sta ready 部署 ... ima exiting 部署Mongodb高可用集群 準備 按照官方說明,至少需要3個config server,2個mongos,2個shard,每個shard至少2個副本,就是4個shard,共需要9個Mong

從零開始搭建框架SSM+Redis+Mysql之MAVEN項目搭建

blog 目的 定位 enc style log onf project 集成 從零開始搭建框架SSM+Redis+Mysql(二)之MAVEN項目搭建 廢話不說,直接擼步驟!!! 1.創建主項目:ncc-parent 選擇maven創建項目,註意在創建項目中,packi