LVS-DR 配置測試

LVShtml

Lvs體系結構前端

 

Lvs工做模式(3種)web

NAT-網絡地址轉換模式算法

        當用戶請求到達調度器時,調度器將請求報文的目標地址(即虛擬IP地址)改寫成選定的Real Server地址,同時報文的目標端口也改爲選定的Real Server的相應端口,最後將報文請求發送到選定的Real Server。在服務器端獲得數據後,Real Server返回數據給用戶時,須要再次通過負載調度器將報文的源地址和源端口改爲虛擬IP地址和相應端口,而後把數據發送給用戶,完成整個負載調度過程。vim

TUN-ip隧道模式centos

        它的鏈接調度和管理與VS/NAT方式同樣,只是它的報文轉發方法不一樣,VS/TUN方式中,調度器採用IP隧道技術將用戶請求轉發到某個Real Server,而這個Real Server將直接響應用戶的請求,再也不通過前端調度器,服務器

SR-直接路由模式網絡

        它的鏈接調度和管理與VS/NAT和VS/TUN中的同樣,但它的報文轉發方法又有不一樣,VS/DR經過改寫請求報文的MAC地址,將請求發送到Real Server,而Real Server將響應直接返回給客戶,免去了VS/TUN中的IP隧道開銷。這種方式是三種負載調度機制中性能最高最好的.負載均衡

LVS調度算法性能

經常使用:

        rr:輪詢調度(也叫1:1調度,把用戶請求平均分配給real server)

      wrr:加權輪詢(根據Real Server的不一樣處理能力來調度訪問請求調度器還能夠自動查詢Real Server的負載狀況,並動態地調整其權值。,)

      lc:最小鏈接數調度(動態地將網絡請求調度到已創建的鏈接數最少的服務器上)

        wlc:加權最小鏈接數調度(系統管理員能夠動態的設置相應的權值,權值表示其處理能力)

--------------------------------------------------------------------------------------------------------------------------------------------------------- 

 

LVS-DR模式工做原理

     首先CIP請求被髮送到Director的VIP,而後Director使用相同的VIP將目的IP地址請求發送到集羣節點或Real Server。最後,集羣某個節點將回復該數據包,並將該數據包直接發送到客戶端計算機(不通過director),而且以此回覆數據包使用的目的VIP 地址做爲源IP地址。

LVS-DR

1、環境準備

Directory    centos7.3         192.168.138.11(VIP:192.168.138.110)

Rs1         centos7.3         192.168.138.12

Rs2         centos7.3         192.168.138.16

測試機器    centos7.3         192.168.138.14

配置域名解析

#cat /etc/hosts

192.168.138.11      directory

192.168.138.12  rs1

192.168.138.16      rs2

同步時間

ntpdate ntp.gwadar.cn

配置http服務(在Real server操做)

1)  安裝

yum install -y httpd

2)準備測試頁面

[root@rs1 ~]# cat  /var/www/html/index.html

<html>

<head>

<title> This is a web test page </title>

</head>

<body>

<h1><center>Welcom to my web , my ip is 192.168.138.12</center></h1>

</body>

</html>

[root@rs2 ~]# cat  /var/www/html/index.html

<html>

<head>

<title> This is a web test page </title>

</head>

<body>

<h1><center>Welcom to my web , my ip is 192.168.138.16</center></h1>

</body>

</html>

3)啓動並測試http服務

[root@rs1 ~]# systemctl start httpd

[root@rs1 ~]# elinks -dump http://192.168.138.12

                   Welcom to my web , my ip is 192.168.138.12

二.Lvs安裝及配置

1.安裝

[root@direstory ~]# yum install -y ipvsadm

加載到內核

[root@direstory ~]# ipvsadm

查看

[root@direstory ~]# lsmod | grep ip_vs

ip_vs                 141092  0

nf_conntrack          111302  1 ip_vs

libcrc32c              12644  2 xfs,ip_v

2.配置lvs負載均衡服務

 1)配置VIP地址

方法一:

