Centos7构建LVS群集——NAT模式,DR模式

一、构建LVS-NAT群集

1.准备工作

主机 操作系统 虚拟网卡 IP地址 网关
LVS负载均衡调度器 Centos7 VM12 192.168.1.10192.168.100.10 充当网关
Web-AAA Centos7 VM1 192.168.1.3 192.168.1.10
Web-BBB Centos7 VM1 192.168.1.4 192.168.1.10
NFS共享存储 Centos7 VM1 192.168.1.110 192.168.1.10
外网客户机 Win7 VM2 192.168.100.20 192.168.100.10

2.配置LVS服务器

1)加载模块

[root@localhost ~]# modprobe ip_vs

2)确认内核对LVS的支持

[root@localhost ~]# modprobe ip_vs

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
3)启用路由转发

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p

在这里插入图片描述
4)使用ipvsadm工具(LVS群集管理工具)
挂载光盘,并配置yum源

[root@localhost ~]# yum -y install ipvsadm

创建虚拟服务器,VIP必须是本机真实ip地址

[root@localhost ~]# ipvsadm -C    (清除原有的策略)
[root@localhost ~]# ipvsadm -A -t 192.168.100.10:80 -s rr
  1. -A 添加虚拟服务器
  2. -t VIP地址及端口号
  3. -s 负载调度算法(轮询rr,加权轮询wrr,最少连接lc,加权最少连接wlc)
    添加服务器节点Web-AAA,Web-BBB
[root@localhost ~]# ipvsadm -a -t 192.168.100.10:80 -r 192.168.1.3:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.100.10:80 -r 192.168.1.4:80 -m -w 1
  1. -a 添加真实服务器
  2. -t vip地址及tcp端口号
  3. -r rip地址及端口号
  4. -m 使用nat群集默认(-g DR模式,-i TUN模式)
  5. -w 设置权重(0是暂停节点)
    保存策略,并设置开机自启
[root@localhost ~]# ipvsadm-save
[root@localhost ~]# systemctl enable ipvsadm

在这里插入图片描述

3.NFS共享存储服务器配置

挂载光盘,并配置yum源
1)安装nfs-utils、rpcbind软件包

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind

2)设置共享目录

[root@localhost ~]# mkdir -p /opt/web1 /opt/web2

在这里插入图片描述
3)设置nfs共享文件
将文件夹web1,web2分别共享给web1,web2主机 使用,允许读写操作

扫描二维码关注公众号,回复: 11847081 查看本文章
[root@localhost ~]# vi /etc/exports
添加:
/opt/web1 192.168.1.3(rw,sync,no_root_squash)
/opt/web2 192.168.1.4(rw,sync,no_root_squash)

注释:
rw 读写
sync 同步写入
no_root_squash 客户机以root身份访问时赋予本地root权限
4)启动NFS服务程序。注意:先启动rpcbind,再启动nfs

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# netstat -anpu | grep rpcbind

5)查看本机发布的NFS共享目录

[root@localhost ~]# showmount -e

在这里插入图片描述

4.Web-AAA主机

挂载光盘,并配置yum源
1)安装httpd服务

[root@Web-AAA ~]# yum -y install httpd

2)配置nfs共享存储客户端

[root@Web-AAA ~]# yum -y install rpcbind nfs-utils
[root@Web-AAA ~]# systemctl enable rpcbind
[root@Web-AAA ~]# systemctl start rpcbind
[root@Web-AAA ~]# showmount -e 192.168.1.110
[root@Web-AAA ~]# mount 192.168.1.110:/opt/web1 /var/www/html/
[root@Web-AAA ~]# echo "<h1>this is web1</h1>" > /var/www/html/index.html
[root@Web-AAA ~]# echo "192.168.1.110:/opt/web1 /var/www/html nfs defaults,_netdev 0 0" > /etc/fstab
[root@Web-AAA ~]# tail -1 /etc/fstab
[root@Web-AAA ~]# systemctl enable httpd
[root@Web-AAA ~]# systemctl start httpd

在这里插入图片描述

5.Web-BBB主机

挂载光盘,并配置yum源
1)安装httpd服务

[root@Web-BBB ~]# yum -y install httpd

