实践LVS的DR模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实践LVS的DR模式相关的知识,希望对你有一定的参考价值。

.虚拟机设置>设置>网络适配器(桥接模式)

技术图片

一. 实验环境

1.打三台虚拟机
Director节点
Real server1
Real server2

注意!!!
三台虚拟机上的ip地址必须是在同一个网段

二. 安装

两个 real server 上都安装 nginx 服务

步骤如下:

1.wget http://nginx.org/download/nginx-1.16.0.tar.gz
技术图片
2.tar -zxvf nginx-1.16.0.tar.gz
技术图片

3.yum install openssl openssl-devel zlib zlib-devel pcre pcre-devel
技术图片
4.yum install gcc

5.yum install gcc-c++
技术图片
6.cd nginx-1.16.0

./configure
技术图片
7.make
技术图片
8.make install
技术图片
9.cd /usr/local/nginx/sbin

10../nginx -t (检测)
技术图片
11../nginx

12.setenforce 0

13.systemctl stop firewalld.service

14.ifconfig

15.打开浏览器
输入 192.168.199.189 (自己ip)

Director 上安装 ipvsadm

yum install -y ipvsadm

技术图片

三 . Director 上配置脚本

vim /usr/local/sbin/lvs_dr.sh

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.0.38
rs1=192.168.0.18
rs2=192.168.0.28
ifconfig eth0:0 down
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s wrr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 3
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

技术图片

执行脚本:

bash /usr/local/sbin/lvs_dr.sh

在2台 rs 上配置脚本:

#vim /usr/local/sbin/lvs_dr_rs.sh
#! /bin/bash
vip=192.168.0.38
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip 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
rs1:
技术图片
rs2
技术图片
rs 上分别执行脚本:

bash /usr/local/sbin/lvs_dr_rs.sh

五. 测试

一.查看ipvsadm设置的规则
ipvsadm -ln
技术图片

二.3台机器关闭防火墙
systemctl stop firewalld.service
setenforce 0

三.打开浏览器,输入ip地址,开始访问

关闭其中一台nginx,显示另一台nginx网页

以上是关于实践LVS的DR模式的主要内容,如果未能解决你的问题,请参考以下文章

LVS的DR实践模式

实践LVS的DR模式

LVS负载均衡群集之DR模式+keepalived群集机构(理论+实践篇)

LVS DR模式配置

DR模式 LVS负载均衡群集

LVS DR 模式搭建Keepalived+LVS DR模式搭建