/images/hugo/avatar.png

24.5 LVS DR模型实战

LVS DR模型实战

本节我们将搭建一个 LVS-DR 的负载均衡集群。

1. 网络拓扑结构

/images/linux_mt/lvs-dr-frame.png

拓扑结构说明:

  • VS, RS1, RS2 在虚拟机内均采用桥接方式,桥接到物理机的网卡上
  • VIP 配置在 DIP 所在网卡的别名上

2. lvs-dr 配置示例

2.1 RS 配置脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

vip="192.168.1.99"

case $1 in
start)
	echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
	echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
	echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
	echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  iptables -F
  ifconfig lo:0 $vip netmask 255.255.255.255 broadcast $vip up
	route add -host $vip dev lo:0
	;;
stop)
	ifconfig lo:0 down
	echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
	echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
	echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
	echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
	;;
*)
  echo "Usage $(basename $0) start|stop"
  exit 1
  ;;
esac

echo "/proc/sys/net/ipv4/conf/all/arp_ignore:"   `cat  /proc/sys/net/ipv4/conf/all/arp_ignore`
echo "/proc/sys/net/ipv4/conf/lo/arp_ignore:"   `cat  /proc/sys/net/ipv4/conf/lo/arp_ignore`
echo "/proc/sys/net/ipv4/conf/all/arp_announce:"   `cat  /proc/sys/net/ipv4/conf/all/arp_announce`
echo "/proc/sys/net/ipv4/conf/lo/arp_announce:"   `cat  /proc/sys/net/ipv4/conf/all/arp_announce`

2.2 VS 配置脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
vip="192.168.1.99"
ifc="enp0s3:0"
port=80
rs1="192.168.1.107"
rs2="192.168.1.109"

case $1 in
start)
	ifconfig $ifc $vip netmask 255.255.255.255 broadcast $vip up
	iptables -F
	ipvsadm -A -t $vip:$port -s wrr
	ipvsadm -a -t $vip:$port -r $rs1 -g -w 1 	
	ipvsadm -a -t $vip:$port -r $rs2 -g -w 1
	;;
stop)
	ipvsadm -C
	ifconfig $ifc down
	;;
*)
  echo "Usage $(basename $0) start|stop"
  exit 1
  ;;
esac

24.4 LVS nat模型实战

LVS nat模型实战

本节我们将搭建一个 LVS-NAT 的负载均衡集群。

1. 网络拓扑结构

/images/linux_mt/LVS-NAT-FRAME.png

2. lvs-nat 配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 1. 配置 RS
# - 配置 ip 地址
# - 配置 httpd
# - 关闭 iptables
# - 关闭 SELinux

# 2. 配置 Director ipvs
sysctl net.ipv4.ip_foward=1
ipvsadm -A -t 192.168.1.254:80 -s rr
ipvsadm -a -t 192.168.1.254:80 -r 172.16.0.251 -m -w 1
ipvsadm -a -t 192.168.1.254:80 -r 172.16.0.252 -m -w 1

ipvsadm -L -n

ipvadm -S -n    > /etc/sysconfig/ipvsadm
ipvsadm-save -n > /etc/sysconfig/ipvsadm

ipvsadm -C
ipvsadm -R < /etc/sysconfig/ipvsadm

# 修改规则
ipvsadm  -E -t 192.168.1.148:80 -s sh
ipvsadm -L -n

ipvsadm -e -t 192.168.1.148:80 -r 172.16.0.2:8080 -m # 不行
ipvsadm -d -t 192.168.1.148:80 -r 172.16.0.2

24.1 架构拓展及集群介绍

架构拓展及集群介绍

/images/linux_mt/linux_slb.jpg

前面我们已经介绍了,如何使用 nginx 或 httpd 部署一台 web 服务器,但是受限于单太服务器的资源,一台服务器能提供的响应能力有限。因此从本章开始,我们将从最简单 LAMP/LNMP 出发,不断向其添加组件来扩展我们的 web 服务框架,以提供更快,更稳定的服务。本章我们开始讲解第一个组件,如何使用 LVS 实现一个负载均衡集群,内容包括: