集群 | Linux+LBC NAT集群

LVSNAT模式负载均衡集群!

!!!警告!!!

  • 1 你可以自由转载,但请务必注明出处,写作不宜,请珍惜我的劳动成果 …
  • 2 技术应该被共享,你可以自由学习,但禁止用于任何的商业,以及各种私自盈利行为

NAT模式LVS负载均衡搭建.

🔧准备.

  • 🔧 3台计算机,或3台虚拟机.
  • 🔧 操作系统Debian10.
  • 🔧 安装类型,全部最小安装.

Debian10最小安装

博客中的实验环境.

名称虚拟化平台虚拟机系统
DSKVMDebian10
RS0KVMDebian10
RS1KVMDebian10

博客中虚拟机IP及主机名配置.

IP节点
10.43.0.29DS
10.43.0.58RS0
10.43.0.31RS1

配置RS0虚拟机.

RS0虚拟机配置

  • 配置DS0虚拟机网络.
#--RS0
cat << "EOF" >>/etc/network/interfaces
auto enp1s0
iface enp1s0 inet static
address 192.168.222.52
netmask 255.255.255.0
gateway 192.168.222.85          #此处的网关指向DIP
EOF
  • 重启网络.
systemctl daemon-reload && \
systemctl restart networking.service

配置RS1虚拟机.

  • 配置DS1虚拟机网络.

RS1虚拟机配置

#--RS0
cat << "EOF" >>/etc/network/interfaces
auto enp1s0
iface enp1s0 inet static
address 192.168.222.215
netmask 255.255.255.0
gateway 192.168.222.85          #此处的网关指向DIP
EOF
  • 重启网络.
systemctl daemon-reload && \
systemctl restart networking.service

配置DS虚拟机.(调度器)

DS虚拟机(调度器)网络配置.

#--RS0
cat << "EOF" >>/etc/network/interfaces
auto enp1s0
iface enp1s0 inet static
address 192.168.222.215
netmask 255.255.255.0
gateway 192.168.222.1
EOF
  • 重启网络.
systemctl daemon-reload && \
systemctl restart networking.service

DS调度器配置

1,配置DS虚拟机(调度器)LVS规则.

ipvsadm -C
ipvsadm -A -t 10.43.0.29:80 -s rr
ipvsadm -a -t 10.43.0.29:80 -r 192.168.222.52:80 -m -w 1
ipvsadm -a -t 10.43.0.29:80 -r 192.168.222.215:80 -m -w 1

开启路由转发,以及屏蔽icmp重定向.

  • 仅临时生效
echo '1' >/proc/sys/net/ipv4/conf/all/send_redirects
echo '1' >/proc/sys/net/ipv4/conf/default/send_redirects

编写LVS启动脚本.

  • 将此脚本加入PATH环境变量中,启动或停止LVS.
#!/usr/bin/env bash
case $1 in
    start)
        echo 1 >/proc/sys/net/ipv4/ip_forward
        echo '0' >/proc/sys/net/ipv4/conf/all/send_redirects
        echo '0' >/proc/sys/net/ipv4/conf/default/send_redirects

        for i in /sys/class/net/*; do
            if ! [[ `echo $i |cut -d / -f 5` == 'lo' ]]; then
                echo '0' >/proc/sys/net/ipv4/conf/$(echo $i |cut -d / -f 5)/send_redirects
                echo '0' >/proc/sys/net/ipv4/conf/$(echo $i |cut -d / -f 5)/send_redirects
            fi
        done

        ipvsadm -C
        ipvsadm -A -t 10.43.0.29:80 -s rr
        ipvsadm -a -t 10.43.0.29:80 -r 192.168.222.52:80 -m -w 1
        ipvsadm -a -t 10.43.0.29:80 -r 192.168.222.215:80 -m -w 1
        ;;
    stop)
        echo 0 >/proc/sys/net/ipv4/ip_forward
        echo '1' >/proc/sys/net/ipv4/conf/all/send_redirects
        echo '1' >/proc/sys/net/ipv4/conf/default/send_redirects

        for i in /sys/class/net/*; do
            if ! [[ `echo $i |cut -d / -f 5` == 'lo' ]]; then
                echo '0' >/proc/sys/net/ipv4/conf/$(echo $i |cut -d / -f 5)/send_redirects
                echo '0' >/proc/sys/net/ipv4/conf/$(echo $i |cut -d / -f 5)/send_redirects
            fi
        done

        ipvsadm -C
        ;;
esac

永久生效内核参数规则.

cat << "EOF" >>/etc/sysctl.conf
#--开启ip转发.
net.ipv4.ip_forward = 1

#--禁止ICMP重定向.
net.ipv4.conf.enp1s0.send_redirects=0
net.ipv4.conf.lo.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.send_redirects=0
EOF

永久生效的LVS规则.

  • 2,载入lvs规则.
/etc/init.d/ipvsadm load

开机子启动lvs规则.

  • 6,配置使用systemd启动LVS.
systectl start lvs.service

LVSNAT模式数据包请求流程.

  • 1,当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间
  • 2,PREROUTING 链首先会接收到用户请求,判断目标 IP 确定是本机 IP,将数据包发往 INPUT 链
  • 3,IPVS 是工作在 INPUT 链上的,当用户请求到达 INPUT 时,IPVS 会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时 IPVS 会强行修改数据包里的目标 IP 地址及端口,并将新的数据包发往 POSTROUTING 链
  • 4,POSTROUTING 链接收数据包后发现目标 IP 地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器

LVSNAT负载均衡模式配置要点.

  • 1,RS和DIP属于同一IP网络中网卡应该使用私网地址,且RS的网关要指向DIP.
  • 2,请求和响应报文都要经由director转发,极高负载的场景中,director可能会成为系统瓶颈.
  • 3,支持端口映射.
  • 4,RS可以使用任意操作系统(OS);
  • 5,DIR需要两块网卡(属于典型的lan/wan)RIP和Director的必须有一块网卡在同一IP网络.
  • 6,VIP需要配置在DIR接受客户端请求网卡上,且直接对外提供服务.

LVSNAT模式的优点以及缺点.

  • 👉缺点:在整个过程中,所有输入输出的流量都要经过 LVS 调度服务器.显然,LVS 调度服务器的网络 I/O 压力将会非常大,因此很容易成为瓶颈,特别是对于请求流量很小,而响应流量很大的 Web 类应用来说尤为如此.

  • 优点:NAT 模式的优点在于配置及管理简单,由于了使用 NAT 技术,LVS 调度器及应用服务器可以在不同网段中,网络架构更灵活,应用服务器只需要进行简单的网络设定即可加入集群.


   转载规则


《集群 | Linux+LBC NAT集群》Bad-BoY 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
集群 | Linux+LBC DR集群 集群 | Linux+LBC DR集群
LVSDR模式负载均衡集群!DR模式LVS负载均衡搭建.🔧准备.🔧 3台计算机,或3台虚拟机.🔧 操作系统Debian10.🔧 安装类型,全部最小安装.博客中的实验环境.物理系统Arch Linux虚拟化平台KVM虚拟机操作系统De
2021-10-10
下一篇 
集群 | Linux服务器+LBC集群简介 集群 | Linux服务器+LBC集群简介
LVS负载均衡集群!!!!警告!!!1 你可以自由转载,但请务必注明出处,写作不宜,请珍惜我的劳动成果 …2 技术应该被共享,你可以自由学习,但禁止用于任何的商业,以及各种私自盈利行为 …集群是什么?1,集群(cluster)技术是一种较新
2021-10-08
  目录