lvs负载均衡群集实验

IP地址规划:

1、调度器
对外公网:20.0.0.114 (NAT) 业务端口:80 路由转发功能
私有网络:192.168.100.114(VM1)
2、WE1
私有网络:192.168.100.85 (VM1) 网关:192.168.100.114
3、WE2
私有网络:192.168.100.87 (VM1) 网关:192.168.100.114
4、存储
私有网络:192.168.100.86 (VM1) 网关:192.168.100.114

实验步骤:

首先是网络的配置

一、 调度器上配置双网卡 (NAT)(VM1)

1、在虚拟机上直接添加一张网卡vm1
然后去更改
nmcli connection ## 查看网卡信息
91824f78-85ba-3751-8a94-29601999efb2 ## 记录下这个ens36的UUID
cd /etc/sysconfig/network-scripts/
network-scripts]# cp ifcfg-ens33 ifcfg-ens36
network-scripts]# vi ifcfg-ens36
下面是更改的内容##################
NAME=ens36
UUID=91824f78-85ba-3751-8a94-29601999efb2
DEVICE=ens36
ONBOOT=yes
IPV6_PRIVACY=no
IPADDR=192.168.100.114
PREFIX=24
GATEWAY=20.0.0.114
#DNS1=8.8.8.8
#DNS2=114.114.114.114
############################

yum -y install ipvsadm ##yum安装安装编译模块(安装环境 依赖包)
################可以查看一下###########

[root@mysql1 ~]# ipvsadm -v ##查看版本号
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
[root@mysql1 ~]# modprobe ip_vs ##自动处理可载入模块 ip_vs 必须做
[root@mysql1 ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
##################################

2、创建虚拟服务器(注意 nat模式需要两张网卡 调度器的地址是外网口地址)
群集的VIP地址为192.168.100.114 针对tcp 80端口提供负载分流服务 使用的是轮询调度算法 对负载均衡调度器来说 vip必须是本机实际已经启用的IP地址
[root@mysql1 ~]# ipvsadm -A -t 20.0.0.114:80 -s rr
##“-A"表示添加虚拟服务器,"-t"用来指定VIP地址及TCP端口,"-s"用来指定负载调度算法——rr

3、添加服务器节点
[root@mysql1 ~]# ipvsadm -a -t 20.0.0.114:80 -r 192.168.100.85:80 -m
[root@mysql1 ~]# ipvsadm -a -t 20.0.0.114:80 -r 192.168.100.87:80 -m
##选项“-a“表示添加真实服务器,"-“用来指定VIP地址及TCP端口,“r"用来指定RIP地址及TCP端口,”-m"表示使用NAT群集模式,”-g"是DR模式,"-i"是TUN模式

4、保存lvs策略
[root@mysql1 ~]# ipvsadm-save > /opt/ipvsadm #注意“-”前面是没有空格的

#############查看策略有没有#############
[root@mysql1 ~]# cat /opt/ipvsadm
-A -t mysql1:http -s rr
-a -t mysql1:http -r promote.cache-dns.local:http -m -w 1 #注意"-w"用来设置权重(权重为0时表示暂停节点)
-a -t mysql1:http -r 192.168.100.87:http -m -w 1
#####################################

5、开启调度器服务路由转发功能
[root@mysql1 ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@mysql1 ~]# sysctl -p 查看有没有开启

二、在存储服务器192.168.100.86上设置

首先需要去 更改IP地址为所要的IP地址 这里不再多写
这里需要搭建的有yum源仓库 因为无法连接公网
[root@localhost ~]# rpm -q rpcbind #查出来有这个依赖包 无需再安装
rpcbind-0.2.0-47.el7.x86_64
[root@localhost ~]# yum -y install rpcbind #这一步可以不做
[root@localhost ~]# mkdir /opt/51xit /opt/52xit
[root@localhost ~]# cd /opt
[root@localhost opt]# ll
[root@localhost opt]# echo ‘this is www.51xit.top’ >/opt/51xit/index.html
[root@localhost opt]# echo ‘this is www.52xit.top’ >/opt/52xit/index.html
[root@localhost opt]# cat /opt/51xit/index.html
this is www.51xit.top
[root@localhost opt]# cat /opt/52xit/index.html
this is www.52xit.top
[root@localhost opt]# systemctl restart nfs rpcbind
[root@localhost opt]# showmount -e
Export list for localhost.localdomain:
[root@localhost opt]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@localhost opt]# systemctl enable rpcbind
[root@localhost opt]# showmount -e
Export list for localhost.localdomain:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24

三、WE1服务器

私有网络:192.168.100.85
我这里之前搭建了yum源仓库 因为做hma的时候把删除了 现在是这样的
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 40
drwxr-xr-x. 2 root root 187 Aug 6 23:52 backup
-rw-r–r-- 1 root root 1664 Sep 18 21:15 CentOS-Base.repo
-rw-r–r-- 1 root root 1309 Sep 18 21:15 CentOS-CR.repo
-rw-r–r-- 1 root root 649 Sep 18 21:15 CentOS-Debuginfo.repo
-rw-r–r-- 1 root root 314 Sep 18 21:15 CentOS-fasttrack.repo
-rw-r–r-- 1 root root 630 Sep 18 21:15 CentOS-Media.repo
-rw-r–r-- 1 root root 1331 Sep 18 21:15 CentOS-Sources.repo
-rw-r–r-- 1 root root 5701 Sep 18 21:15 CentOS-Vault.repo
-rw-r–r-- 1 root root 951 Oct 3 2017 epel.repo
-rw-r–r-- 1 root root 1050 Oct 3 2017 epel-testing.repo
将它恢复成这样就行了
[root@localhost yum.repos.d]# ll
total 4
drwxr-xr-x. 2 root root 187 Sep 16 06:28 backup
-rw-r–r--. 1 root root 116 Sep 16 06:32 local.repo
其中backup里面放的是镜像的文件
local.repo里面是这样的
[root@localhost yum.repos.d]# vi local.repo
[centos]
name=CentOS
baseurl=file:///mnt
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
######################################若是正常的不需要 管它。

1、在WE1上的配置

yum -y install nfs-utils ##图形界面自带 最小化装的时候必须装
showmount -e 192.168.100.86 #查看发布情况 若是没有发布去存储服务器发布 exportfs -rv
Export list for 192.168.100.86:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
yum -y install httpd
showmount -e 192.168.100.86:/opt/51xit /var/www/html/
vi /etc/fstab
192.168.100.86:/opt/51xit/ /var/www/html/ nfs defaults.netdev 0 0
systemctl start httpd
systemctl enable httpd

2、在WE上的配置

yum -y install nfs-utils ##图形界面自带 最小化装的时候必须装
showmount -e 192.168.100.86 #查看发布情况 若是没有发布去存储服务器发布 exportfs -rv
Export list for 192.168.100.86:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
yum -y install httpd
showmount -e 192.168.100.86:/opt/51xit /var/www/html/
vi /etc/fstab
192.168.100.86:/opt/52xit/ /var/www/html/ nfs defaults.netdev 0 0
systemctl start httpd
systemctl enable httpd

测试实验结果

1、首先在网页上看看192.168.100.85和192.168.100.87的域名有没有解析

在这里插入图片描述
发现解析都是成功的说明http 域名解析没有问题

2、测试负载均衡有没有 自动转换

在这里插入图片描述
在点击刷新 ,或清空缓存 从新输入 发现自动跳转 说明试验成功在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Laiyunpeng666/article/details/108711342