第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。

LVS-DR模式工作原理

首先,来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后,集群某个节点将回复该数据包,并将该数据包直接发送到客户端计算机(不经过director),并且以此回复数据包使用的目的VIP 地址作为源IP地址。因此,实际上是客户计算机被"欺骗"了,客户计算机始终认为它正与同一台计算机对话,而实际上它正在发送请求据包给一台计算机(LB),并从另一台计算机(RS)接收回复的数据包。

LVS-DR模式应用特点

1)所有集群节点RS必须和Director在相同的物理网段(即同一个局域网中);

2)所有客户端入站(而不是出站)请求由Director首先接收,并转发给集群节点RS;

3)集群节点RS通常来说最好带外部IP,而不使用Director及某固定机器作为默认网关,以便将数据包直接回复给客户端计算机,且不会产生回包的瓶颈;

4)所有集群节点RS上必须在lo网卡上绑定VIP地址,以便验证通过目的IP非RS的数据包;

5)由于所有集群节点RS上必须在lo网卡上绑定VIP地址,因此,带来arp问题,即集群节点RS默认会相应发往Director VIP的数据包。因此要对所有集群节点RS做ARP抑制处理,把响应VIP的请求交给LVSDirector;

6)很多操作系统都可以用在集群内部的RS真实服务器上只要该操作系统能够实现ARP隐藏,如:Windows,linux,unix;

7)LVS/DR模式不需要开启调度器转发功能,这点和LVS/NAT模式是不同的。

8)LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的并发请求和转发更多的服务器数量

构建LVS-DR集群的步骤

实验环境准备:

LVS 192.168.159.141
web1 192.168.159.142
web2 192.168.159.143
vip 192.168.159.200
客户端 192.168.159.140

1.配置LVS虚拟VIP

ifconfig ens33:100 192.168.159.200 netmask 255.255.255.0 up  # 采用子接口配置

2.行配置添加LVS服务并增加两台RS

yum install ipvsadm

yum install ipvsadm    #安装ipvsadm

ipvsadm -C
ipvsadm -A -t 192.168159.200:80 -s wrr					#添加虚拟服务器
ipvsadm -a -t 192.168.159.200:80 -r 192.168.159.142:80 -g -w 1   #添加真实服务器
ipvsadm -a -t 192.168.159.200:80 -r 192.168.159.143:80 -g -w 1

ipvsadm -L -n   #查看配置
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.159.200:80 wrr
  -> 192.168.159.142:80           Route   1      0          0         
  -> 192.168.159.143:80           Route   1      0         

3.在RS端绑定VIP

ifconfig lo:100 192.168.159.200 netmask 255.255.255.255 up 
route add -host 192.168.159.200 dev lo  #添加本机访问VIP的路由

4.在RS端抑制ARP响应

# 调整内核参数,关闭arp响应
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

5.在RS端书写html页面

echo "this is `hostname -I` " > /var/www/html/index.html

6.在客户端进行域名解析

echo "192.168.159.200    www.hzitedu.com " >>/etc/hosts

7.在客服端测试

2、配置nginx负载均衡。

负载均衡(Load Balance),它在网络现有结构之上可以提供一种廉价、有效、透明的方法来扩展网络设备和服务器的带宽,并可以在一定程度上增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性等。用官网的话说,它充当着网络流中"交通指挥官"的角色,"站在"服务器前处理所有服务器端和客户端之间的请求,从而最大程度地提高响应速率和容量利用率,同时确保任何服务器都没有超负荷工作。如果单个服务器出现故障,负载均衡的方法会将流量重定向到其余的集群服务器,以保证服务的稳定性。当新的服务器添加到服务器组后,也可通过负载均衡的方法使其开始自动处理客户端发来的请求

负载均衡的配置

准备 3台虚拟机,并全部安装 Nginx 服务器

负载均衡服务器 192.168.159.141
web服务器1 192.168.159.142
web服务器2 192.168.159.143

1.负载均衡服务器配置

vim /etc/nginx/conf.d/default.conf

upstream web_server{
  server 192.168.159.142;
  server 192.168.159.143;
}

server {
  listen     80;
  server_name www.test.com;
  location / {
    proxy_pass http://web_server;
  }
}

systemctl restart nginx

#域名解析
echo "192.168.159.141       www.test.com"   > /etc/hosts

Web服务器配置

echo " this is `hostname -I`" > /usr/share/nginx/html/index.html

测试:

相关推荐
吃面不喝汤661 小时前
如何配置和使用自己的私有 Docker Registry
运维·docker·容器
Rookie_explorers1 小时前
Linux下go环境安装、环境配置并执行第一个go程序
linux·运维·golang
学习向前冲1 小时前
AD域控服务器
运维·服务器
hgdlip1 小时前
查看ip地址的方法有几种?探索多样方法
运维·服务器·ip地址
丶21361 小时前
【Nginx】在 Docker 上安装 Nginx 的详细指南
运维·nginx·docker
神即道 道法自然 如来2 小时前
Jenkins怎么设置每日自动执行构建任务?
运维·jenkins
hanniuniu132 小时前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
m0_635502202 小时前
Spring Cloud Gateway组件
网关·微服务·负载均衡·过滤器
鱼饼6号2 小时前
Prometheus 上手指南
linux·运维·centos·prometheus
m0_609000424 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作