lvs负载均衡集群(NAT模式)

在这里插入图片描述

群集的类型

1、负载均衡集群:(LB)以提高系统的响应能力,尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载的整体性能。

2、高可用集群:(HA)以提高应用系统的可靠性,尽可能减少中断时间为目标、确保服务的连续性,达到高可用的容错效果。

3、高性能运算集群:(HPC)以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算能力。
在这里插入图片描述
1、 第一层,负载调度器:(前端)这是访问整个群集系统的唯一入口。对外使用所有服务器共有的vip(虚拟IP)地址。通常配置主、备两台服务器实现热备份。

2、第二层,服务器池:群集所提供的应用服务 如http ftp。

3、第三层,共享存储:为服务器的所有节点提供稳定、一致的文件存取服务,确保整个集群的统一性。
在这里插入图片描述
1、地址转换:简称NAT模式,负载调度器作为所有服务器节点的网关,既作为客户机的访问入口,也是各节点回应客户机的访问出口。(回包给调度器)

2、 IP隧道:简称TUN模式,负载调度器仅作为客户机的访问入口。各节点通过各自的internet连接直接回应客户机,而不再经过负载调度器,服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。

3、直接路由:简称DR模式,采用半开放网络式结构,各节点并不是分散在各地,而是与调度器同处一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。(回包给client)

以上三种工作模式中,NAT方式只需要一个公网IP地址,从而成为最易用的一种负载均衡模式。 相比较而言DR 和TUN模式的负载能力更加强大、适用范围更广,但节点的安全性较差。
在这里插入图片描述
1、轮询(rr):将收到的访问请求按照顺序轮流分配给集群中的各节点,均等的对待每一台服务器,而不管服务器实际的连接数和系统负载。

2、加权轮询(wrr)根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重。这样能力强的服务器就承担了更多的访问量。

3、最少链接(lc):根据真实服务器的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。如果所有服务器节点性能相近,这种方式可以更好的均衡负载。

4、加权最少连接(wlc):在服务器节点性能差异较大的情况下,可以为真实服务器自动调整权重,权重较高的节点将承受更大比例的活动连接负载。

案例

client 访问vip 可以访问到web1和web2网站, 使用NFS发布共享资源。使得网站同步。(NAT)
在这里插入图片描述
首先停掉四台的这些东西

chkconfig iptables off
chkconfig NetworkManager off
service iptables stop
service NetworkManager stop
cat /etc/sysconfig/selinux | grep SELINUX

在这里插入图片描述
把网络配置好 不同的是web1 和web2 需要指定网关1.1。拿web1 来举例
在这里插入图片描述

cat /etc/sysctl.conf | grep ip_forward
net.ipv4.ip_forward = 0
sed -i s'/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/sysctl.conf 
sysctl -p           #配置路由转发

在这里插入图片描述

 modprobe ip_vs #加载ip_vs模块
 cat /proc/net/ip_vs #确认内核对lvs的支持

在这里插入图片描述

yum -y install ipvsadm  #装ipvsadm群集管理工具

在这里插入图片描述

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 200.0.0.1
service iptables save 
chkconfig iptables on      #写防火墙规则 1.0网段地址 从eth0 出 源地址转换成200.0.0.1

在这里插入图片描述

ipvsadm -A -t 200.0.0.1:80 -s rr  
ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.2:80 -m -w 1
ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.3:80 -m -w 1
ipvsadm -ln    
service ipvsadm save
chkconfig ipvsadm on    #创建虚拟服务器 添加服务器节点

在这里插入图片描述
A 表示添加虚拟服务器
-t 用来指定vip地址及端口
-s 用来指定负载均衡调度算法——轮询(rr)、加权轮询(wrr)、最少连接(lc)、加权最少连接(wlc)
-p 秒数 -p 60 为保持时间(60秒)
-a 表示添加真实服务器
-r 用来指定rip地址及tcp端口
-m 表示使用NAT集群模式(-g DR模式、-i TNU模式)
-w 用来设置权重(权重为0表示暂停节点)
-ln 查看群集状态

echo 111111 > /var/www/html/index.html
 service httpd start  #建立测试网页文件 web2我设置的不一样 为了看效果

在这里插入图片描述
访问结果如下
在这里插入图片描述

使用NFS共享存储服务

yum -y install nfs-utils rpcbind

在这里插入图片描述

chkconfig nfs on
chkconfig rpcbind on

在这里插入图片描述

mkdir -p /opt/wwwroot
vim /etc/exports 
/opt/wwwroot    192.168.2.0/24(rw,sync,no_root_squash) #写入配置文件
cat /etc/exports  
chmod 770 /opt/wwwroot/  #权限要注意文件本身的权限
#设置共享目录 NFS配置文件为/etc/exports 同时共享给不同客户机、不同权限,空格隔开指定多个客户机选项就可以
tail -1 /etc/mtab  # 查看挂载结果将有以下输出
192.168.2.1:/opt/wwwroot /var/www/html nfs rw,vers=4,addr=192.168.2.1,clientaddr=192.168.2.2 0 0

在这里插入图片描述
ro 为只读 rw 为读写 sync 表示同步写入
no_root_squash 表示以root身份访问时赋予本地root权限(默认是root_squash ,将作为nfsnobody降权对待)

service rpcbind restart 
service nfs start  #注意启动顺序,不然不可以访问
netstat -anpt | grep rpcbind #将有以下输出

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2280/rpcbind        
tcp        0      0 :::111                      :::*                        LISTEN      2280/rpcbind        

在这里插入图片描述

showmount -e 192.168.2.1 #web 1  web 2 查看共享存储将有以下输出
Export list for 192.168.2.1:
/opt/wwwroot 192.168.2.0/24
mount 192.168.2.1:/opt/wwwroot /var/www/html  #挂载共享存储到本地网站首页路径
#web1  web2 同样操作

在这里插入图片描述

echo 456456456456 > /var/www/html/index.html  #web1 更新网站首页文件

在这里插入图片描述
web 2 也变了
在这里插入图片描述

#改了一下网页内容

在这里插入图片描述

setenforce 0 #如果httpd服务起不来 输入这个服务起来 访问不了去lvs调度器也执行一下。

在这里插入图片描述
写自动挂载配置文件

vim /etc/fstab 
192.168.2.1:/opt/wwwroot   /var/www/html  nfs defaults,_netdev  0  0

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40084074/article/details/83150066