[root@direstory ~]# cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:110

[root@direstory network-scripts]# cat ifcfg-ens33:110

BOOTPROTO=none

DEVICE=ens33:110

ONBOOT=yes

DNS1=114.114.114.114

TYPE=Ethernet

IPADDR1=192.168.138.110

PREFIX=24

GATEWAY=192.168.138.2

方法二

查看網卡接口

[root@direstory ~]#nmcli con sh

增長ip地址

[root@direstory ~]# nmcli con mod "System ens33" +ipv4.addr 192.168.138.110/24

3. 手工執行配置添加LVS服務並增長兩臺RS

[root@direstory ~]# ipvsadm -A -t 192.168.138.110:80 -s rr

[root@direstory ~]# ipvsadm -a -t 192.168.138.110:80 -r 192.168.138.16:80 -g

[root@direstory ~]# ipvsadm -a -t 192.168.138.110:80 -r 192.168.138.12:80 –g

查看配置的服務

[root@direstory ~]# ipvsadm -l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.138.110:80 rr

  -> 192.168.138.12:80            Route   1      0          0        

  -> 192.168.138.16:80            Route   1      0          0        

相關參數解釋

-A  添加虛擬服務器

                -t  設置羣集地址(VIP,Virtual IP)

                -s  指定負載調度算法

                -a  添加真實服務器

                -d  刪除真實服務器

                -r  指定真實服務器(Real Server)的地址

                -m  使用NAT模式;-g、-i分別對應DR、TUN模式

                -w  爲節點服務器設置權重,默認爲1

配置好的lvs服務保存/恢復

保存:

[root@direstory ~]# ipvsadm -S > ipvsadm.cfg

[root@direstory ~]# more ipvsadm.cfg

-A -t 192.168.138.110:http -s rr

-a -t 192.168.138.110:http -r rs1:http -g -w 1

-a -t 192.168.138.110:http -r rs2:http -g -w 1

恢復:

[root@direstory ~]# ipvsadm -R < ipvsadm.cfg

[root@direstory ~]# ipvsadm –l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.138.110:http rr

  -> rs1:http                     Route   1      0          0        

  -> rs2:http                     Route   1      0          0     

刪除示例:

[root@direstory ~]# ipvsadm -D -t 192.168.138.110:80

[root@direstory ~]# ipvsadm -d-t 192.168.138.110:80 -r 192.168.138.16:80

4. 手工在RS端綁定VIP
[root@rs1 ~]# cd /etc/sysconfig/network-scripts/

[root@rs1 network-scripts]# cp ifcfg-lo ifcfg-lo:110

[root@rs1 network-scripts]# vim  ifcfg-lo:110

DEVICE=lo:110

IPADDR=192.168.138.110

NETMASK=255.255.255.255

ONBOOT=yes

 

Rs2 同上

 

5.調整內核參數,關閉arp響應(在每臺real server執行)

內核參數配置文件:/etc/sysctl.conf

當前生效

[root@RS1 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS1 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
永久生效

[root@rs1 ~]# cat /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore=1

net.ipv4.conf.lo.arp_announce=2

net.ipv4.conf.all.arp_ignore=1

net.ipv4.conf.all.arp_announce=2

 

rs2同上

 

3、測試lvs-dr集羣

[root@localhost ~]# for ((i=1;i<=10;i++)); do elinks -dump http://192.168.138.110; done

                   Welcom to my web , my ip is 192.168.138.16

                   Welcom to my web , my ip is 192.168.138.12

                   Welcom to my web , my ip is 192.168.138.16

                   Welcom to my web , my ip is 192.168.138.12

                   Welcom to my web , my ip is 192.168.138.16

                   Welcom to my web , my ip is 192.168.138.12

                   Welcom to my web , my ip is 192.168.138.16

                   Welcom to my web , my ip is 192.168.138.12

                   Welcom to my web , my ip is 192.168.138.16

                       Welcom to my web , my ip is 192.168.138.12

相關文章
相關標籤/搜索