LVS负载均衡群集(NAT模式 DR模式)

LSV负载均衡群集

地址转换模式(nat)

在nat模式群集中,LSV负载均衡调度器是所有节点的访问internet的网关服务器

其外网口地址也最为整个群集的VIP地址,调度器是整个公司网关
任何请求都要经过调度器,包括回应的

1.配置实验环境

一台centos7是调度器 IP 192.168.100.102 第二块网卡是外网口 IP 192.168.200.254
第一块网卡是 VM1 第二块网卡是 VM2

两台centos7是 web服务器节点 IP 分别是 192.168.100.103 | 192.168.100.104
都是VM1

一台centos7是NFS存储服务器 IP 192.168.100.105 VM1

一台win7是外网测试机 IP 192.168.200.66 VM2

都使用Xshell连接,并标好各个的名字,不然容易出错

2.配置负载调度器

首先进入192.168.100.102 调度器,并配置外网口ip 为 192.168.200.254
别忘了重启网卡

1)开启路由转发
[root@CentOS7-02 ~]# vim /etc/sysctl.conf (进入后新起一行,添加如下)
net.ipv4.ip_forward = 1
[root@CentOS7-02 ~]# sysctl -p

2)安装负载分配工具并配置负载策略
挂载光盘,并配置yum源
[root@CentOS7-02 ~]# yum -y install ipvsadm
下面的命令不好理解,我下图中有详细的解释
[root@CentOS7-02 ~]# ipvsadm -C
[root@CentOS7-02 ~]# ipvsadm -A -t 192.168.200.254:80 -s rr
[root@CentOS7-02 ~]# ipvsadm -a -t 192.168.200.254:80 -r 192.168.100.103:80 -m -w 1
[root@CentOS7-02 ~]# ipvsadm -a -t 192.168.200.254:80 -r 192.168.100.104:80 -m -w 1
[root@CentOS7-02 ~]# ipvsadm-save
[root@CentOS7-02 ~]# systemctl enable ipvsadm
在这里插入图片描述

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

进入192.168.100.105
1)安装相关的软件包
[root@centos7-05 ~]# yum -y install nfs-utils rpcbind
[root@centos7-05 ~]# systemctl enable rpcbind
[root@centos7-05 ~]# systemctl enable nfs

2)设置共享目录,并设置共享权限
[root@centos7-05 ~]# mkdir -p /www
[root@centos7-05 ~]# cd /www/
[root@centos7-05 www]# vim index.html
N F S
下面这一部是设置共享权限
[root@centos7-05 www]# vim /etc/exports
/www 192.168.100.0/24(rw,sync,no_root_squash)
保存退出,解释如下
/www是刚刚的网页目录 ,rw表示读取写入,sync表示同步写入,
当然如果不想给写入,可以rw变成ro

如果你想给单独主机的权限可以这样写,注意,这里只是展示命令,不要再写入文件中了
/www 192.168.100.3(ro) 192.168.100.4(rw)

3)启动NFS服务程序
[root@centos7-05 www]# systemctl start rpcbind
[root@centos7-05 www]# systemctl start nfs
[root@centos7-05 www]# netstat -anpt | grep rpc

4)查看本机发布的NFS共享目录
[root@centos7-05 www]# showmount -e
Export list for centos7-05:
/www 192.168.100.0/24

验证一会在web服务器进行,下一步配置web服务器时我会将怎么验证

4.配置web服务器

注意下面的所有操作都是两个web服务都要进行的

1)安装httpd服务和访问NFS共享的必要软件包
首先在192.168.100.103 ,192.168.100.104服务器上挂载光盘,并配置yum源
都安装httpd服务并打开
[root@centos7-03 ~]# yum -y install httpd
[root@centos7-03 ~]# systemctl start httpd
安装必要的软件包并打开,
[root@centos7-03 ~]# yum -y install rpcbind nfs-utils
[root@centos7-03 ~]# systemctl enable rpcbind
[root@centos7-03 ~]# systemctl start rpcbind
查询共享
[root@centos7-04 ~]# showmount -e 192.168.100.105

2)手动挂载NFS共享目录
[root@centos7-03 html]# mount 192.168.100.105:/www /var/www/html/
[root@centos7-03 html]# cat /var/www/html/index.html
N F S
这里已经挂载上了,记得两个web服务器都要挂载

3)开机自动挂载
[root@centos7-03 html]# vim /etc/fstab
192.168.100.105:/www /var/www/html nfs defaults,_netdev 0 0

4)配置两个web服务器的网关都是 192.168.100.102
[root@centos7-03 html]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
改一下里面GATEWAY项,并重启网卡
[root@centos7-04 ~]# systemctl restart network

5.测试LSV群集

进入外网测试机win7配置IP,并把网关指向调度器外网口ip 192.168.200.254

浏览器访问
http://192.168.200.254/
外网口IP
如下会显示两个web服务器的网页,就成功了
在这里插入图片描述