2)配置nfs共享存储客户端

[root@Web-BBB ~]# yum -y install rpcbind nfs-utils
[root@Web-BBB ~]# systemctl enable rpcbind
[root@Web-BBB ~]# systemctl start rpcbind
[root@Web-BBB ~]# showmount -e 192.168.1.110
[root@Web-BBB ~]# mount 192.168.1.110:/opt/web2 /var/www/html/
[root@Web-BBB ~]# echo "<h1>this is web2</h1>" > /var/www/html/index.html
[root@Web-BBB ~]# echo "192.168.1.110:/opt/web2 /var/www/html nfs defaults,_netdev 0 0" > /etc/fstab
[root@Web-BBB ~]# tail -1 /etc/fstab
[root@Web-BBB ~]# systemctl enable httpd
[root@Web-BBB ~]# systemctl start httpd

在这里插入图片描述

6.外网客户机测试

访问:http://192.168.100.10
多访问几次,不然看不到效果
在这里插入图片描述
在这里插入图片描述

二、直接路由模式(LVS-DR)

1.准备工作

可以继续使用上面实验环境,不过要做以下修改
将调度器的外网网卡删掉,就是VM2那块网卡
将Win客户机的VM2改为VM1,IP改为:192.168.1.88

2.配置负载调度器

1)配置虚拟IP地址(VIP)
采用虚接口的方式,为ens33绑定VIP地址,以便响应群集访问
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# rm -rf ifcfg-ens37
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vi ifcfg-ens33:0
首先删除UUID配置项,然后如下配置项改成如下
NAME="ens33:0"
DEVICE="ens33:0"
IPADDR="192.168.1.188"
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig ens33:0

2)调整/proc响应参数
对于DR群集模式来说,用于LVS负载调度器和各节点需要公用VIP地址,应该关闭linux内核重定向参数

[root@localhost ~]# vi /etc/sysctl.conf
删除原有的:net.ipv4.ip_forward = 1
添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@localhost ~]# sysctl -p

在这里插入图片描述
3)配置负载分配策略

[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.1.188:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.3 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.4 -g -w 1
[root@localhost ~]# ipvsadm-save

在这里插入图片描述

3.配置Web节点服务器

Web-AAA和WebBBB服务器操作都如下:
1)配置虚拟ip地址VIP
使用DR模式,节点服务器,也需要配置VIP地址,使用这个地址做web响应的源地址

[root@Web-AAA ~]# cd /etc/sysconfig/network-scripts/
[root@Web-AAA network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@Web-AAA network-scripts]# vi ifcfg-lo:0
修改:
修改DEVICE=lo:0
NETMASK=255.255.255.255           \\子网掩码必须为255.255.255.255
IPADDR=192.168.1.188               \\改为VIP地址
[root@Web-AAA network-scripts]# systemctl restart network
[root@Web-AAA network-scripts]# ip a

在这里插入图片描述
为本机添加一台路由记录,将VIP的数据限制在本地,避免通信混乱

[root@Web-AAA ~]# yum -y install net-tools
[root@Web-AAA ~]# vi /etc/rc.local
添加:
/sbin/route add -host 192.168.1.188 dev lo:0
[root@Web-AAA ~]# route add -host 192.168.1.188 dev lo:0

在这里插入图片描述
2)调整内核参数

[root@Web-AAA ~]# vi /etc/sysctl.conf
添加:
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[root@Web-AAA ~]# sysctl -p

在这里插入图片描述
3)安装httpd创建测试网页,然后挂载NFS共享
4)启用httpd服务
由于使用的是图一实验,已经做过,就不再做3,4步

测试LVS群集

在win7客户机上将VM2改为VM1,并设置IP为192.168.1.88
在这里插入图片描述
测试时频繁刷新页面
在这里插入图片描述
在这里插入图片描述
也可以用脚本测试:
在这里插入图片描述
5)在LVS调度器上查看LVS策略
在这里插入图片描述

  1. Masq----地址伪装NAT模式
  2. Route—DR模式
  3. Weight—权重

猜你喜欢

转载自blog.csdn.net/weixin_46902396/article/details/108904660
今日推荐