四七层结合多级负载

实现原理

lvs压力小,但是无法通过域名进行轮询,nginx压力大,但是可以通过域名进行轮询,如果都有需求,需要四七层负载结合

架构图

四七层结合多级负载

客户端进入lvs发送给nginx,nginx实现域名进行负载均衡分发给不同的主机

实验

四七层结合多级负载

其中apache服务中:
13:www.ljh.com1
14:www.ljh.com2
15:www.ljh.com3

所有机器都挂载阿里云:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache

永久关闭NetworkManager(10、11、12)
service NetworkManager stop
chkconfig NetworkManager off

构建三台apache(13、14、15)一起操作
yum -y install httpd
配置不同的网页初始界面
13:echo "www.ljh.com1" > /var/www/html/index.html
14:echo "www.ljh.com2" > /var/www/html/index.html
15:echo "www.ljh.cn" > /var/www/html/index.html
service httpd start
curl localhost

四七层结合多级负载

安装2台nginx(11、12)
yum -y install nginx
vim /etc/nginx/nginx.conf
具体思路:通过2个upstream使用不同的域名主机调用

四七层结合多级负载

nginx -t

四七层结合多级负载

nginx

四七层结合多级负载

修改hosts文件

四七层结合多级负载

测试轮询(11)

四七层结合多级负载
四七层结合多级负载
四七层结合多级负载

配置lvs-DR(10)
配置网关
cd /etc/sysconfig/network-scripts/
cp -a ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0

四七层结合多级负载

ifup ens33:0

关闭网卡重定向功能
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p

四七层结合多级负载

命令行管理
modprobe ip_vs
lsmod | grep ip_vs

四七层结合多级负载

yum -y install ipvsadm.x86_64

创建集群
ipvsadm -A -t 192.168.10.10:80 -s rr
ipvsadm -a -t 192.168.10.10:80 -r 192.168.1.11:80 -g
ipvsadm -a -t 192.168.10.10:80 -r 192.168.1.12:80 -g

ipvsadm --set 1 2 1

ipvsadm -Ln

四七层结合多级负载

ipvsadm --save >> /etc/sysconfig/ipvsadm

配置lvs真实节点(11、12)
cd /etc/sysconfig/network-scripts/
cp -a ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

四七层结合多级负载

修改内核参数,关闭arp响应级别和宣告模式(通讯行为)
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

sysctl -p

ifup lo:0
ifconfig

四七层结合多级负载

添加路由记录,并写入到开机自启中
route add -host 192.168.10.100 dev lo:0
echo "route add -host 192.168.10.100 dev lo:0" >> /etc/rc.local
chmod +x /etc/rc.local

修改hosts文件设置为VIP

四七层结合多级负载

测试:

四七层结合多级负载
四七层结合多级负载
四七层结合多级负载

发布者:LJH,转发请注明出处:https://www.ljh.cool/6182.html

(0)
上一篇 2022年9月1日 下午1:55
下一篇 2022年9月6日 下午7:14

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注