centos7lvs环境搭建

centos7lvs环境搭建    使用vm虚拟机
准备:3台虚拟机
一台作为lvs的主机(负载均衡服务器)
另外两台作为真实服务器
lvs主机需要做的事
配置网卡:
第一步:首先ifconfig查看网卡信息,并配置一块虚拟网卡,供访问
命令:ifconfig会显示如下图红框圈中的内容,ens33:8 是我给这该主机配置的一块新的网卡,这块网卡可以被虚拟机的网络访问到
添加网卡的命令 ifconfig ens33:8  192.168.59.100/24  我的虚拟网络是192.168.59.0这个网段,大家可以根据自己的情况去配置,其中192.168.59.100就是vip
第二步:配置lvs
    yum install ipvsadm  安装ipvsadm
    ipvsadm -A  -t  192.168.59.100:80  -s rr  配置服务模式rr代表的是轮循模式
    ipvsadm -a  -t 192.168.59.100:80  -r  192.168.150.135 -g -w 1    
    ipvsadm -a  -t 192.168.59.100:80  -r  192.168.150.136 -g -w 1
把两台真实服务器提供给lvs,我这里两台真实服务器的地址是135和136,大家配置可以根据自己真实服务器的ip地址去配置
    ipvsadm -ln //可以查看配置的情况,如下图便配置完毕
 
真实服务器需要做的事:
第一步:修改通告级别
以下为两个配置文件参数代表含义
arp_ignore:
定义接收到ARP请求时的响应级别
0:只要本地配置有相应的地址就给予回应
1:仅在请求的目标MAC地址配置请求到达的接口上的时候给予回应
arp_announce:定义将自己地址向外通告的通告级别
0:将本地任何接口上的任何地址向外通告
1.试图仅向目标网络通告与其网络匹配的地址
2.仅向本地接口上地址匹配的网络进行通告
 
实操修改
注:不能使用vim去修改参数,必须使用echo重定向去修改,修改之后立马生效
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
第二步:新增网卡
新增网卡放在环卫网卡上,实现隐藏vip 把192.168.59.100配置给真实服务器用于数据传递时的接受。
原理:所有的数据包都是传递给lv服务器的,所有数据包的目标地址就是vip,在这里就是192.168.59.100,如果我们不配置该虚拟网卡,当135/136的服务器接受到lvs传过来的数据包,他会和自己路由表中的掩码作与运算找不到合适的路由条目,数据包就会被丢弃,如图圈中的就是我们要配置的网卡
配置命令:ifconfig lo:3 192.168.50.100 netmask 255.255.255.255
注:这里必须是4个255,不然同一网段的下的网络也能通过该路由条目访问到
第三步:安装httpd用于显示信息
注:centos7中启动和关闭服务是使用 systemctl start /systemctl stop,且需要先关闭防火墙systemctl stop firewalld. 
yum install httpd 安装
systemctl start httpd启动服务
vim /var/www/html/index.html 新增网页信息
填入信息:真实服务器1   用于区别不同的服务器
 
然后用我们电脑本身的浏览器去访问192.168.59.100就能看真实服务器1这样的信息(你填写的信息)
注:一般情况下按f5会在不同的真实服务器来回负载,但是也会出现一直刷新一直不变得情况,这是因为如下情况:
先使用 netstat -lnc查看  出现如下的状态信息
ESTABLISHED状态
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
这是因为http 1.1 默认开启了keepAlive on找到配置文件修改为 keepAlive off
命令:vim /etc/httpd/conf/httpd.conf 找个空白处增加  keepAlive off,保存重启服务器 systemctl reastart httpd
就可以再去按f5刷新,就会在不同的服务器之间来回切换了
posted @ 2021-05-16 23:21  七七负柒柒  阅读(822)  评论(0)    收藏  举报