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

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

LVS-DR模式工作原理
第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡_第1张图片
首先,来自客户端计算机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.在客服端测试
第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡_第2张图片

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

测试:
第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡_第3张图片

你可能感兴趣的:(运维,lvs,nginx,负载均衡)