LVS 負載均衡之 VS/DR 模式

冷無缺發表於2019-08-05

一、LVS/DR 模式簡介

  1. DR模式是通過改寫請求報文的目標MAC地址,將請求發給真實伺服器的,而真實伺服器響應後的處理結果直接返回給客戶端使用者。同TUN模式一樣,DR模式可以極大的提高叢集系統的伸縮性。而且DR模式沒有IP隧道的開銷,對叢集中的真實伺服器也沒有必要必須支援IP隧道協議的要求。但是要求排程器LB與真實伺服器RS都有一塊網路卡連線到同一物理網段上,必須在同一個區域網環境。DR模式是網際網路使用比較多的一種模式。

Linux LVS 負載均衡

  1. 特點總結
    • 叢集節點處於同一個廣播域中
    • 真是伺服器將閘道器指向真是路由器
    • 負載排程器只負責處理入站請求,壓力最小
    • 不支援埠對映

二、LVS/DR 實驗搭建

網路環境說明:

伺服器型別 IP 說明
lvs_vip 192.168.137.10 VIP
lvs_dip 192.168.137.100 DIP
real_service_1 192.168.137.101 nginx 伺服器
real_service_2 192.168.137.102 nginx 伺服器

&:三臺伺服器均關閉防火牆和selinux

1、負載排程器配置

  • 1.1 拷貝 eth0 網路卡子介面,充當叢集入口介面

    cd /etc/sysconfig/network-scripts/

    cp ifcfg-eth0 ifcfg-eth0:0

    LVS 負載均衡之 VS/DR 模式

  • 1.2 配置網路卡子介面 IP 地址為虛擬IP (VIP)

    vi ifcfg-eth0:0

    LVS 負載均衡之 VS/DR 模式

  • 1.3 開啟 eth0:0網路卡

    ifup eth0:0

    LVS 負載均衡之 VS/DR 模式

  • 1.4 安裝LVS管理工具 ipvsadm

    yum install -y ipvsadm

  • 1.5 配置 ipvs 規則

    ipvsadm -A -t VIP:80 -s rr (此處採用輪詢演算法)

    ipvsadm -a -t VIP:80 -r RIP1 -g

    ipvsadm -a -t VIP:80 -r RIP2 -g

    service ipvsadm save // 儲存規則

    chkconfig ipvsadm on // 設定開機啟動

    LVS 負載均衡之 VS/DR 模式

    • 1.6 配置vip路由

    route add -host 192.168.137.10 dev eth0:0

2、真實伺服器配置 (以 real-service-1 為例)

  • 2.1 安裝 web 伺服器 (此處採用 nginx,需要提前下載好Nginx的安裝包)

    yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel (安裝必要依賴)

    groupadd nginx

    useradd nginx -g nginx -s /sbin/nologin -M

    進入 nginx 原始碼包解壓目錄

    ./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx --user=nginx --group=nginx --without-http_rewrite_module

  • 2.2 隨便寫點內容到伺服器預設頁面,為了可以看出區別,兩臺真實伺服器的內容不一樣

    echo "This is Real Service 1" >> index.html

    LVS 負載均衡之 VS/DR 模式

  • 2.3 拷貝迴環網路卡子介面

    cd /etc/sysconfig/network-scripts/

    cp ifcfg-lo ifcfg-lo:0

  • 2.4 配置 迴環網路卡子介面 IP地址為虛擬IP

    vi ifcfg-lo:0

    LVS 負載均衡之 VS/DR 模式

  • 2.5 啟動網路卡

    ifup lo:0

  • 2.6 設定 arp 廣播抑制

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

  • 2.7 讓優化的核心引數立即生效

    sysctl -p

    LVS 負載均衡之 VS/DR 模式

  • 2.8 新增路由記錄,當訪問 VIP 時,交給 lo:0 網路卡接受

    route -add host 192.168.137.10 (VIP) dev 1o:0

    LVS 負載均衡之 VS/DR 模式

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章