配置DR模式

DR模式不使用调度器为公司网关,而是路由设备,调度器只是分配访问的请求任务

而回应的web页面,不经过调度器,直接通过网络设备回应,不容易造成阻塞
而且所有节点都使用VIP地址

1.配置实验环境

实验环境可以依旧使用,我上面nat实验环境,只需要稍微改动即可
如果你想重新配置也可以

把我上面实验环境中的调度器102的第二块网卡删掉,就是vm2的那块

并把win7客户机的vm改为vm1,ip改为 192.168.100.66

2.配置负载调度器

1)配置虚拟IP地址(VIP)
采用虚接口的方式,为ens33绑定VIP地址,以便响应群集访问

实验环境中VIP地址可以自己定义,我这里是192.168.100.222

[root@CentOS7-02 ~]# cd /etc/sysconfig/network-scripts/
[root@CentOS7-02 network-scripts]# rm -rf ifcfg-ens37
[root@CentOS7-02 network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@CentOS7-02 network-scripts]# vi ifcfg-ens33:0 (改一下就行,其他的不用动)
首先删除UUID配置项,然后如下配置项改成如下
NAME="ens33:0"
DEVICE="ens33:0"
IPADDR="192.168.100.222"
[root@CentOS7-02 ~]# systemctl restart network
[root@CentOS7-02 ~]# ifconfig ens33:0
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.222 netmask 255.255.255.0 broadcast 192.168.100.255
ether 00:0c:29:51:97:d3 txqueuelen 1000 (Ethernet)

2)调整/proc响应参数
对于DR群集模式来说,用于LVS负载调度器和各节点需要公用VIP地址,应该关闭linux内核重定向参数
[root@CentOS7-02 ~]# vim /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@CentOS7-02 ~]# sysctl -p

3)配置负载分配策略
[root@CentOS7-02 ~]# ipvsadm -C (清除原来的策略)
[root@CentOS7-02 ~]# ipvsadm -A -t 192.168.100.222:80 -s rr
[root@CentOS7-02 ~]# ipvsadm -a -t 192.168.100.222:80 -r 192.168.100.103 -g -w 1
[root@CentOS7-02 ~]# ipvsadm -a -t 192.168.100.222:80 -r 192.168.100.104 -g -w 1
[root@CentOS7-02 ~]# ipvsadm-save
-g:表示这是DR模式,
-w:权重

[root@CentOS7-02 ~]# systemctl enable ipvsadm

3.配置节点服务器(web)

如果你是单独做DR模式,需要先安装我上面nat模式的包,按照我上面实验的web主机配置好,再往下做

然后配置NFS存储,并挂载到本地,因为我上面做过了,就不展示了,如果你是单做的,可以按我上面的NFS存储服务器做就是上面的 105服务器

我下面的所有操作都是在两台web服务器中做的,103 104,操作一模一样的,我只会展示一个,你们做的时候两台都做

1)配置虚拟IP地址(VIP)
使用DR模式,节点服务器,也需要配置VIP地址,使用这个地址做web响应的源地址

[root@centos7-03 ~]# cd /etc/sysconfig/network-scripts/
[root@centos7-03 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@centos7-03 network-scripts]# vim ifcfg-lo:0
按我图下改
在这里插入图片描述[root@centos7-03 ~]# systemctl restart network
[root@centos7-03 ~]# ifconfig
lo:0: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 192.168.100.222 netmask 255.255.255.255
loop txqueuelen 1 (Local Loopback)

为本机添加一台路由记录,将VIP的数据限制在本地,避免通信混乱
[root@centos7-03 ~]# vim /etc/rc.local
/sbin/route add -host 192.168.100.222 dev lo:0
[root@centos7-03 ~]# route add -host 192.168.100.222 dev lo:0

2)调整/proc 响应参数
[root@centos7-03 ~]# vim /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@centos7-03 ~]# sysctl -p

3)安装httpd,然后挂载NFS共享

4)然后启动httpd服务
[root@centos7-03 ~]# systemctl start httpd

5)重复上述步骤,配置104web服务器

4.测试LVS群集

有人可能会问,为什么都是内网,测试也是内网,

其实只要中间连一个路由器,路由器做nat转换把一个公网IP转换为内网VIP地址就可以

因为涉及网络,这里就直接使用内网测试

进入win7客户机记得更改vm和ip,并关闭防火墙

浏览器访问http://192.168.100.222/ (VIP地址)
在这里插入图片描述
当然如果你觉得这样不准确,可以更改一下NFS存储的网页,然后刷新
进入192.168.100.105 共享存储,
[root@centos7-05 ~]# vim /www/index.html
A A A A A A A

进入客户机多刷新几次,或关闭浏览器重新打开 访问VIP地址,如下

在这里插入图片描述

实验完成

发布了54 篇原创文章 · 获赞 57 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_45308292/article/details/102485109