四七层负载均衡调度结合搭建实验

四七层负载均衡调度结合搭建实验

前言

本文重点在于搭建四层负载调度以及七层负载调度结合的实验,主旨是让其负载调度的概念理解更加深刻,真实生产环境中,大型枕垫会使四层负载调度与七层负载调度结合使用,所以本文前面会简单介绍四层与七层的区别,如有错误或者遗漏的地方,欢迎大家指正批评,谢谢。

基本理论说明

区别:

四层:基于ip+端口的负载均衡

七层:基于以你应用层(url)信息的负载均衡

优缺点:

四层:

四层更快:在内核空间处理,不用走用户空间。需要解析的更少

七层:

七层功能更多:经内核空间,进入用户控件的应用进程进行转发。可以实现更复杂的负载均衡控制,比如基于url、session、动静分离等。会占用大量cpu时间,承载的并发较四层少

应用场景:

四层适合大型站点,接入层最前端,结合四层+七层使用。

七层适合中小站点,只使用七层负载均衡。

实验步骤

实验目的:搭建四层与七层的负载调度集群。

实验准备:7台C6标准虚拟机(selinux已关闭)

实验规划:

服务器角色 简称 IP地址
LVS负载调度 D 192.168.10.10 集群IP:192.168.10.100
Nginx负载调度 N1 192.168.10.11
Nginx负载调度 N2 192.168.10.12
真实服务器1 RS1 192.168.10.13
真实服务器2 RS2 192.168.10.14
真实服务器3 RS3 192.168.10.15
真实服务器4 RS4 192.168.10.16

实验拓扑图

四七层负载均衡调度结合搭建实验_第1张图片

一、配置真实服务器

配置apache服务,向网页中填写不同内容。

yum install -y httpd
echo "www.daqiang.com" >> /var/www/html/index.html
service httpd restart
curl localhost

真实服务器配置如上,不同真实服务器最好配置不同网页内容方便区分。

二、配置Nginx负载调度

1.安装源码Nginx

安装编译语言以及依赖关系

yum -y install gcc gcc-c++ lrzsz zlib zlib-devel pcre pcre-devel 

准备安装包,解压编译安装。

tar -zxvf nginx-1.13.8.tar.gz
tar -zxvf openssl-1.0.2h.tar.gz

cd nginx-1.13.8/

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module  --with-openssl=/root/openssl-1.0.2h  --with-stream

make && make install

useradd -s /sbin/nologin -M nginx

2.配置Nginx负载高可用

vim /usr/local/nginx/conf/nginx.conf

在http区域添加负载区域区域
# www.daqiang.com
    upstream www {
        server 192.168.10.13:80;
        server 192.168.10.14:80;
    }

# mail.daqiang.com
    upstream mail {
        server 192.168.10.15:80;
        server 192.168.10.16:80;
    }

在http区域添加虚拟主机并配置反向代理

# www.daqiang.com
    server {
        listen       80;
        server_name  www.daqiang.com;

        location / {
            proxy_pass http://www;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

# mail.daqiang.com
        server {
        listen       80;
        server_name  mail.daqiang.com;

        location / {
            proxy_pass http://mail;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


}

配置完毕,检查配置文件,准备访问测试。

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx

在本地添加以上域名

C:\Windows\System32\drivers\etc\hosts

浏览器进行访问测试。

http://www.daqiang.com/

四七层负载均衡调度结合搭建实验_第2张图片

点击刷新

四七层负载均衡调度结合搭建实验_第3张图片

再进行mail域名访问

四七层负载均衡调度结合搭建实验_第4张图片

点击刷新

四七层负载均衡调度结合搭建实验_第5张图片

Nginx负载高可用区域构建完毕,节省搭建时间,将N1的Nginx目录发至N2对应目录中即可。

scp -r /usr/local/nginx [email protected]:/usr/local/

PS:记得创建运行用户和修改hosts文件。

3.配置网卡

关闭网卡守护服务,此服务会与 network服务冲突。

service NetworkManager stop
chkconfig NetworkManager off

配置回环子接口

cd /etc/sysconfig/network-scripts/
cp -a ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

修改网卡名称、IP地址、子网掩码。

DEVICE=lo:0
IPADDR=192.168.10.100
NETMASK=255.255.255.255

保存网卡信息,修改内核参数,声明arp行为。

vim /etc/sysctl.conf

#LVS_DR lo ARP
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 ifcfg-lo:0

添加路由规则,并使其开机自启。

route add -host 192.168.10.100 dev lo:0
route -n
echo "/sbin/route add -host 192.168.10.100 dev lo:0" >> /etc/rc.local

四七层负载均衡调度结合搭建实验_第6张图片

两台网卡如上配置即可

三、配置LVS负载调度器

关闭网卡守护服务,此服务会与 network服务冲突。

service NetworkManager stop
chkconfig NetworkManager off

配置负载集群访问IP(漂移IP)

cd /etc/sysconfig/network-scripts/
cp -a ifcfg-eth0 ifcfg-eth0:0
vim ifcfg-eth0:0

修改网卡名称与IP地址,删除uuid与mac地址。

四七层负载均衡调度结合搭建实验_第7张图片

保存退出,启动该网卡

ifup eth0:0

修改内核参数,关闭网卡重定向功能,刷新内核参数。

vim /etc/sysctl.conf

#LVS_DR
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

sysctl -p

加载LVS模块,下载命令行管理工具。

modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

添加并保存调度规则。

ipvsadm -A -t 192.168.10.100:80 -s rr
ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.11:80 -g
ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.12:80 -g
service ipvsadm save
chkconfig ipvsadm on
ipvsadm -Ln --stats

四七层负载均衡调度结合搭建实验_第8张图片

四、访问测试

编辑本机hosts文件

C:\Windows\System32\drivers\etc\hosts

添加集群IP以及对应域名

浏览器开启无痕模式进行访问测试

http://www.daqiang.com/

四七层负载均衡调度结合搭建实验_第9张图片

点击刷新

四七层负载均衡调度结合搭建实验_第10张图片

http://mail.daqiang.com/

四七层负载均衡调度结合搭建实验_第11张图片

点击刷新

四七层负载均衡调度结合搭建实验_第12张图片

成功访问,返回LVS调度器查看访问记录。

ipvsadm -Ln --stats

四七层负载均衡调度结合搭建实验_第13张图片

本文于2020年11月15日由Vonmerlot整理成文。

你可能感兴趣的:(linux集群化,nginx,运维,lvs,linux,负载均衡)